<library attribute specifications>
┌◄─────────────────────────── , ──────────────────────────┐
──┴─┬─<string or pointer library attribute specification>─┬─┴──────────┤
├─<arithmetic library attribute specification>────────┤
├─<Boolean library attribute specification>───────────┤
└─<procedure library attribute specification>─────────┘<string or pointer library attribute specification>
──<string- or pointer-valued library attribute name>── = ──────────────► ►─<EBCDIC string literal>──────────────────────────────────────────────┤
<string- or pointer-valued library attribute name>
──┬─ FUNCTIONNAME ──┬──────────────────────────────────────────────────┤ ├─ INTERFACENAME ─┤ ├─ INTNAME ───────┤ ├─ LIBPARAMETER ──┤ └─ TITLE ─────────┘
<arithmetic library attribute specification>
──<arithmetic-valued library attribute name>── = ──────────────────────► ►─┬─<constant arithmetic expression>───┬───────────────────────────────┤ └─<mnemonic library attribute value>─┘
<arithmetic-valued library attribute name>
──┬─ CLUSAGE ─────┬────────────────────────────────────────────────────┤ ├─ CONNECTIONS ─┤ ├─ LIBACCESS ───┤ └─ STATE ───────┘
<mnemonic library attribute value>
──┬─ BYFUNCTION ──┬────────────────────────────────────────────────────┤ ├─ BYTITLE ─────┤ └─ BYINITIATOR ─┘
<Boolean library attribute specification>
──<Boolean-valued library attribute name>──────────────────────────────► ►─┬────────────────────────────────────┬───────────────────────────────┤ └─ = ──<constant Boolean expression>─┘
<Boolean-valued library attribute name>
── AUTOLINK ───────────────────────────────────────────────────────────┤
<procedure library attribute specification>
──<procedure-valued library attribute name>── = ───────────────────────► ►─<procedure identifier>───────────────────────────────────────────────┤
<procedure-valued library attribute name>
──┬─ CHANGE ───┬───────────────────────────────────────────────────────┤ └─ APPROVAL ─┘
<library object declaration list>
┌◄───────────────────────────── ; ─────────────────────────────┐
── [ ─┴─<library object declaration>─┬─────────────────────────────┬─┴─►
└─<library object attributes>─┘
►─ ] ──────────────────────────────────────────────────────────────────┤<library object declaration>
──<procedure reference array declaration>──────────────────────────────┤
<library object attributes>
── ( ── ACTUALNAME ── = ──<EBCDIC string literal>── ) ─────────────────┤
The FUNCTIONNAME attribute specifies the system function name used to find the object code file for the library. For example, GENERALSUPPORT is a system library function name.
The INTERFACENAME attribute is used to identify a particular connection library within a program.
When a value is assigned to the TITLE attribute, the EBCDIC string literal must be a properly formed file title as defined in the Work Flow Language (WFL) Programming Reference Manual, and must have a period (.) as its last nonblank character within the quotation marks.
When a value is assigned to the INTNAME attribute, the EBCDIC string literal can have leading blanks and must have a period as its last character. The sequence of characters beginning with the first nonblank character up to, but not including, the next blank or period constitutes the INTNAME and must be a valid identifier. A valid identifier is defined to be any sequence of characters beginning with an uppercase letter and consisting of letters, digits, hyphens (-), and underscores (_). Blanks can be present between the INTNAME and the period.
Specification of the TITLE and INTNAME attributes is optional; by default, the library identifier being declared is used for the TITLE and INTNAME. If the INTNAME is given and the TITLE is not, the INTNAME is also used for the TITLE.
The EBCDIC string literal assigned to the LIBPARAMETER attribute is used as a parameter to a selection procedure during dynamic library linkage.
For information on LIBACCESS, see Library Facility.
For LIBRARY declarations, only the CHANGE <procedure-valued library attribute name> can be specified.
A PROCEDURE REFERENCE ARRAY declaration that appears in a LIBRARY declaration can be either the local or the global form of the declaration; that is, either NULL or EXTERNAL can appear at the end of the declaration. However, only the lower bound is required. If an upper bound is given, it is ignored. The procedure reference array is said to be imported from the library.
The handling of a procedure reference array that is declared to be a library object is comparable to the handling of a procedure that is declared to be a library entry point. For more information, see PROCEDURE Declaration.
For more information on library attributes, see the Task Management Programming Guide.

