This appendix summarises the definitions and files which should normally form part of a Starlink subroutine library, indicating which features form a mandatory part of the library naming conventions and which are optional.
Definitions such as the following will normally be required in SSC:STARTUP.COM (the Starlink system startup file6):
These logical name definitions are mandatory, except that if either image file does not exist, then the corresponding logical name should be left undefined. Any existing logical name definitions for the same files may remain in place.
The image files must reside in the library directory and the file names given above are a recommendation for future use.
A definition such as the following will normally be required in SSC:LOGIN.COM (the Starlink login file6):
This global symbol definition is mandatory unless the library is installed in a form which does not permit software development, in which case it should be left undefined. Existing symbol definitions for the same purpose may remain in place. If the value “NOLOG” is supplied as the first parameter of the startup procedure, then any informational messages must be suppressed. Such messages are otherwise optional.
The library startup file must reside in the library directory and the name given above is a recommendation for future use.
Definitions such as the following will normally be required in the library startup file which is executed by the $LIB_DEV command:
These logical name definitions are mandatory, except that if any of the files do not exist, then the corresponding name should be left undefined. Existing logical name definitions for the same files may remain in place.
The files must reside in the library directory and the names given above are a recommendation for future use.
The following is an overall summary of the files which a library may need to provide and the logical names or symbols to be used to refer to them:
File/Directory | Purpose | Name/Symbol | Defined in... |
<disk>:<directory> | Library directory | LIBRARY_DIR | SSC:STARTUP.COM |
LIB_IMAGE.EXE | Stand-alone shareable image | LIB_IMAGE | SSC:STARTUP.COM |
LIB_IMAGE_ADAM.EXE | ADAM shareable image | LIB_IMAGE_ADAM | SSC:STARTUP.COM |
LIB_DEV.COM | Library startup file | LIB_DEV | SSC:LOGIN.COM |
LIB_LINK.OPT | Stand-alone link options file | LIB_LINK | LIBRARY_DIR:LIB_DEV.COM |
LIB_LINK_ADAM.OPT | ADAM link options file | LIB_LINK_ADAM | LIBRARY_DIR:LIB_DEV.COM |
LIB_ERR.FOR | Error codes (include file) | LIB_ERR | LIBRARY_DIR:LIB_DEV.COM |
LIB_PAR.FOR | Other constants (include file) | LIB_PAR | LIBRARY_DIR:LIB_DEV.COM |
LIB_?????.FOR | Any other include files | LIB_????? | LIBRARY_DIR:LIB_DEV.COM |
6Note, however, that Starlink software items which are considered “optional” have their startup commands placed in a local version of the Starlink STARTUP.COM and LOGIN.COM files which reside in the LSSC: directory.