! *** 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 ! ! Descriptor codes for SYS$FILESCAN ! DECLARE LONG CONSTANT FSCN$M_NODE = x'00000001' DECLARE LONG CONSTANT FSCN$M_DEVICE = x'00000002' DECLARE LONG CONSTANT FSCN$M_ROOT = x'00000004' DECLARE LONG CONSTANT FSCN$M_DIRECTORY = x'00000008' DECLARE LONG CONSTANT FSCN$M_NAME = x'00000010' DECLARE LONG CONSTANT FSCN$M_TYPE = x'00000020' DECLARE LONG CONSTANT FSCN$M_VERSION = x'00000040' DECLARE LONG CONSTANT FSCN$M_NODE_PRIMARY = x'00000080' DECLARE LONG CONSTANT FSCN$M_NODE_ACS = x'00000100' DECLARE LONG CONSTANT FSCN$M_NODE_SECONDARY = x'00000200' DECLARE LONG CONSTANT FSCN$S_FLDFLAGS = 4 record FLDFLAGS ! Node name present ! Device name present ! Root directory present ! Directory present ! File name present ! File type present ! File version present ! Primary (first) node present ! Primary ACS present ! Secondary node present ! Fill out longword LONG NODE_bits ! COMMENT ADDED BY SDL - NODE_bits contains bits NODE through FILL_1 end record FLDFLAGS DECLARE LONG CONSTANT FSCN$_FILESPEC = 1 ! complete filespec DECLARE LONG CONSTANT FSCN$_NODE = 2 ! node:: field DECLARE LONG CONSTANT FSCN$_DEVICE = 3 ! device: field DECLARE LONG CONSTANT FSCN$_ROOT = 4 ! [root.] field DECLARE LONG CONSTANT FSCN$_DIRECTORY = 5 ! [directory] field DECLARE LONG CONSTANT FSCN$_NAME = 6 ! name field DECLARE LONG CONSTANT FSCN$_TYPE = 7 ! .typ field DECLARE LONG CONSTANT FSCN$_VERSION = 8 ! ;version field DECLARE LONG CONSTANT FSCN$_NODE_PRIMARY = 9 ! primary node field DECLARE LONG CONSTANT FSCN$_NODE_ACS = 10 ! acc. cont. str. fld. DECLARE LONG CONSTANT FSCN$_NODE_SECONDARY = 11 ! secondary node field DECLARE LONG CONSTANT FSCN$S_ITEM_LEN = 8 DECLARE LONG CONSTANT FSCN$S_FSCNDEF = 8 record FSCNDEF WORD FSCN$W_LENGTH ! return length word WORD FSCN$W_ITEM_CODE ! item code value LONG FSCN$L_ADDR ! component address end record FSCNDEF