1 Include_files
 SYS$LIBRARY: contains several FORTRAN (.FOR), PASCAL (.PAS) and
 VAX-11 C (.H) files which contain statements defining constants
 (usually) for use with FORTRAN INCLUDE, PASCAL %INCLUDE or VAX-11
 C #include statements.  Additional, locally created files can be
 found in FERMI$LIB_INC:.

 In addition, the text libraries (.TLB types) FORSYSDEF, LCLFORDEF,
 CSYSDEF and LCLCDEF in SYS$LIBRARY: (for the ...SYS... libraries)
 and FERMI$LIB: (for the LCL... text libraries) contain all the
 include sources along with additional modules for use with VAX-11
 FORTRAN or C.

 These directories also contain several PASCAL environment files
 (.PEN file type) and their sources (.PAS file types).  These files
 include STARLET for VAX/VMS definitions and system services found
 in SYS$LIBRARY:.

2 C
 The C versions of the include files all have the file type of .H.
 Most C include source is contained in the two separate text libraries
 CSYSDEF.TLB and LCLCDEF.TLB.  Modules in CSYSDEF can be accessed with
 with statements of the form

	#include  module_name

 If the logical name C$LIBRARY is defined as "FERMI$LIB:LCLCDEF.TLB"
 or if "+FERMI$LIB:LCLCDEF/LIBRARY" is included in the CC command
 line then the above statement will also extract modules from the
 LCLCDEF library.

 The sources for many of the include source modules in the LCLCDEF
 text library can be found in FERMI$LIB_INC: as separate files with
 file types of .H.  Those modules in CSYSDEF are represented by .H
 files in SYS$LIBRARY: (as are a couple of the LCLCDEF modules).

2 FORTRAN
 The FORTRAN versions of the few files all have the file type of .FOR.
 Most FORTRAN INCLUDE source is contained in two separate text libraries
 and is used with statements of the form (with FORTRAN V3.0):

	INCLUDE  'SYS$LIBRARY:library_name(module_name)'
	INCLUDE  'FERMI$LIB:library_name(module_name)'

 The sources for many of the INCLUDE source modules in the LCLFORDEF
 text library can be found in FERMI$LIB_INC: as separate files with
 file types of .FOR.  A few .FOR files in SYS$LIBRARY: are described
 in the "FOR_files" topic.

2 FOR_Files
 The following are the FORTRAN INCLUDE files available in SYS$LIBRARY:.
 All these files have file types of .FOR except as noted.
3 DAB
 The file DAB.INC contains the VAX-11 Datatrieve Call Interface
 definitions of constants and data structures.

 Also available in FERMI$LIB:LCLFORDEF.TLB as module DTR_CALL_DEF.
3 FDVDEF
 Defines the FMS-11 Form Driver completion codes (FDV$_... symbols) and
 the Form Driver field terminator codes (FDV$K_... symbols).

 Also available in FERMI$LIB:LCLFORDEF.TLB as module FDVDEF.
3 FORDEF
 Defines the FORTRAN completion status codes (32-bit longwords) for
 FORTRAN I/O errors (FOR$_... symbols).

 Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $FORDEF.
3 FORIOSDEF
 Defines the FORTRAN error numbers for use with IOSTAT and ERRSNS as
 the FOR$IOS_... symbols.

 Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $FORIOSDEF.
3 LIBDEF
 Defines symbols for the error status codes (LIB$_... symbols) returned
 from LIB$ routines.

 Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $LIBDEF.
3 MTHDEF
 Definitions of the MTH$_... error status code symbols signaled by
 the MTH$ routines.

 Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $MTHDEF.
3 XFDEF
 Defines I/O function codes and option bits for use with the DR780
 microprogrammed high speed data channel.

 Also available in SYS$LIBRARY:FORSYSDEF.TLB as module $XFDEF.
2 PASCAL
 The PASCAL versions of include files have the file type of .PAS (as
 do the sources for PASCAL environment files).  Some PASCAL files
 are found in SYS$LIBRARY: (see the "PAS_files" topic) and others
 can be found in FERMI$LIB_INC:.  

 Several PASCAL environments (file types .PEN) are to be found in
 SYS$LIBRARY: and FERMI$LIB.  These are described in their own
 subtopics and include:

     FDVDEF    definitions for the VAX-11 FMS Forms Drivers
     STARLET   definitions of VAX/VMS system services, RMS calls and
               various data structures and constants

2 FDVDEF
 The file SYS$LIBRARY:FDVDEF.PEN (source file has type .PAS) is a
 PASCAL environment file for the VAX-11 FMS Forms Driver.  It defines
 many of the constants used with FMS include the FMS status codes.
 It also defines the FMS routines as ASYNCHRONOUS functions returning
 integers.  Refer to the documentation for further information.

2 PAS_Files
 The following are the PASCAL %INCLUDE files available in SYS$LIBRARY:
 or in FERMI$LIB_INC:.

 All these files have file types of .PAS.  Unless otherwise stated, the
 files define constants and are to be included in a CONST section.
3 LIBDEF
  File SYS$LIBRARY:LIBDEF.PAS.

 Defines symbols for the error status codes (LIB$_... symbols) returned
 from LIB$ routines.
3 MTHDEF
  File SYS$LIBRARY:MTHDEF.PAS.

 Definitions of the MTH$_... error status code symbols signaled by
 the MTH$ routines.
3 PASDEF
  File SYS$LIBRARY:PASDEF.PAS.

 Defines constants for the PASCAL Run-Time and I/O error message status
 codes.
3 PASSTATUS
  File SYS$LIBRARY:PASSTATUS.PAS.

 Defines the PAS$K_... contants giving the codes returned by the
 STATUS function.
3 SIGDEF
  File SYS$LIBRARY:SIGDEF.PAS.

 Defines some SS$_... symbols for use in condition handlers.

2 CSYSDEF
 The text library SYS$LIBRARY:CSYSDEF.TLB contains VAX-11 C #include
 modules distributed by DEC with VAX-11C.  All of these modules are
 also to be found as individual (.H) files in SYS$LIBRARY:.

 The modules currently contained in this library are:

3 ACCDEF
  Module (ACCDEF) of SYS$LIBRARY:CSYSDEF.TLB and file ACCDEF.H.

 Defines Accounting File Record constants and structure (struct
 acc$record).  The fields of the structure have the same names as the
 offsets in the VAX/VMS documentation.  The fields which depend on
 the record type (following acc$t_username) are defined by the union
 "acc$data" first with the "acc$t_user_data" field and the structure
 "acc$job_info_structure" as members.  The acc$job_info_structure
 member has the "acc$l_cputim" field and "acc$job_info_union" as
 members.  Finally the acc$job_info_union has two structures as its
 members: "acc$process_structure" and "acc$printer_structure".
3 CHFDEF
  Module (CHFDEF) of SYS$LIBRARY:CSYSDEF.TLB and file CHFDEF.H.

 Defines structures for Condition Handlers:

  chf$arglist       condition handler argument list with pointers to:

  chf$signal_array  signal array with fields chf$l_sig_args,
                    chf$l_sig_name and chf$l_sig_arg1.

  chf$mech_array    mechanism array with fields chf$l_mch_args,
                    chf$l_mch_frame, chf$l_mch_depth, chf$l_mch_savr0,
                    chf$l_mch_savr1.  Where chf$l_mch_frame is a
                    pointer to a stack frame (struct sf$frame).

3 CTYPE
  Module (CTYPE) SYS$LIBRARY:CSYSDEF.TLB and file CTYPE.H.

 Defines the Character Type Classification Macros (such as
 isupper(c), etc.).  See the VAX-11C documentation for details.

3 DCDEF
  Module (DCDEF) of SYS$LIBRARY:CSYSDEF.TLB and file DCDEF.H.

 Defines symbolic names for the Device Class and Type Code definitions.
 This is produced from the $DCDEF system macro.

