/********************************************************************************************************************************/ /* Created: 15-MAR-2001 23:37:58 by OpenVMS SDL EV1-33 */ /* Source: 15-MAR-2001 23:34:09 _$11$DUA933:[BUILD.SDL]STARDEFFL.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $ICCDEF IDENT X-4 ***/ #ifndef __ICCDEF_LOADED #define __ICCDEF_LOADED 1 #pragma nostandard #ifdef __cplusplus extern "C" { #define __unknown_params ... #else #define __unknown_params #endif #if !defined(__VAXC) && !defined(VAXC) #define __struct struct #define __union union #else #define __struct variant_struct #define __union variant_union #endif /* */ /* ICC IOSB data structure for data transfer routines */ /* */ /* Past the 1st longword, the IOS_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 | | */ /* |---------------+---------------+---------------+---------| */ /* */ typedef struct _ios_icc { unsigned short int ios_icc$w_status; /* return status (returned) */ unsigned short int ios_icc$w_reserved; /* reserved */ __union { __struct { unsigned int ios_icc$l_remstat; /* remote status (returned) */ unsigned int ios_icc$l_fill0 [3]; } ios_icc$r_connect; __struct { unsigned int ios_icc$l_rcv_len; /* number of bytes recvd (returned) */ unsigned int ios_icc$l_req_handle; /* request handle (returned) */ unsigned int ios_icc$l_reply_len; /* reply len (returned) */ unsigned int ios_icc$l_fill1; } ios_icc$r_receive; __struct { unsigned int ios_icc$l_replyto_handle; /* request_handle (input) */ unsigned int ios_icc$l_fill2 [3]; } ios_icc$r_reply; __struct { unsigned int ios_icc$l_txrcv_len; /* number of bytes recvd (returned) */ char *ios_icc$a_reply_buffer; /* buffer address */ unsigned int ios_icc$l_fill64; unsigned int ios_icc$l_txreply_len; /* reply len (input) */ } ios_icc$r_transceive; } ios_icc$r_parameters; } ios_icc; #if !defined(__VAXC) && !defined(VAXC) #define ios_icc$l_remstat ios_icc$r_parameters.ios_icc$r_connect.ios_icc$l_remstat #define ios_icc$l_rcv_len ios_icc$r_parameters.ios_icc$r_receive.ios_icc$l_rcv_len #define ios_icc$l_req_handle ios_icc$r_parameters.ios_icc$r_receive.ios_icc$l_req_handle #define ios_icc$l_reply_len ios_icc$r_parameters.ios_icc$r_receive.ios_icc$l_reply_len #define ios_icc$l_replyto_handle ios_icc$r_parameters.ios_icc$r_reply.ios_icc$l_replyto_handle #define ios_icc$l_txrcv_len ios_icc$r_parameters.ios_icc$r_transceive.ios_icc$l_txrcv_len #define ios_icc$a_reply_buffer ios_icc$r_parameters.ios_icc$r_transceive.ios_icc$a_reply_buffer #define ios_icc$l_txreply_len ios_icc$r_parameters.ios_icc$r_transceive.ios_icc$l_txreply_len #endif /* #if !defined(__VAXC) && !defined(VAXC) */ #define ICC$C_RECEIVE_LEN 16 #define ICC$C_REPLY_LEN 8 #define ICC$C_TRANSCEIVE_LEN 20 /* */ /* Connection flag bit definitions (for connect/accept services) */ /* */ #define ICC$M_SYNCH_MODE 0x1 typedef struct _icc_connection_flags { unsigned icc$v_synch_mode : 1; /* Set (1) if data transfer routines */ /* are allowed to return SS$_SYNCH */ /* to the user. */ unsigned icc$v_fill_6 : 7; } icc_connection_flags; /* */ /* Length constants */ /* */ #define ICC$C_MAX_ASSOC_LEN 31 #define ICC$C_MAX_CONN_DATA_LEN 1000 /* */ /* ICC event codes (first parameter) for the connect/disconnect routines */ /* */ #define ICC$C_EV_CONNECT 0 #define ICC$C_EV_DISCONNECT 1 #define ICC$C_MIN_EVENT 0 #define ICC$C_MAX_EVENT 1 /* */ /* Default ICC association handle */ /* */ #define ICC$C_DFLT_ASSOC_HANDLE 1 /* */ /* Default flow control value */ /* */ #define ICC$C_DEFAULT_MAXFLOWBUFCNT 5 /* Pending inbound msgs */ #ifdef __cplusplus } #endif #pragma standard #endif /* __ICCDEF_LOADED */