! *** 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 ! ! ICC IOSB data structure for data transfer routines ! ! Past the 1st longword, the IOC_ICC fields vary depending on the type of ! request/operation. The diagram attempts to picture those relationships ! below. Longwords 2-5 are done in columns, each column representing the ! value of that longword for that type of request/operation. ! ! +4 +2 +0 ! +---------------------------------------------------------+ ! L1: | Undefined | Return status code | ! |---------------------------------------------------------| ! |---------------------------------------------------------| ! | | | | | ! | RECEIVE | REPLY | TRANSCEIVE | CONNECT | ! | | | | | ! L2: | rcv_len | replyto_handle| txrcv_len | RemStat | ! |---------------|---------------|---------------|---------| ! L3: | req_handle | Unused | | Unused | ! |---------------|---------------| reply_buffer | | ! L4: | reply_len | Unused | | | ! |---------------|---------------|---------------| | ! L5: | Unused | Unused | txreply_len | | ! |---------------+---------------+---------------+---------| ! DECLARE LONG CONSTANT IOS_ICC$S_IOS_ICC = 20 record IOS_ICC WORD IOS_ICC$w_status ! return status WORD IOS_ICC$w_reserved ! reserved group IOS_ICC$r_parameters variant case group IOS_ICC$r_connect LONG IOS_ICC$l_remstat ! remote status (returned) LONG IOS_ICC$l_fill0 ( 1 to 3 ) end group IOS_ICC$r_connect case group IOS_ICC$r_receive LONG IOS_ICC$l_rcv_len ! return len (returned) LONG IOS_ICC$l_req_handle ! request handle (returned) LONG IOS_ICC$l_reply_len ! reply len (returned) LONG IOS_ICC$l_fill1 end group IOS_ICC$r_receive case group IOS_ICC$r_reply LONG IOS_ICC$l_replyto_handle ! request_handle (input) LONG IOS_ICC$l_fill2 ( 1 to 3 ) end group IOS_ICC$r_reply case group IOS_ICC$r_transceive LONG IOS_ICC$l_txrcv_len ! return length (returned) BASIC$QUADWORD IOS_ICC$A_reply_buffer ! 64-bit bfr addr (Alpha) LONG IOS_ICC$l_txreply_len ! reply len (input) end group IOS_ICC$r_transceive end variant end group IOS_ICC$r_parameters end record IOS_ICC DECLARE LONG CONSTANT ICC$C_receive_len = 16 DECLARE LONG CONSTANT ICC$C_reply_len = 8 DECLARE LONG CONSTANT ICC$C_transceive_len = 20 ! ! Length constants ! DECLARE LONG CONSTANT ICC$C_MAX_ASSOC_LEN = 31 DECLARE LONG CONSTANT ICC$C_MAX_CONN_DATA_LEN = 1000 ! ! Connection flag bit definitions (for connect/accept services) ! DECLARE LONG CONSTANT ICC$M_Synch_Mode = x'00000001' DECLARE LONG CONSTANT ICC$S_ICC_CONNECTION_FLAGS = 1 record ICC_CONNECTION_FLAGS ! Set (1) if data transfer routines ! are allowed to return SS$_SYNCH ! to the user. BYTE Synch_Mode_bits ! COMMENT ADDED BY SDL - Synch_Mode_bits contains bits Synch_Mode through FILL_17_ end record ICC_CONNECTION_FLAGS ! ! ICC event codes (first parameter) for the connect/disconnect routines ! DECLARE LONG CONSTANT ICC$C_EV_CONNECT = 0 DECLARE LONG CONSTANT ICC$C_EV_DISCONNECT = 1 DECLARE LONG CONSTANT ICC$C_min_event = 0 DECLARE LONG CONSTANT ICC$C_max_event = 1 ! ! Default ICC association handle ! DECLARE LONG CONSTANT ICC$C_DFLT_ASSOC_HANDLE = 1 ! ! Default flow control value ! DECLARE LONG CONSTANT ICC$C_DEFAULT_MAXFLOWBUFCNT = 5 ! Pending inbound msgs