3 DESCRIP
 Module (DESCRIP) of SYS$LIBRARY:CSYSDEF.TLB and file DESCRIP.H.

 This module defines types, macros and constants associated with VMS
 Descriptors.

4 Class_codes
 The following constants are defined for dsc$b_class codes:

    DSC$K_CLASS_S     scalar or string descriptor
    DSC$K_CLASS_D     dynamic string descriptor
    DSC$K_CLASS_A     array descriptor
    DSC$K_CLASS_P     procedure descriptor
    DSC$K_CLASS_SD    decimal scalar string descriptor
    DSC$K_CLASS_NCA   noncontiguous array descriptor
    DSC$K_CLASS_VS    varying string descriptor
    DSC$K_CLASS_VSA   varying string array descriptor
    DSC$K_CLASS_UBS   unaligned bit string descriptor
    DSC$K_CLASS_UBA   unaligned bit array descriptor

4 Atomic_types
 The following constants are defined for dsc$b_dtype codes which
 describe atomic data types:

    DSC$K_DTYPE_Z     unspecified
    DSC$K_DTYPE_BU    byte logical: 8-bit unsigned quantity
    DSC$K_DTYPE_WU    word logical: 16-bit unsigned quantity
    DSC$K_DTYPE_LU    longword logical: 32-bit unsigned
    DSC$K_DTYPE_QU    quadword logical: 64-bit unsigned
    DSC$K_DTYPE_OU    octaword logical: 128-bit unsigned
    DSC$K_DTYPE_B     byte integer: 8-bit signed integer
    DSC$K_DTYPE_W     word integer: 16-bit signed integer
    DSC$K_DTYPE_L     longword integer: 32-bit signed
    DSC$K_DTYPE_Q     quadword integer: 64-bit signed
    DSC$K_DTYPE_O     octaword integer: 128-bit signed
    DSC$K_DTYPE_F     F_Floating: 32-bit single-precision floating
    DSC$K_DTYPE_D     D_Floating: 64-bit double-precision floating
    DSC$K_DTYPE_G     G_Floating: 32-bit single precision floating
    DSC$K_DTYPE_H     H_Floating: 128-bit quadruple-precision
    DSC$K_DTYPE_FC    F_Floating complex
    DSC$K_DTYPE_DC    D_Floating complex
    DSC$K_DTYPE_GC    G_Floating complex
    DSC$K_DTYPE_HC    H_Floating complex
    DSC$K_DTYPE_CIT   COBOL Intermediate Temporary

4 Misc_types
 The following constants are defined for dsc$b_dtype codes which
 describe miscellaneous data types:

    DSC$K_DTYPE_ZI    sequence of instructions
    DSC$K_DTYPE_ZEM   procedure entry mask
    DSC$K_DTYPE_DSC   descriptor
    DSC$K_DTYPE_BPV   bound procedure value
    DSC$K_DTYPE_BLV   bound label value
    DSC$K_DTYPE_ADT   absolute date and time

4 String_types
 The following constants are defined for dsc$b_dtype codes which
 describe string data types:

    DSC$K_DTYPE_T     character-coded text string
    DSC$K_DTYPE_VT    varying character-coded text (count with string)   
    DSC$K_DTYPE_NU    numeric string, unsigned
    DSC$K_DTYPE_NL    numeric string, left separate sign
    DSC$K_DTYPE_NLO   numeric string, left overpunched sign
    DSC$K_DTYPE_NR    numeric string, right separate sign
    DSC$K_DTYPE_NRO   numeric string, right overpunched sign
    DSC$K_DTYPE_NZ    numeric string, zoned sign
    DSC$K_DTYPE_P     packed decimal string
    DSC$K_DTYPE_V     aligned bit string
    DSC$K_DTYPE_VU    unaligned (arbitrary) bit string

4 Macros
 The following macros are defined:

  $DESCRIPTOR(name,string)    string descriptor for a NUL terminated
                              char array (string).  Length is set to
                              size of array minus 1.

4 Structures
 The following struct's are defined (fields are named as given in
 the VAX-11 Architecture Handbook):

  dsc$descriptor      general descriptor
  dsc$descriptor_s    scalar string descriptor (text/bits/digits)
  dsc$descriptor_d    dynamic string descriptor (text/bits/digits)
  dsc$descriptor_a    array descriptor (text/bits/digits)
                      (dsc$b_aflags is a sub-structure for the
                      byte of bit flags)
  dsc$descriptor_p    procedure descriptor
  dsc$descriptor_sd   decimal scalar string descriptor
  dsc$descriptor_nca  non-contiguous array descriptor similar to
                      "_a" (including dsc$b_aflags sub-struct)
  dsc$descriptor_vs   varying string descriptor
  dsc$descriptor_vsa  varying string array descriptor (also
                      has nested dsc$b_aflags structure)
  dsc$descriptor_ubs  unaligned bit string descriptor
  dsc$descriptor_uba  unaligned bit array descriptor (also
                      has nested dsc$b_aflags structure)

3 DVIDEF
  Module (DVIDEF) of SYS$LIBRARY:CSYSDEF.TLB and file DVIDEF.H.

 Defines names for device information item constants (DVI$_...) for
 the $GETDVI system service.

3 ERRNO
  Module (ERRNO) of SYS$LIBRARY:CSYSDEF.TLB and file ERRNO.H.

 Defines the UNIX-stype error codes.

3 ERRNODEF
  Module (ERRNODEF) of SYS$LIBRARY:CSYSDEF.TLB and file ERRNODEF.H.

 Defines the VMS Status code equivalents of the UNIX-stype error codes.

3 FAB
  Module (FAB) of SYS$LIBRARY:CSYSDEF.TLB and file FAB.H.

 Defines the FAB structure for the RMS File Access Block.  The fields
 have the same names as the offsets given in the RMS Reference Manual.
 The bit fields and single bits are not defined via nested structures
 but by defining the bit offsets and masks as constants.

 Includes a global reference to the initialized prototype structure
 named cc$rms_fab.

3 IODEF
  Module (IODEF) of SYS$LIBRARY:CSYSDEF.TLB and file IODEF.H.

 Defines symbolic names for the contants giving the I/O function
 codes (IO$_...) and modifiers (IO$M_...).

3 JPIDEF
  Module (JPIDEF) of SYS$LIBRARY:CSYSDEF.TLB and file JPIDEF.H.

 Defines symbolic names for the item codes for the $GETJPI system
 service.

3 MATH
  Module (MATH) of SYS$LIBRARY:CSYSDEF.TLB and file MATH.H.

 Declares the RTL Math Functions.  Defines the HUGE constant.

3 MSGDEF
  Module (MSGDEF) of SYS$LIBRARY:CSYSDEF.TLB and file MSGDEF.H.

 Defines symbolic names (MSG$_...) for the system mailbox typecode
 constants.

3 NAM
  Module (NAM) of SYS$LIBRARY:CSYSDEF.TLB and file NAM.H.

 Defines the NAM structure for the RMS Name Block.  The fields have
 the same names as the offsets given in the RMS Reference Manual.
 The bit fields and single bits are not defined via nested structures
 but by defining the bit offsets and masks as constants.

 Includes a global reference to the initialized prototype structure
 named cc$rms_nam.

3 OPCDEF
  Module (OPCDEF) of SYS$LIBRARY:CSYSDEF.TLB and file OPCDEF.H.

 Defines symbols for the OPCOM request codes used with the $SNDOPR
 system service.  The struct OPC defines the offsets for the request
 block passed to the $SNDOPR service.

3 PQLDEF
  Module (PQLDEF) of SYS$LIBRARY:CSYSDEF.TLB and file PQLDEF.H.

 Defines the process quota codes (PQL$_...) used by the $CREPRC
 system service.

3 PRVDEF
  Module (PRVDEF) of SYS$LIBRARY:CSYSDEF.TLB and file PRVDEF.H.

 Defines the bit offsets for the privilege bits.

