! *** 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 UID$K_ArchVersion = 1 ! Current architecture version DECLARE LONG CONSTANT UID$K_Apollo1 = 0 ! UID format types DECLARE LONG CONSTANT UID$K_Apollo2 = 1 DECLARE LONG CONSTANT UID$K_Digital = 2 DECLARE LONG CONSTANT UID$K_Microsoft = 3 DECLARE LONG CONSTANT UID$K_LENGTH = 16 ! Total structure length DECLARE LONG CONSTANT UID$S_UIDDEF = 16 record UIDDEF group UID$r_fill_63_ variant case BASIC$QUADWORD UID$q_timeAndVersion ! Time and version case group UID$r_fill_64_ LONG UID$l_timeLow ! Low order 32 bits of time WORD UID$w_timeMid ! Middle order 16 bits of time group UID$r_fill_65_ variant case WORD UID$w_timeHiAndVersion ! High order 12 bits of time and case group UID$r_fill_66_ ! 4 bits of version ! High order 12 bits of time ! 4 bits of version WORD timeHi_bits ! COMMENT ADDED BY SDL - timeHi_bits contains bits timeHi through Version end group UID$r_fill_66_ end variant end group UID$r_fill_65_ end group UID$r_fill_64_ end variant end group UID$r_fill_63_ group UID$r_fill_67_ variant case WORD UID$w_clockSeqAndReserved ! Clock sequence and reserved case group UID$r_fill_68_ group UID$r_fill_69_ variant case BYTE UID$b_clockSeqHiAndReserved ! High order 6 bits of clock sequence case group UID$r_fill_70_ ! and 2 reserved bits ! High order 6 bits of clock sequence ! 2 bits of reserved BYTE clockSeqHi_bits ! COMMENT ADDED BY SDL - clockSeqHi_bits contains bits clockSeqHi through & ! Reserved end group UID$r_fill_70_ end variant end group UID$r_fill_69_ BYTE UID$b_clockSeqLow ! Low order 8 bits of clock sequence end group UID$r_fill_68_ end variant end group UID$r_fill_67_ group UID$r_fill_71_ variant case BYTE UID$b_node ( 1 to 6 ) case group UID$r_fill_72_ WORD UID$w_nodeHi ! High order 16 bits of node number LONG UID$l_nodeLow ! Low order 32 bits of node number end group UID$r_fill_72_ end variant end group UID$r_fill_71_ end record UIDDEF