/********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:29:50 by OpenVMS SDL EV3-3 */ /* Source: 30-MAR-2010 17:29:22 $1$DGA7274:[STARLET_H.SRC]STARDEFFL.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $ICCDEF IDENT X-4 ***/ #ifndef __ICCDEF_LOADED #define __ICCDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /* */ /* 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 | | */ /* |---------------+---------------+---------------+---------| */ /* */ #ifdef __NEW_STARLET typedef struct _ios_icc { unsigned short int ios_icc$w_status; /* return status */ 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; /* return len (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; /* return length (returned) */ #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ char *ios_icc$a_reply_buffer; /* 64-bit bfr addr (Alpha) */ #else unsigned __int64 ios_icc$a_reply_buffer; #endif unsigned int ios_icc$l_txreply_len; /* reply len (input) */ } ios_icc$r_transceive; } ios_icc$r_parameters; } IOS_ICC; #if !defined(__VAXC) #define ios_icc$r_connect ios_icc$r_parameters.ios_icc$r_connect #define ios_icc$l_remstat ios_icc$r_connect.ios_icc$l_remstat #define ios_icc$r_receive ios_icc$r_parameters.ios_icc$r_receive #define ios_icc$l_rcv_len ios_icc$r_receive.ios_icc$l_rcv_len #define ios_icc$l_req_handle ios_icc$r_receive.ios_icc$l_req_handle #define ios_icc$l_reply_len ios_icc$r_receive.ios_icc$l_reply_len #define ios_icc$r_reply ios_icc$r_parameters.ios_icc$r_reply #define ios_icc$l_replyto_handle ios_icc$r_reply.ios_icc$l_replyto_handle #define ios_icc$r_transceive ios_icc$r_parameters.ios_icc$r_transceive #define ios_icc$l_txrcv_len ios_icc$r_transceive.ios_icc$l_txrcv_len #define ios_icc$a_reply_buffer ios_icc$r_transceive.ios_icc$a_reply_buffer #define ios_icc$l_txreply_len ios_icc$r_transceive.ios_icc$l_txreply_len #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ typedef struct _ios_icc { unsigned short int ios_icc$w_status; /* return status */ 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; /* return len (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; /* return length (returned) */ unsigned __int64 ios_icc$a_reply_buffer; /* 64-bit bfr addr (Alpha) */ unsigned int ios_icc$l_txreply_len; /* reply len (input) */ } ios_icc$r_transceive; } ios_icc$r_parameters; } ios_icc; #if !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) */ #endif /* #ifdef __NEW_STARLET */ #define ICC$C_RECEIVE_LEN 16 #define ICC$C_REPLY_LEN 8 #define ICC$C_TRANSCEIVE_LEN 20 /* */ /* Length constants */ /* */ #define ICC$C_MAX_ASSOC_LEN 31 #define ICC$C_MAX_CONN_DATA_LEN 1000 /* */ /* Connection flag bit definitions (for connect/accept services) */ /* */ #define ICC$M_SYNCH_MODE 0x1 #ifdef __NEW_STARLET 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_17_ : 7; } ICC_CONNECTION_FLAGS; #else /* __OLD_STARLET */ 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_17_ : 7; } icc_connection_flags; #endif /* #ifdef __NEW_STARLET */ /* */ /* 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 */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __ICCDEF_LOADED */