3 PSLDEF
  Module (PSLDEF) of SYS$LIBRARY:CSYSDEF.TLB and file PSLDEF.H.

 Defines as constants the bit offsets, sizes and masks of the fields
 of the Processor Status Longword.

3 RAB
  Module (RAB) of SYS$LIBRARY:CSYSDEF.TLB and file RAB.H.

 Defines the RAB structure for the RMS Record Access Block.  The fields
 have the same names as the offsets given in the RMS Reference Manual.
 The bit fields and single bits are not defined via nested structures
 but by defining the bit offsets and masks as constants.

 Includes a global reference to the initialized prototype structure
 named cc$rms_rab.

3 RMS
  Module (RMS) of SYS$LIBRARY:CSYSDEF.TLB and file RMS.H.

 Includes the modules NAM, FAB, RAB, XAB and RMSDEF.

3 RMSDEF
  Module (RMSDEF) of SYS$LIBRARY:CSYSDEF and file RMSDEF.H.
 
 Defines the RMS returned status codes.

3 SECDEF
  Module (SECDEF) of SYS$LIBRARY:CSYSDEF.TLB and file SECDEF.H.

 Defines the section flags bit offsets and masks for the $CRMPSC
 system service.  Defines a SEC structure of unknown purpose.

3 SETJMP
  Module (SETJMP) of SYS$LIBRARY:CSYSDEF.TLB and file SETJMP.H.

 Define environment buffer for setjmp and longjmp routines.

3 SFDEF
  Module (SFDEF) of SYS$LIBRARY:CSYSDEF.TLB and file SFDEF.H.

 Stack call frame definitions.  The structure sf$frame defines
 the fields of the call frame with the same names as used in the
 VAX-11 Architecture Handboot.  Bit offsets are defined as
 constant values.

3 SIGNAL
  Module (SIGNAL) of SYS$LIBRARY:CSYSDEF.TLB and file SIGNAL.H.

 Defines the UNIX signal values.

3 SSDEF
  Module (SSDEF) of SYS$LIBRARY:CSYSDEF.TLB and file SSDEF.H.

 Defines the system service return status codes.

3 STDIO
  Module (STDIO) of SYS$LIBRARY:CSYSDEF.TLB and file STDIO.H.

 UNIX "Standard I/O" definitions.  The files stdin, stdout and
 stderr are declared.

4 Constants
 The following constants are defined:

    BUFSIZ    buffer size in bytes
    NULL      null pointer value (0)
    EOF       end-of-file indicator (-1)
    TRUE      logical true value (1)
    FALSE     logical false value (0)

4 Macros
 The following macros are defined:

    FILE      standard I/O structure definition
    
 The following routines are defined as macros:

    getc, getchar, putc, putchar, feof, ferror, fileno, clearer

4 Routines
 The following routines are declared:

    fgets, fgetname, ftell, fopen, fdopen, freopen

3 STSDEF
  Module (STSDEF) of SYS$LIBRARY:CSYSDEF.TLB and file STSDEF.H.

 Defines the bit offsets, sizes and masks for the VMS Status codes.
 See VAX-11 Architecture Handbook Appendix C for the names.

 These macros are also defined to extract fields from a status code:

   $VMS_STATUS_CODE(code)         message code field
   $VMS_STATUS_COND_ID(code)      condition identification field
   $VMS_STATUS_CONTROL(code)      message control field
   $VMS_STATUS_CUST_DEF(code)     customer-defined bit
   $VMS_STATUS_FAC_NO(code)       facility number field
   $VMS_STATUS_INHIB_MSG(code)    inhibit message display bit
   $VMS_STATUS_MSG_NO(code)       message number field
   $VMS_STATUS_SEVERITY(code)     severity field
   $VMS_STATUS_SUCCESS(code)      success bit

3 TIME
  Module (TIME) of SYS$LIBRARY:CSYSDEF.TLB and file TIME.H.

 Defines the tm structure returned by the localtime() routine.
 Converts time (in seconds since 00:00:00 1-January-1970) in
 hours, minutes and so on.  See the VAX-11C Reference Manual.
 The integer fields of the structure are:

    tm_hour   hours (24)
    tm_min    minutes
    tm_sec    time in seconds
    tm_isdst  daylight savings time (always 0)
    tm_mon    month (0-11)
    tm_mday   day of the month (1-31)
    tm_year   year (last two digits)
    tm_wday   day of the week (0-6)
    tm_yday   day of the year (0-365)

3 TIMEB
  Module (TIMEB) of SYS$LIBRARY:CSYSDEF.TLB and file TIMEB.H.

 Defines the timeb structure returned by the ftime() routine.
 This gives the elapsed time since 00:00:00 1-Jan-1970.
 See the VAX-11C Reference Manual.  The fields are:

    Type           Member      Description
    ----           ------      -----------
    time_t         time        time in seconds
    unsigned short millitm     fractional time in milliseconds
    short          timezone    0
    short          dstflag     0

3 TT2DEF
  Module (TT2DEF) of SYS$LIBRARY:CSYSDEF.TLB and file TT2DEF.H.

 Defines symbolic names (TT2$...) for the constants for the bit
 offsets and masks for the extended terminal characteristics.

3 TTDEF
  Module (TTDEF) of SYS$LIBRARY:CSYSDEF.TLB and file TTDEF.H.

 Defines symbolic names (TT$...) for the constants for the bit
 offsets and masks for the terminal characteristics.  Also defines
 the baud rate values (TT$C_BAUD_nn) and terminal type codes.

3 TYPES
  Module (TYPES) of SYS$LIBRARY:CSYSDEF.TLB and file TYPES.H.

 typedef's for Run Time Library routines.  Currently only time_t
 is defined.

3 XAB
  Module (XAB) of SYS$LIBRARY:CSYSDEF.TLB and file XAB.H.

 Defines the XAB structures for the RMS Extended Attribute Blocks.
 The fields of the structures have the same names as the offsets
 given in the RMS Reference Manual.  The bit fields and single bits
 are not defined via nested structures but by defining the bit
 offsets and masks as constants.  The structures defined are:

   struct     XAB type                     Prototype name
   ------     --------                     --------------
   XABALL     allocation control           cc$rms_xaball
   XABDAT     date and time                cc$rms_xabdat
   XABFHC     file header characteristics  cc$rms_xabfhc
   XABKEY     key definition               cc$rms_xabkey
   XABPRO     file protection              cc$rms_xabpro
   XABRDT     revision date and time       cc$rms_xabrdt
   XABSUM     summary                      cc$rms_xabsum

 Includes a global references to each of the initialized prototype
 structures.

2 LCLCDEF
 The text library FERMI$LIB:LCLCDEF.TLB contains VAX-11 C #include
 modules created locally at Fermilab.  Among these #include sources are
 additional system include sources created from definition macros in
 the system and executive macro libraries in the same way as the
 FORTRAN INCLUDE sources in LCLFORDEF were made.  Those modules made
 from these macros have names beginning with "$" and are the same as the
 names of the definition macros (for the most part).  The individual
 files (.H file types) can be found in FERMI$LIB_INC:.

 Some of the modules define new VAX-11 C types (with typedef) or some
 structures.  The Help entries on the individual modules describe those
 that do so.  All other #include modules just define constants.

 The modules currently contained in this library are:

3 $ATRDEF
 Module ($ATRDEF) of FERMI$LIB:LCLCDEF($ATRDEF).

 This module defines the ATR_ENTRY structure for the form of an entry
 in the Attribute List for the ACP $QIO interface.  The list is to be
 terminated by a longword of 0.

 Each attribute type has two symbols defined.  The ATR$C_xxxx symbols
 give the attribute type codes while ATR$S_xxxx give the maximum sizes
 (in bytes) of each attribute.

