Sends a single message over a connection and then waits for a reply. On Alpha and Integrity server systems, this service accepts 64- bit addresses. Format SYS$ICC_TRANSCEIVE conn_handle ,ios_icc ,[astadr] ,[astprm] ,send_buf ,send_len C Prototype sys$icc_transceive (unsigned int conn_handle, struct _ios_icc *ios_icc, void (*astadr)(__unknown_params), __int64 astprm, char *send_buf, unsigned int send_len);
1 – Arguments
conn_handle OpenVMS usage:connection_id type: longword (unsigned) access: read only mechanism: by value The handle of the fully established (open) connection. ios_icc OpenVMS usage:io_status_block type: five longwords (unsigned) access: modify mechanism: by 32-bit or 64-bit reference (Alpha and Integrity servers) I/O status block: +2 0 -------------------------------------------------- | Undefined | Completion status | -------------------------------------------------- | ios_icc$l_txrcv_len: returned_data_len | +4 -------------------------------------------------- | ios_icc$a_reply_buffer: reply_buf | +8 | | +12 -------------------------------------------------- | ios_icc$l_txreply_len: reply_buf_len | +16 -------------------------------------------------- Completion status values: SS$_NORMAL, SS$_EXQUOTA, SS$_INSFMEM, SS$_BUFOVFL, SS$_LINKABORT, SS$_LINKDISCON astadr OpenVMS usage:ast_procedure type: procedure_entry_mask access: call without stack unwinding mechanism: by 32-bit or 64-bit linkage reference (Alpha and Integrity servers) The AST routine to be executed when the operation completes. astprm OpenVMS usage:user_arg type: quadword (unsigned) (Alpha and Integrity servers) access: read only mechanism: by 64-bit value (Alpha and Integrity servers) The parameter to be passed to the AST routine. send_buf OpenVMS usage:byte_stream type: character-coded text string access: read only mechanism: by 32-bit or 64-bit reference (Alpha and Integrity servers) The 32-bit or 64-bit address (on Alpha and Integrity server systems) of the buffer containing the data to be sent. The length of this buffer is specified by the argument send_len. send_len OpenVMS usage:buffer size type: longword (unsigned) access: read only mechanism: by value The length (in bytes) of the data to be sent over the connection. This value specifies the length of the buffer send_buf. IOS_ICC Arguments: returned_data_len (output) OpenVMS usage:longword_unsigned type: longword (unsigned) access: write only mechanism: by value This parameter is passed through the ios_icc. The $ICC_TRANSCEIVE service writes the actual length (in bytes) of the reply data received into offset ios_icc$l_txrcv_len of the ios_icc. This value represents how much data in reply_buf was returned by the target application. reply_buf (input) OpenVMS usage:byte_stream type: character-coded text string access: write only mechanism: by 32-bit or 64-bit reference (Alpha and Integrity servers) This parameter is passed through the ios_icc. The 32-bit or 64- bit address (on Alpha and Integrity server systems) of the buffer available to receive the incoming reply message is placed in offset ios_icc$a_reply_buffer of the ios_icc. reply_buf_len (input) OpenVMS usage:buffer_size type: longword (unsigned) access: read only mechanism: by value This parameter is passed through the ios_icc. The length (in bytes) of the buffer to receive the reply message. This value specifies the length of the buffer reply_buf. This value is placed in offset ios_icc$l_txreply_len of the ios_icc.