Using Library Attributes

Library attributes specify properties of a particular library.

Server Libraries and Client Libraries

For server libraries, most attributes are specified in the client program. Such attributes can be included in the library declaration, or assigned to the library identifier later in the client program. However, the CHANGE attribute of a library is specified either in the client program, in an EXPORTLIBRARY statement in the server library program, or both.

Connection Libraries

For connection libraries, most attributes can be assigned in either or both of the programs joined by a connection. The attributes can be assigned in the connection library declaration, or assigned to the library identifier later in the program. The STATE attribute is unique in that it applies to a single connection rather than to an entire connection library.

Properties

The following pages describe all the library attributes. For each attribute, the following properties are described:

  • Kind

    This property indicates the type of library to which the attribute applies.

    For library attributes that control library linkage, the Kind value indicates the library declaration to which the attribute is assigned, rather than the matching library that is being linked to.

    One or more of the following Kind values are listed for each library attribute:

    • Client Libraries. This value indicates library attributes that are used within the client program. For example, the FUNCTIONNAME attribute can be assigned to a client library to indicate the library program being linked to.

    • Server Libraries. This value indicates library attributes that are specified for a server library inside the server library program itself. For example, an ALGOL server library program can use the EXPORTLIBRARY statement to assign a CHANGE attribute to the server library.

    • Connection Libraries. This value indicates library attributes read or assigned to a connection library by the connection library program.

    • Single Connections. This value indicates library attributes that apply to a single connection of a connection library.

  • Type

    This property indicates what type of object can be assigned to the attribute, or what type of object the attribute value can be read into. Examples are integer, Boolean, EBCDIC string, procedure, and mnemonic. Mnemonics are numeric values that can be represented in a program by the VALUE function and a mnemonic identifier. Note that attribute types of EBCDIC string are pointer expressions in NEWP, but can be either pointer expressions or true EBCDIC strings in ALGOL.

  • Read

    This property indicates whether, and when, the value of the attribute can be read.

  • Write

    This property indicates whether, and when, the value of the attribute can be written.

    • While not linked. The attribute can be written only before library linkage or after library delinkage. Most library attributes, if writeable, fall into this category.

    • While not ready. The attribute can be written only before the library is readied by a READYCL statement or after the library is unreadied by an UNREADYCL statement.

    • Anytime. The attribute can be written even while the library is linked.

  • Default

    This property indicates the default value, if any.

These property descriptions are followed by one or more of the following headings:

  • Explanation

    Text under this heading explains the basic function of the attribute. For attributes that apply to both server libraries and connection libraries, this text explains only the features that are common to both types of libraries.

  • Client Libraries

    For attributes that apply to both client libraries and connection libraries, this text explains features that apply only to client libraries.

  • Server Libraries

    For attributes that apply to both server libraries and connection libraries, this text explains features that apply only to server libraries.

  • Connection Libraries

    For attributes that apply to both server libraries and connection libraries, this text explains features that apply only to connection libraries.

  • COBOL74 Considerations

    This text explains features that apply only to COBOL74 libraries. Note that such features do not apply to COBOL85 libraries.

Note: The library attributes described in the following pages are those that are applicable to a client program, server library program, or connection library program. Libraries can have additional, security-related attributes that are assigned by the operating system or by an SL (Support Library) system command. For descriptions of those attributes, refer to Security Considerations for Libraries later in this section.