3 $BRDCSTDEF
  Module ($BRDCSTDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines mask bits for flags argument of the $BRDCST system service
 as constants (BRDCST$M_... and BRDCST$V_... names).

3 $CLIMSGDEF
  Module ($CLIMSGDEF) FERMI$LIB:LCLCDEF.TLB.

 Defines the CLI$_... status codes values returned by the Command
 Line Interpreter (DCL or MCR) as constants.

3 $CLISERVDEF
  Module ($CLISERVDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines contants for the request codes for CLI call-back
 operations for DCL.

3 $CREDEF
  Module ($CREDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines a structure (struct cre$options) and constants for the
 create-options array used by the LBR$OPEN Librarian routine.
 The names of the structure's fields are given by the array offset
 names in the Librarian documentation.

3 DESCRIP2
 Module (DESCRIP2) of FERMI$LIB:LCLCDEF.TLB and file DESCRIP2.H.

 This module defines some additions to the standard VAX-11 C include
 module (DESCRIP) found in SYS$LIBRARY:CSYSDEF.TLB.

 The following macros are defined:

  $DESCRIPTOR0(name)             empty string descriptor (length and
                                 pointer fields initialzed to 0).

  $DESCRIPTOR1(name,string)      string descriptor for 1 character
                                 or a whole structure.

  $DESCRIPTORM(name,string)      string descriptor for structure
                                 member or non-NUL terminated strings.

  $DESCRIPTORA(name,array,type)  array descriptor.

  $LENGTH(descriptor)            length field of descriptor.
  $POINTER(descriptor)           pointer field of descriptor.

4 Lengths
 The macros define the length fields of the descriptors in the
 following manner:

  $DESCRIPTOR0   set to 0.

  $DESCRIPTOR1   set to sizeof the string argument.

  $DESCRIPTORM   set to sizeof the string argument.

  $DESCRIPTORA   set to sizeof the type argument.

4 Pointers
 The macros define the pointer fields of the descriptors in the
 following manner:

  $DESCRIPTOR0   set to 0.

  $DESCRIPTOR1   set to address of (&) the string argument.

  $DESCRIPTORM   assumes string argument is the name of an array
                 (or an array field of a structure).

  $DESCRIPTORA   assumes array argument is name of an array.


3 $DEVDEF
  Module ($DEVDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines the bit masks (DEV$M_...) and bit offsets (DEV$V_...)
 of the device characteristics longword.

3 $DIBDEF
  Module ($DIBDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines a structure (struct dib$buffer) for the device information
 buffer returned by the $GETDEV and $GETCHN system services.  The
 field names are the same as the offset names given in the documentation.

3 $DQFDEF
  Module ($DQFDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines the DQF structure for the disk quota file record used with
 the ACPCONTROL I/O function.

3 $DVIDEF
  Module ($DVIDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines names for device information item constants (DVI$_...) for
 the $GETDVI system service.

3 $FAB
  Module ($FAB) of FERMI$LIB:LCLCDEF.TLB.

 This module defines the VAX-11 RMS File Access Block.  It is a modified
 version of the FAB module of CSYSDEF.TLB.  The structure name has been
 changed to $FAB to distinguish it from the FAB structure defined in the
 FAB module.  This definition provides the bit fields as offset constants
 (i.e., "FAB$V_name" in uppercase like the FAB module) as well as offsets
 in the $FAB structure (as "fab$v_name" fields).  In addition, the
 globally-defined initialization structure cc$rms_fab is referenced only
 if the symbol RMS_GLOBAL_REF is defined.

3 $FATDEF
  Module ($FATDEF) of FERMI$LIB:LCLCDEF.TLB.

 This module defines the FAT structure for the record attributes
 area of the file header.

3 $FCHDEF
  Module ($FCHDEF) of FERMI$LIB:LCLCDEF.TLB.

 This module defines the bits of the file characteristics longword
 in the file header.  The high-order 8 bits of this longword are
 reserved for user and CSS use.

3 $FIBDEF
  Module ($FIBDEF) of FERMI$LIB:LCLCDEF.TLB.

 This module defines structures and constants for the File Information
 Block used to pass information between the user process and an ACP via
 the $QIO interface.  The structures are named FIB and SHORT_FIB for
 the typical short-form FIB.  In addition, the structure CONTROL_FID is
 defined to by used with the IO$_ACPCONTROL I/O function.

3 $HLPDEF
  Module ($HLPDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines symbolic names (HLP$M_...) for the bit masks and bit
 offsets (HLP$V_...) of the flags argument to the Librarian
 LBR$OUTPUT_HELP routine.

3 $IODEF
  Module ($IODEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines symbolic names for the contants giving the I/O function
 codes (IO$_...) and modifiers (IO$M_...).

3 $JBCMSGDEF
  Module ($JBCMSGDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines symbolic names for Job Controller status codes (JBC$_...).

3 $LBRDEF
  Module ($LBRDEF) of FERMI$LIB:LCLCDEF.TLB

 Defines symbolic names (LBR$C_...) for constants used with the
 Librarian utility routines.

3 $LCKDEF
  Module ($LCKDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines names for the lock mode request codes (LCK$K_...) and
 the bits of the lock characteristics (LCK$M_... for masks and
 LCK$V_... for offsets) used with the $ENQ and $DEQ system services.

3 LEX
  Module (LEX) of FERMI$LIB:LCLCDEF.TLB.

 Definitions for use with the Lexical Analyzer from the DECUS C
 system.  See the documentation on LEX for more information.  The
 native mode LEXLIB is SYS$LIBRARY:VAXLEXLIB.OLB.

3 $MTDEF
  Module ($MTDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines offsets, sizes and masks for magnetic tape device
 status bits (MT$... names).  Also defines the MT$K... constants
 for the field values.  The device dependent characteristics
 longword is also defined as the struct mt_char with bits and
 fields given by the member names mt$v_... (in lower case similar
 to the MT$V_... constants).

3 $NAM
  Module ($NAM) of FERMI$LIB:LCLCDEF.TLB.

 This module defines the VAX-11 RMS Name Block.  It is a modified
 version of the NAM module of CSYSDEF.TLB.  The structure name has been
 changed to $NAM to distinguish it from the NAM structure defined in the
 NAM module.  This definition provides the bit fields as offset constants
 (i.e., "NAM$V_name" in uppercase like the NAM module) as well as offsets
 in the $NAM structure (as "nam$v_name" fields).  In addition, the globally
 defined initialization structure cc$rms_nam is referenced only if the
 symbol RMS_GLOBAL_REF is defined.

$OPCMSG
  Module ($OPCMSG) of FERMI$LIB:LCLCDEF.TLB.

 Defines symbols for the OPCOM status codes (OPC$_...).

3 $PRCDEF
  Module ($PRCDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines masks (PRC$M_...) and offsets (PRC$V_...) for the bits
 of the status flag argument of the $CREPRC system service.

3 $PRDEF
  Module ($PRDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines the symbols for the processor register codes and fields.

3 $RAB
  Module ($RAB) of FERMI$LIB:LCLCDEF.TLB.

 This module defines the VAX-11 RMS Record Access Block.  It is a modified
 version of the RAB module of CSYSDEF.TLB.  The structure name has been
 changed to $RAB to distinguish it from the RAB structure defined in the
 RAB module.  This definition provides the bit fields as offset constants
 (i.e., "RAB$V_name" in uppercase like the RAB module) as well as offsets
 in the $RAB structure (as "rab$v_name" fields).  In addition, the
 globally-defined initialization structure cc$rms_rab is referenced only
 if the symbol RMS_GLOBAL_REF is defined.

3 $SBKDEF
  Module ($SBKDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines the SBK structure for the ACP QIO attributes
 statistics block.

3 $SHRDEF
  FERMI$LIB:LCLCDEF($SHRDEF) defines symbols for shared message
  codes.
 
 These message codes should not be used directly by a facility since
 they do not contain a subsystem (facility) identifier or a severity
 code.  Use the following formula to calculate actual facility
 message codes:
 
      facility-message-code  common-message-code +
                             facility-id * 65536 +
                             severity-code

 This is implemented by the $SHR_MSGDEF macro which is called by:

      $SHR_MSGDEF(facility_code, message_code, severity_code)

 where the message_code is one of those given by SHR$_...

3 $SMRDEF
  Module ($SMRDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines the symbiont manager request and option codes for
 the $SNDSMB (send-to-symbiont manager) system service.

3 $STATEDEF
  Module ($STATEDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines names for the process scheduling states as the SCH$C_...
 symbols.

3 $SYIDEF
  Module ($SYIDEF) of FERMI$LIB:LCLCDEF.TLB.

 Defines the item codes for the $GETSYI system service.

3 $UAFDEF
   Module ($UAFDEF) of FERMI$LIB:LCLCDEF.TLB.
 
  Defines the format of the User Authorization File record as
  the structure UAF_RECORD.

3 VAXTYPES
  Module (VAXTYPES) of FERMI$LIB:LCLCDEF.TLB and file VAXTYPES.H.

 This module defines some data types, constants and macros for use
 with VAX-11 C under VAX/VMS.  Note that using these definitions
 renders the program "non-portable".  The "vaxtypes" symbol is
 defined by this module and can be used to eliminate additional
 calls in other #include modules by:

        #ifndef   vaxtypes
        #include  vaxtypes
        #endif

4 Constants
 Defined constants for general VAX-11C usage:

  TRUE       conditional true value (1)
  FALSE      conditional false value (0)
  EOF        End-of-file flag (for standard I/O)
  NULL       Undefined pointer value (0)

  MAX_...    Maximum value for several data types:
                  int,ulong,short,uword,char,ubyte
  MIN_...    Minimum value for several data types which
             may take on negative values:
                  int,short,char

4 Types
 Additional types (or structures) for use with VAX-11 C

  byte / ubyte    signed / unsigned 8-bit byte
  word / uword    signed / unsigned 16-bit word
  long / ulong    signed / unsigned 32-bit longword
  quad / uquad    signed / unsigned 64-bit quadword
  octa / uocta    signed / unsigned 128-bit octaword

  address    general address (pointer to byte or char)
  queue      structure defining a queue header or the queue links
             (fields flink and blink).
  vmstime    VMS-returned system time type

 For simplicity, [u]quad, [u]octa and vmstime are defined as
 arrays of long's (or unsigned long's).  See also $bit, $[u]field
 under the "Macros" subtopic.
4 Macros
 Macros defined for use with VAX-11 C under VMS

  $VMS_SUCCESS(code)    TRUE if the status code has a severity code of
                        success or informational (success indication).
  $VMS_FAILURE(code)    TRUE if the status code has a severity code of
                        warning, error or severe (error indication).
  SIGNAL_FAILURE(code)  if code has an error indication severity, then
                        call LIB$SIGNAL to signal the error.
  ABORT_ON_FAIL(code)   if code has an error indication severity, then
                        call LIB$STOP to signal the error and abort.

  $bit(name)            defines a single bit in a struct (unsigned)
  $field(name,size)     defines a bit field of "size" bits in a struct
  $ufield(name,size)    same as $field but for an unsigned field
  $align		align to next byte field in struct
  $unused(size)         unused field of "size" bits

3 $XAB
  Module ($XAB) of FERMI$LIB:LCLCDEF.TLB.

 This module defines the VAX-11 RMS Extended Attribute Blocks.  It is
 a modified version of the XAB module of CSYSDEF.TLB.  The structure
 names have been changed to $XABxxx to distinguish them from the XABxxx
 structures defined in the XAB module.  The $XABxxx definition provides
 the bit fields as offset constants (i.e., "XAB$V_name" in uppercase
 like the XAB module) as well as offsets in the $XABxxx structures (as
 "xab$v_name" fields).  In addition, the globally defined initialization
 structures cc$rms_xab... are referenced only if the symbol
 RMS_GLOBAL_REF is defined.

4 $XABKEY
 The $XABKEY structure defines the arrays xab$aw_pos, xab$ab_siz and
 xab$ab_typ for the key segment position, size and type fields.  The
 size of each array is 8 items.

2 STARLET
 The file SYS$LIBRARY:STARLET.PEN is a PASCAL environment file for
 VAX/VMS and is distributed with VAX-11 PASCAL.  The source file for
 this environment is found in STARLET.PAS in the SYS$LIBRARY:.

 For RECORD definitions (unless stated otherwise) the fields are
 named according to the offsets for the structures defined by the
 definition macros described in the documentation.

 The sections currently contained in this environment are (the names
 correspond to the system macro names):

3 Starlet
 Defines the VAX/VMS system services as ASYNCHRONOUS functions of
 type INTEGER with names identical to the macro names ($name)
 rather than the SYS$name entry points.  The parameter names and
 forms are as given in the System Services Reference Manual.
 Note that most arrays (not strings) are defined also as UNSAFE.

 This module also defines the RMS calls in a similat fashion
 including the use of the macro names ($name).  The RAB/FAB
 parameters are declared as UNSAFE and the ERRENTRY and SUCENTRY
 procedures as UNBOUND and ASYNCHRONOUS.

3 $ACCDEF
 Defines the constants for the lengths and type codes of the
 Accounting File records.  The following RECORD structures are
 also defined:

    ACC$TYPE   Process/batch job termination record
    ACC1$TYPE  print job accounting record
    ACC2$TYPE  user accounting message data area

 See the STARLET.PAS source file for additional details.

3 $ATRDEF
 Attribute control list description for ACP $QIO functions.
 The control list consists of a list of Attribute Control Blocks
 (ATR$TYPE records) terminated by a single zero longword.  The
 attribute code and maximum length constants are also defined.

3 $CHFDEF
 Definitions for condition handlers:

   CHF$TYPE   argument list passed to condition handler
   CHF1$TYPE  signal array (argument count, signal name and
              first parameter only)
   CHF2$TYPE  mechanism array

3 $CLIDEF
 Command language interface definitions for communications between
 the CLI and the utility that was requested.

 See the STARLET.PAS source file for details.

3 $CRDEF
 Card read status bits.

3 $CREDEF
 Definition of the create options table used when creating
 libraries (CRE$TYPE).

3 $CRFDEF
 Definitions for the cross reference utility.  The record
 types defined are:

   CRF$TYPE   argument list for CRF$INSRTREF
   CRF1$TYPE  argument list for CRF$INSRTKEY
   CRF2$TYPE  argument list for CRF$OUT
   CRF3$TYPE  CRF control table

3 $DCDEF
 Device adapter, class and type definitions.

3 $DEVDEF
 Bits of the device characteristics longword.  The bit masks are
 defined as constants along with the DEV$TYPE bit-field record.
 The fields are named according to the bit offsets.

3 $DIBDEF
 Defines the device information block returned by the $GETDEV and
 $GETCHN system services as the record DIB$TYPE.

3 $DMPDEF
 Defines the layout of the header block of the system dump file
 as the record DMP$TYPE.  See the source for details.

3 $DMTDEF
 Defines the flag bits for the $DMTDEF as constant masks or bit
 fields ih the DMT$TYPE record.

3 $DSTDEF
 
3 $DVIDEF
 Defines the $GETDVI item code constants.

3 $EOMDEF
 Defines the end of module record (EOM$TYPE) of the VAX-11 object
 language.  Also defined is the EOM record with a word of PSECT as
 the EOMW$TYPE record.

 See the VAX-11 Linker Reference Manual.

3 $FABDEF
 The RMS File Access Block (FAB) is defined as the FAB$TYPE record.
 The field names are as given in the documentation.  Bit masks are
 defined as constants.

3 $FIBDEF
 Defines the File Information Block used with ACP $QIO's as the
 FIB$TYPE record.  The bit masks of the various fields are
 defined as constants.  Those fields organized as bit arrays
 (ACCTL, NMCTL, EXCTL and ALOPTS) are defined with names of the
 form FIB$_name_OVERLAY.  Or, explicit reference may be made to
 the individual bits via FIB$V_bitname fields.  Similarly the
 fields FIB$_FID_OVERLAY and FIB$_DID_OVERLAY are sub-records
 covering the fields such as FIB$W_FID_RVN, etc.

 The FIB1$TYPE record is used with ACPCONTROL functions and
 defines only the FIB$W_CNTRLFUNC and FIB$_CNTRLVAL_OVERLAY
 fields.  The bits used by various functions in the CNTRLVAL
 field (such as FIB$V_ALL_MEM, etc.) may be referenced as
 such directly.

3 $FIDDEF
 Defines the file numbers of the file structure files as
 constants and the FID$TYPE record for the fields of the
 48-bit file identification.

3 $FORDEF
 FORTRAM message codes.

3 $GSDDEF
 Defines the global symbol definition record (GSD$TYPE) used in
 the VAX-11 object language.  See the VAX-11 Linker Reference
 Manual.  Additional sections define variations of the record
 as the PASCAL RECORD types:

   GPS$TYPE     P-section definition GSD entry
   SGPS$TYPE    P-section definition in shareable image
   GSY$TYPE     symbol definition GSD entry
   SRF$TYPE     symbol reference
   SDF$TYPE     symbol definition
   EPM$TYPE     entry point definition GSD entry
   PRO$TYPE     procedure definition GSD entry
   FML$TYPE     formal arguments description (PRO appendage)
   ARG$TYPE     argument descriptor
   SDFW$TYPE    Symbol definition with word of PSECT value
   EPMW$TYPE    entry point definition with word of PSECT value
   PROW$TYPE    procedure definition with word of PSECT value
   IDC$TYPE     random entity ident consistency check
   ENV$TYPE     define/reference an environment
   LSY$TYPE     module-local symbol definition
   LSRF$TYPE    module-local symbol reference
   LSDF$TYPE    module-local symbol definition
   LEPM$TYPE    module-local entry point definition
   LPRO$TYPE    module-local procedure definition

3 $HLPDEF
 The HLP$TYPE defines the offsets to the help processing bits
 (masks are defined as constants).  Also defines the HLP1$TYPE
 record of longwords.

3 $IODEF
 Defines the I/O function code and modifier constants.  Also
 the record IO$TYPE permits referencing the modifier bits by
 their offset names (field IO$V_FCODE is the function code
 field).

3 $JPIDEF
 Defines the item code constants used by the $GETJPI system service.

3 $LADEF
 Definitions concerning the LPA-11K.

3 $LBRDEF
 Definitions used with the Librarian routines.  Constants defined
 include the library types and librarian parameters.  The records
 defined are argument lists for various routines:

   LBR$TYPE       for LBR$INI_CONTROL
   LBR1$TYPE      for LBR$OPEN
   LBR2$TYPE      for LBR$CLOSE
   LBR3$TYPE      for LBR$GET_HEADER
   LBR4$TYPE      for LBR$SET_INDEX
   LBR5$TYPE      for LBR$LOOKUP_KEY
   LBR6$TYPE      for LBR$INSERT_KEY
   LBR7$TYPE      for LBR$REPLACE_KEY
   LBR8$TYPE      for LBR$DELETE_KEY
   LBR9$TYPE      for LBR$DELETE_DATA
   LBR10$TYPE     for LBR$GET_RECORD
   LBR11$TYPE     for LBR$PUT_RECORD
   LBR12$TYPE     for LBR$PUT_END
   LBR13$TYPE     for LBR$SEARCH
   LBR14$TYPE     for LBR$SEARCH user action routine
   LBR15$TYPE     for LBR$GET_INDEX
   LBR16$TYPE     for LBR$GET_INDEX user action routine
   LBR17$TYPE     for LBR$ADD_UPDATE
   LBR18$TYPE     for LBR$GET_UPDATES
   LBR19$TYPE     for LBR$GET_UPDATES user action routine

3 $LCKDEF
 Defines the lock characteristic masks and lock request codes as
 constants.  The LCK$TYPE record permits referencing the lock
 characteristic bits via their offset names.

3 $LHIDEF
 Defines the library header information array as the LHI$TYPE
 record.

3 $LIBDCFDEF
 Definitions for the LIB$DECODE_FAULT routine.
 Record LIB$B_DCF_OPERAND defines the access and data type
 portions of an instruction operand.

3 $LIBDEF
 Message codes from general library routines.

3 $LPDEF
 Line printer characteristics definitions.  The LP$TYPE record
 defines the bit fields of the characteristics longword.

3 $MHDDEF
 Defines the module header record (MHD$TYPE) used in the VAX-11
 object libraries (??).

3 $MHDOBJ
 Defines module header record (MHDOBJ) used in VAX-11 object
 language.  See the VAX-11 Linker Reference Manual.

3 $MNTDEF
 Defines the item codes and bit mask constants used with the $MNTDEF
 system service.  The MNT$TYPE record permits referencing the
 bits using their offset names.

3 $MSGDEF
 Defines the system-wide mailbox message type codes.

3 $MTDEF
 Magnetic Tape status and characteristics definitions.
 The MT$TYPE record defines the various fields via their offset
 names.

3 $MTHDEF
 Message codes from mathematical library routines.

3 $NAMDEF
 The RMS Name Block (NAM) is defined as the NAM$TYPE record.
 The field names are as given in the documentation.  Bit masks are
 defined as constants.

3 $OBJRECDEF
 Defines the format of an object language record (OBJREC$TYPE) and
 the record type and subtype codes.

 See the VAX-11 Linker Reference Manual.

3 $OPCDEF
 Definitions for use with $SNDOPR system service.  The OPC$TYPE
 record is the operator request block.  The request codes and
 operator type bit masks are defined as constants.

3 $OPDEF
 Defines constants for the VAX-11 opcodes as OP$_... symbols.

3 $OPRDEF
 Defines the operator types (bit masks) and message type codes.
 The OPR$TYPE record defines the offsets for the operator name bits.

3 $OPCMSG
 Defines the operator communication message codes.

3 $PCCDEF
 Printer/terminal carriage control specifiers.
 The PCC$TYPE record defines the fields of the carriage control
 specifier via the offset names.

3 $PQLDEF
 Process quota list type codes.

3 $PRCDEF
 Status flags for $CREPRC as constant masks and offsets in the
 PRC$TYPE record.

3 $PRDEF
 Processor register definitions.  The PR$TYPE record defines the
 fields of the System Id Register.

3 $PRTDEF
 Protection field definition constants.

3 $PRVDEF
 Privilege bit definitions, only as offsets in the PRV$TYPE record.

3 $PSLDEF
 Process Status Longword mask and field (of record PSL$TYPE)
 definitions.

3 $RABDEF
 The RMS Record Access Block (RAB) is defined as the RAB$TYPE record.
 The field names are as given in the documentation.  Bit masks are
 defined as constants.

3 $RMSDEF
 Defines the RMS success and failure codes.

3 $RMSFALMSG
 Message codes from the RMS FAL facility.

3 $SBKDEF
 ACP $QIO statistics block definition as the SBK$TYPE record.

3 $SCRDEF
 Defines the screen package request types and bit masks.  The
 SCR$TYPE record defines the offsets for the bits of the screen
 attributes.  The SCR1$TYPE record defines the SCR$SCREEN_INFO
 return buffer.

3 $SECDEF
 Process/global section definitions.  The section type bits are
 defined as constant masks.

3 $SHRDEF
 Shared message codes.

3 $SMRDEF
 Symbiont manager request type codes and option codes.

3 $SSDEF
 System service message codes.

3 $STSDEF
 System service failure and status codes.  The longword fields
 are defined by the STS$TYPE record.  Also included are
 constants for the bit masks and severity codes.

3 $SYIDEF
 Item codes for the $GETSYI system service.

3 $TIRDEF
 Defines the text, information and relocation (TIR) record of
 the VAX-11 object language (TIR$TYPE).

3 $TPADEF
 The TPA$TYPE record defines the TPARSE control block.

3 $TTDEF
 Terminal special symbols include the terminal types, baud rate
 codes and bit masks as constants.  The TT$TYPE and TT2$TYPE records
 define the bits via their offset names.

3 $USGDEF
 Disk usage accounting file produced by the ANALYZE/DISK_STRUCTURE
 utility.  The USG$TYPE record defines the identification record and
 the USG1$TYPE the file record.

3 $XABDEF
 The RMS Extended Attribute Blocks (Xab'S) are defined by the
 XAB$TYPE record.  The field names of all XAB types are as given
 in the documentation.  Bit masks are defined as constants.

3 $XFDEF
 Definitions concerning the DF32 (DR780/DR750) command table, packets
 and characteristics.

3 $XKSTSDEF
 Definitions for 3271 line status block (returned by IO$_RDSTATS).
 The XKSTS$TYPE record is defined.

3 $XKDEVDEF
 Definitions for 3271 device status block.  The XFDEV$TYPE record
 is defined.

3 $XMDEF
 Definitions (including the XM$TYPE record) for DMC-11/DMR-11/DMP-11.

3 $XWDEF
 Definitions (including the XW$TYPE record) for DDCMP software.

2 FORSYSDEF
 The SYS$LIBRARY:FORSYSDEF.TLB text library of FORTRAN INCLUDE sources
 was included as part of the FORTRAN V3.0 distribution from DEC.  As
 such this library will be maintained by DEC Software Services.  The
 modules currently in this library are:

3 $ACCDEF
 Defines the VMS accounting records as byte arrays with the fields
 equivalenced to the appropriate bytes.  Also defines symbols for
 for the accounting record types.
3 $CRDEF
 Card reader device-dependent characteristics definitions.
 Defines a CR$_CRDEF_BITS(1) byte.
3 $DCDEF
 Definitions of symbols for VMS device classes and device types.
3 $DEVDEF
 Definitions bits in the device characteristics longword (as masks and
 offsets).  Defines the DEV$_DEVDEF_BITS(4) byte array.
3 $DMTDEF
 Definitions of option bits for the $DISMOU system service.
 Defines the DMT$_DMTDEF_BITS(1) byte.
3 $FORDEF
 Defines the FORTRAN completion status codes (32-bit longwords) for
 FORTRAN I/O errors (FOR$_... symbols).

 Also available in SYS$LIBRARY:FORDEF.FOR.
3 $FORIOSDEF
 Defines the FORTRAN error numbers for use with IOSTAT and ERRSNS as
 the FOR$IOS_... symbols.

 Also available in SYS$LIBRARY:FORIOSDEF.FOR.
3 $IODEF
 Defines the VMS I/O function codes and I/O function modifier bits.
 Defines IO$_IODEF_BITSx(2) byte arrays.
3 $JPIDEF
 Defines the item codes (JPI$_... symbols) for the $GETJPI system
 service.
3 $LADEF
 Defines the LPA-11K options bit and microcode type values.
 Defines the LA$_LADEF_BITSx(4) byte arrays.
3 $LCKDEF
 Defines the flag bits and lock mode codes for the system LOCK services
 $ENQ and $DEQ.
 Defines the LCK$_LCKDEF_BITSx(1) bytes.
3 $LIBCLIDEF
 Definitions for the LIB$ routines that use CLI callback services
 to enable/disable Ctrl-Y and Ctrl-T and define DCL symbols.
3 $LIBDCFDEF
 Definitions for the LIB$DECODE_FAULT routine.
 Defines the byte LIB$B_DCF_OPERAND(1).
3 $LIBDEF
 Defines symbols for the error status codes (LIB$_... symbols) returned
 from LIB$ routines.

 Also available as SYS$LIBRARY:LIBDEF.FOR.
3 $LPDEF
 Defines bits and fields of the line printer device-dependent
 characteristics.  Defines the LP$_LPDEF_BITS(4) byte array.
3 $MNTDEF
 Definitions of option bits and item codes for the $MOUNT system
 service.  Defines the MNT$_MNTDEF_BITS(3) byte array.
3 $MSGDEF
 Definitions of system message type codes (MSG$_... symbols) used
 with certain types of mailbox messages.
3 $MTDEF
 Magnetic tape device-dependent characteristics bits and fields.
 Also useful with magnetic tape I/O functions.
 Defines the MT$_MTDEF_BITS(3) byte array.
3 $MTHDEF
 Definitions of the MTH$_... error status code symbols signaled by
 the MTH$ routines.

 Also available as SYS$LIBRARY:MTHDEF.FOR.
3 $OPCDEF
 Defines the format of the buffer to pass to the $SNDOPR system
 service.  Also defines symbols for the operator request type
 codes and option bits.
3 $PQLDEF
 Defines the quota and limit type codes for the $CREPRC system
 service (PQL$_... symbols).
3 $PRVDEF
 Defines the bit offsets for the privilege mask longwords used in
 the $CREPRC system service (PRV$V_priv symbols).
 Defines the byte array PRV$_PRVDEF_BITS0(4).
3 $PSLDEF
 Defines the fields of the Processor Status Longword and symbols for
 the processor modes (PSL$C_mode for KERNEL,EXEC,SUPER,and USER).
 Defines the byte array PSL$_PSLDEF_BITS(4).
3 $RMSDEF
 Defines the RMS$_... symbols for the status codes returned by the
 VAX-11 RMS services.
3 $SECDEF
 Defines the section option bits for the $CRMPSC system service
 (the SEC$M_... symbols).  Defines the SECDEF$R_STRUCTURE1(23)
 and SECDEF$R_STRUCTURE2(32) byte arrays (?).
3 $SSDEF
 Defines the SS$_... symbols for the system status codes returned by
 the VMS system services.
3 $STSDEF
 Defines the fields of the VMS 32-bit status codes (aka condition
 codes) and the values of the severity levels.  Defines the byte
 arrays STS$_STSDEF_BITSx(4).
3 $TTDEF
 Defines the fields and constant values of the terminal device-
 dependent characteristics.  Also used for special terminal I/O
 operations with $QIO.  Defines the TT$_TTDEF_BITSx(4) byte arrays.
3 $XFDEF
 Defines I/O function codes and option bits for use with the DR780
 microprogrammed high speed data channel.  Defines byte arrays
 XFDEF$R_UNION1(1), XFDEF$R_STRUCTURE1(32), XFDEF$R_STRUCTURE2(33)

 Also available as SYS$LIBRARY:XFDEF.FOR.
3 $XMDEF
 Defines I/O function codes and option bits for use with DMC-11
 and DMR-11 network links.  Defines the byte arrays
 XM$_XMDEF_BITSx(3).
2 LCLFORDEF
 The text library FERMI$LIB:LCLFORDEF.TLB contains FORTRAN INCLUDE
 modules created locally at Fermilab.  Among these INCLUDE sources are
 additional system INCLUDE sources created from definition macros in
 the system and executive macro libraries (as additions to those
 system-wide modules defined in FORSYSDEF.TLB) along with some INCLUDE
 modules particular to Fermilab.  Those modules made
 from these macros have names beginning with "$" and are the same as the
 names of the defintion macros (for the most part).

 Some modules appear in both LCLFORDEF and FORSYSDEF with the
 differences being that the LCLFORDEF module will define data
 structures using offset constants while the FORSYSDEF module will
 define the data structure using FORTRAN variable declarations.

 The modules currently contained in this library are:

3 $ACCDEF
 Module ($ACCDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the accounting record type codes (ACC$K_...)
 and offsets (ACC$x...) for the items in the accounting records.
 All items are defined as contants by typeless PARAMETER statements.

3 $ATRDEF
 Module ($ATRDEF) of FERMI$LIB:LCLFORDEF($ATRDEF).

 This module defines the symbolic offsets for the Attribute Control
 Block used with the ACP $QIO interface.  Each attribute type has
 two symbols defined.  The ATR$C_xxxx symbol gives the attribute
 type code while ATR$S_xxxx gives the maximum size (in bytes) of
 the attribute.

3 $BRDCSTDEF
 Module ($BRDCSTDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines mask bits for flags of the $BRDCST system service.

3 $CLIMSGDEF
 Module ($CLIMSGDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines the CLI status codes values returned by the Command Line
 Interpreter (DCL or MCR) as the CLI$_... symbols.

3 $CLISERVDEF
 Module ($CLISERVDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines request codes for CLI call-back operations for DCL.

3 $CREDEF
 Module ($CREDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines byte offsets and constants for the create-options
 array used by the LBR$OPEN LIBRARIAN routine.  The offsets
 are defined as byte offsets from 0 and can be used with a
 zero-based longword array by dividing by 4.

3 DTR_CALL_DEF
 Module (DTR_CALL_DEF) of FERMI$LIB:LCLFORDEF and file
 SYS$LIBRARY:DAB.INC.

 Defines the VAX-11 Datatrieve Call Interface from FORTRAN by
 defining the /DAB_COMMON/ common block.

3 $DCDEF
 Module ($DCDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines device class (DC$_...), device type (DT$_...) and
 adapter type (AT$_...) symbols.

3 $DEVDEF
 Module ($DEVDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines bit masks and offsets in the device characteristics
 longword as typeless PARAMETERS.

3 $DIBDEF
 Module ($DIBDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offsets (as contants) and field sizes for the device
 characteristics buffer returned by the $GETDEV and $GETCHN system
 services.

3 $DQFDEF
 Module ($DQFDEF) of FERMI$LIB:LCLFORDEF.

 Defines symbolic byte offsets for the disk quota file record.

3 $DSCDEF
 Module ($DSCDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the procedure argument descriptor class and
 atomic data types.  Also defines symbols (contants) for the offsets
 of the descriptor fields.

3 $DVIDEF
 Module ($DVIDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines names for device information item constants for the $GETDVI
 system service.

3 $FABDEF
 Module ($FABDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offsets and field locations (bits) for the RMS
 File Access Block (FAB).  Offsets are defined as symbolic
 constants in units of bytes.  All symbols are defined as
 typeless PARAMETER's.

3 $FATDEF
 Module ($FATDEF) of FERMI$LIB:LCLFORDEF.

 This module defines the symbolic offsets and constants of the 
 record attributes area of the file header.

3 $FCHDEF
 Module ($FCHDEF) of FERMI$LIB:LCLFORDEF.

 This module defines the bits of the file characteristics longword
 in the file header.  The high 8 bits of this longword are reserved
 for user and CSS use.  Both masks and bit offset symbols are given.

3 FDVDEF
 Module (FDVDEF) of FERMI$LIB:LCLFORDEF and the file
 SYS$LIBRARY:FDVDEF.FOR.
 
 Define the completion codes returned by the VAX-11 FMS Forms
 Driver (FDV$_... symbols) and the field termination codes
 (FDV$K_FT_... symbols).

3 $FIBDEF
 Module ($FIBDEF) of FERMI$LIB:LCLFORDEF.

 This module defines symbolic byte offsets for the File
 Information Block.  The FIB is used to pass information
 between the user process and an ACP via $QIO.

3 $HLPDEF
 Module ($HLPDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbolic masks for the flags argument of the
 LIBRARIAN LBR$OUTPUT_HELP routine.

3 $IODEF
 Module ($IODEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the I/O function codes and modifiers.

3 $JBCMSGDEF
 Module ($JBCMSGDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbolic names for Job Controller status codes
 (JBC$_...).

3 $JPIDEF
 Modules ($JPIDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the item constants of the $GETJPI
 system service.

3 $LBRDEF
 Module ($LBRDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbolic names for constants used with the
 LIBRARIAN utility routines.

3 $LCKDEF
 Module ($LCKDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines lock mode request codes and the lock characteristics
 bits (masks and offsets) for the $ENQ and $DEQ system services.

3 $MTDEF
 Module ($MTDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines magtape device status bits and fields.

3 $NAMDEF
 Module ($NAMDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offsets and codes for the VAX-11 RMS Name Block (NAM).

3 $OPCDEF
 Module ($OPCDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the send-to-operator ($SNDOPR) system service
 including offsets into the message buffer (as constants).

3 $OPCMSG
 Module ($OPCMSG) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the OPCOM status codes (OPC$_...).

3 $PQLDEF
 Module ($PQLDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the quota codes for $CREPRC system service.

3 $PRCDEF
 Module ($PRCDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines masks and offsets for the bits of the status flag
 argument of the $CREPRC system service.

3 $PRDEF
 Module ($PRDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the processor register codes and fields.

3 $PRVDEF
 Module ($PRVDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the offsets of the privilege bits.

3 $PSLDEF
 Module ($PSLDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the access code constants.

3 $RABDEF
 Module ($RABDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines field and bit offsets and constants for the VAX-11 RMS
 Record Access Block (RAB).  Symbols for the offsets are defined
 as constants via typeless PARAMETER statements.

3 $SBKDEF
 Module ($SBKDEF) of FERMI$LIB:LCLFORDEF.

 Defines the symbolic offsets for the ACP QIO attributes
 statistics block.

3 $SCRDEF
 Module ($SCRDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the terminal independent screen positioning
 package constants, including information returned by the
 LIB$SCREEN_INFO and SCR$SCREEN_INFO routines.

3 $SECDEF
 Module ($SECDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offset constants and bit masks for the global and
 private section system services.

3 $SFDEF
 Module ($SFDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offset constants and bits in the procedure stack frame.

3 $SHRDEF
 FERMI$LIB:LCLFORDEF($SHRDEF) defines symbols for shared message
 codes.

 These message codes should not be used directly by a facility since
 they do not contain a subsystem (facility) identifier or a severity
 code.  Use the following formula to calculate actual facility
 message codes:

    facility-message-code = common-message-code +
                            facility-id * 65536 +
                            severity-code

3 $SMRDEF
 Module ($SMRDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines the symbiont manager request (SMR$K_...) and option
 (SMO$K_...) codes for the $SNDSMB (send-to-symbiont manager)
 system service.

3 $SSDEF
 Module ($SSDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbolic names for the system condition codes and
 completion status values as SS$_... names.

3 $STATEDEF
 Module ($STATEDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for the process scheduling states.

3 $STSDEF
 Module ($STSDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbols for offsets of the condition code fields
 as constants and the severity level constants.

3 $SYIDEF
 Module ($SYIDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines the item codes for the $GETSYI system service.

3 $TTDEF
 Module ($TTDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines symbolic names for terminal characteristics bits
 and fields and constant values.

3 $UAFDEF
  Module ($UAFDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines the format of the User Authorization File record as
 constant offsets.

3 $XABALLDEF
 Module ($XABALLDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offset constants and other constants of the VAX-11 RMS
 allocation extended attribute block (XABALL).

3 $XABDATDEF
 Module ($XABDATDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offset constants and other values for the VAX-11 RMS
 date and time extended attribute block (XABDAT).

3 $XABDEF
 Module ($XABDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offset constants and other values common to most
 of the VAX-11 RMS extended attribute (XAB) blocks.

3 $XABFHCDEF
 Module ($XABFHCDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offset constants and other values for the VAX-11 RMS
 file header characteristics extended attributes block (XABFHC).

3 $XABKEYDEF
 Module ($XABKEYDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offset constants and other values for the VAX-11 RMS
 key definition extended attribute (XABKEY) block

3 $XABPRODEF
 Module ($XABPRODEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offset constants and other values for the VAX-11 RMS
 file protection and ownership extended attribute (XABPRO) block.

3 $XABRDTDEF
 Module ($XABRDTDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines constants for the VAX-11 RMS revision date
 and time extended attribute block (XABRDT)

3 $XABSUMDEF
 Module ($XABSUMDEF) of FERMI$LIB:LCLFORDEF.TLB.

 Defines offset constants and other values for the VAX-11 RMS
 indexed file summary extended attribute (XABSUM) block.

