! *** 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 ! + ! File access modes for open and create ! - DECLARE LONG CONSTANT SSIO$M_O_RDONLY = 0 ! Read-only DECLARE LONG CONSTANT SSIO$M_O_WRONLY = 1 ! Write-only DECLARE LONG CONSTANT SSIO$M_O_RDWR = 2 ! Read and write DECLARE LONG CONSTANT SSIO$M_O_ACCMODE = 3 ! Mask for access mode field ! + ! File status flags for open, create, and setfl (fcntl) ! - DECLARE LONG CONSTANT SSIO$M_O_APPEND = 8 ! All writes append to EOF ! + ! File open and create options ! - DECLARE LONG CONSTANT SSIO$M_O_CREAT = 512 ! Create file if it does not exist DECLARE LONG CONSTANT SSIO$M_O_TRUNC = 1024 ! Truncate file DECLARE LONG CONSTANT SSIO$M_O_EXCL = 2048 ! If O_CREAT and O_EXCL both set, open fails if file exists DECLARE LONG CONSTANT SSIO$M_O_NOCTTY = 4096 ! If TTY dev, not to be controlling TTY for process ! + ! Positioning (lseek) options ! - DECLARE LONG CONSTANT SSIO$C_SEEK_SET = 0 ! Set offset to value provided DECLARE LONG CONSTANT SSIO$C_SEEK_CUR = 1 ! Offset relative to current position DECLARE LONG CONSTANT SSIO$C_SEEK_END = 2 ! Offset relative to current EOF ! + ! Other miscellaneous values ! - DECLARE LONG CONSTANT SSIO$C_SSIZE_MAX = 2147483647 ! Largest read/write size (in bytes) permitted