! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF DECLARE LONG CONSTANT LNM$M_NO_ALIAS = x'00000001' DECLARE LONG CONSTANT LNM$M_CONFINE = x'00000002' DECLARE LONG CONSTANT LNM$M_CRELOG = x'00000004' DECLARE LONG CONSTANT LNM$M_TABLE = x'00000008' DECLARE LONG CONSTANT LNM$M_CONCEALED = x'00000100' DECLARE LONG CONSTANT LNM$M_TERMINAL = x'00000200' DECLARE LONG CONSTANT LNM$M_EXISTS = x'00000400' DECLARE LONG CONSTANT LNM$M_SHAREABLE = x'00010000' DECLARE LONG CONSTANT LNM$M_CLUSTERWIDE = x'00020000' DECLARE LONG CONSTANT LNM$M_DCL_REQUEST = x'00040000' DECLARE LONG CONSTANT LNM$M_CREATE_IF = x'01000000' DECLARE LONG CONSTANT LNM$M_CASE_BLIND = x'02000000' DECLARE LONG CONSTANT LNM$M_INTERLOCKED = x'04000000' DECLARE LONG CONSTANT LNM$M_LOCAL_ACTION = x'08000000' DECLARE LONG CONSTANT LNM$S_LNMDEF = 4 record LNMDEF ! Logical name attributes -- bits 0-7 ! Do not allow outer mode alias ! Do not copy into subprocess ! Created with old $CRELOG service ! This is a table name ! Fill out logical name byte ! Logical name translation attributes -- bits 8-15 ! Do not display result of translation ! Do not retranslate result of translation ! Translation does exist at this index ! Fill out translation byte ! Logical name table characteristics -- bits 16-23 ! Logical name table is shareable (S0 space) ! This is a clusterwide table (or name) ! Only supported as returned $TRNLNM attribute ! $CRELNM or $CRELNT request made by DCL ! Reserved bit numbers 18-19 ! Fill out table byte ! System service options -- bits 24-31 ! May map to existing logical name table ! Perform case-insensitive translation ! Translate clusterwide name with LNM$CWLOGICALS locked ! A local operation on a clusterwide name ! done in response to a request from another node ! Only supported from kernel mode ! Fill out options byte LONG NO_ALIAS_bits ! COMMENT ADDED BY SDL - NO_ALIAS_bits contains bits NO_ALIAS through FILL_4 end record LNMDEF DECLARE LONG CONSTANT LNM$C_TABNAMLEN = 31 ! Maximum length of a name contained within a directory table DECLARE LONG CONSTANT LNM$C_NAMLENGTH = 255 ! Maximum logical name / translation length DECLARE LONG CONSTANT LNM$C_MAXDEPTH = 10 ! Maximum logical name recursion depth DECLARE LONG CONSTANT LNM$_INDEX = 1 ! Translation index DECLARE LONG CONSTANT LNM$_STRING = 2 ! Translation string DECLARE LONG CONSTANT LNM$_ATTRIBUTES = 3 ! Attribute bits DECLARE LONG CONSTANT LNM$_TABLE = 4 ! Logical name table name DECLARE LONG CONSTANT LNM$_LENGTH = 5 ! Length of translation string DECLARE LONG CONSTANT LNM$_ACMODE = 6 ! Access mode of name DECLARE LONG CONSTANT LNM$_MAX_INDEX = 7 ! Maximum translation index DECLARE LONG CONSTANT LNM$_PARENT = 8 ! Parent logical name table name DECLARE LONG CONSTANT LNM$_LNMB_ADDR = 9 ! Return LNM block address ! internal use by MTL ! and mailbox UCB DECLARE LONG CONSTANT LNM$_AGENT_ACMODE = 10 ! Probes to be done at a different access mode ! Define item list codes DECLARE LONG CONSTANT LNM$_CHAIN = -1 ! Chain to next list