You can use the SL (Support Library) system command to assign any of several security-related attributes to an SL function name. These attributes affect any library that is initiated by function with the specified function name.
These attributes should not be confused with the general library attributes discussed under Using Library Attributes.
Attribute Descriptions
The following are the support library attributes and their meanings:
-
Specifies the linkage class for the library. The linkage class restricts the classes of programs allowed to import objects from that library. Refer to Using Linkage Classes.
-
If set, then only operating system processes can initiate a library by linking to the library by function.
Nonoperating system processes can still cause library initiation by linking to the library by title, or can initiate the library program with a task initiation statement such as CALL, PROCESS, or RUN. However, when a system library is initiated in any of these ways, the system library does not receive the privileges normally granted to system libraries.
MCPINIT affects only library initiation. If the library has already been initiated by function, then the LINKCLASS and TRUSTED attributes determine whether a given client can link to the library instance by function.
-
If set, only one version of the library code file is frozen as a BYFUNCTION library at any one time.
-
If set, the library code file is made a nonremovable system file when initiated or marked as a support library by an SL command.
-
If set, the library can specify a different linkage class for each export object. Refer to Using Linkage Classes.
Attributes Preset by the Operating System
Note that some system libraries have selected library attributes assigned to them automatically by the operating system. You can use the SL command to set any Boolean attribute of a system library. However, if the operating system has already set a Boolean attribute, you cannot use the SL command to reset that attribute. The Boolean attributes are MCPINIT, ONEONLY, SYSTEMFILE, and TRUSTED.
Changing a Preset LINKCLASS
If the LINKCLASS value of a system library is set by the operating system, then you can use an SL command to change the LINKCLASS only to values that are able to link to the system-defined LINKCLASS. For example, you can use an SL command to change the LINKCLASS from 2 to 1, but not from 2 to 3.
Error for Incorrect Attribute Assignments
If an SL command assigns attributes to a system library that violate the preceding rules, the system displays the error message “LIBRARY ATTRIBUTES NOT CHANGEABLE.”

