/sys$common/syshlp/helplib.hlb System Services, $ICC RECEIVE *Conan The Librarian (sorry for the slow response - running on an old VAX) |
Receives a single message over a connection. On Alpha systems, this service accepts 64-bit addresses. Format SYS$ICC_RECEIVE conn_handle ,ios_icc ,[astadr] ,[astprm] ,recv_buf ,recv_buf_len C Prototype: sys$icc_receive (unsigned int conn_handle, struct _ios_icc *ios_icc, void (*astadr)(__unknown_params), __int64 astprm, char *recv_buf, unsigned int recv_buf_len); Arguments conn_handle OpenVMS usage:connection_id type: longword (unsigned) access: read only mechanism: by value The handle of the fully established connection. ios_icc OpenVMS usage:io_status_block type: four longwords (unsigned) access: write only mechanism: by 32-bit or 64-bit reference (Alpha) mechanism: by 32-bit reference (VAX) I/O status block: +2 0 ------------------------------------------------- | Undefined | Completion status | ------------------------------------------------- | ios_icc$l_rcv_len: recvlen | +4 ------------------------------------------------- | ios_icc$l_req_handle: request_handle | +8 ------------------------------------------------- | ios_icc$l_reply_len: reply_len | +12 ------------------------------------------------- Completion codes: SS$_NORMAL, SS$_EXQUOTA, SS$_INSFMEM, SS$_LINKDISCON, SS$_BUFOVL, SS$_ACCVIO astadr OpenVMS usage:ast_procedure type: procedure_entry_mask access: call without stack unwinding mechanism: by 32-bit or 64-bit linkage reference (Alpha) mechanism: by 32-bit reference (VAX) The AST routine to be executed when the operation completes. astprm OpenVMS usage:user_arg type: quadword (unsigned) (Alpha) access: longword (unsigned) (VAX) mechanism: read only mechanism: by 64-bit value (Alpha) The parameter to be passed to the AST routine. recv_buf OpenVMS usage:byte_stream type: character-coded text string access: read only mechanism: by 32-bit or 64-bit reference (Alpha) mechanism: by 32-bit reference (VAX) The 32-bit or 64-bit address (on Alpha systems) or the 32-bit address (on VAX systems) of the buffer to receive the incoming data. The length of this buffer is specified by the argument recv_buf_len. recv_buf_len OpenVMS usage:buffer_length type: longword (unsigned) access: read only mechanism: by value The length (in bytes) of the buffer available to hold the incoming data. This value specifies the length of the buffer recv_buf. IOS_ICC Arguments: recvlen (output) OpenVMS usage:longword unsigned type: longword (unsigned) access: write only mechanism: by value This parameter is returned in the ios_icc. $ICC_RECEIVE writes the actual length of the incoming data message received from the target application (in bytes) into offset ios_icc$l_rcv_len of the ios_icc. request_handle (output) OpenVMS usage:request_id type: longword (unsigned) access: write only mechanism: by value This parameter is returned in the ios_icc. $ICC_RECEIVE writes the Request/Response handle into offset ios_icc$l_req_handle of the ios_icc. The request_handle argument is nonzero if the application is expected to reply to this message. reply_len (output) OpenVMS usage:longword_unsigned type: longword (unsigned) access: write only mechanism: by value This parameter is returned in the ios_icc. The $ICC_RECEIVE service writes the maximum length (in bytes) of the expected Reply message into offset ios_icc$l_reply_len of the ios_icc, if request_handle is nonzero.
|