VMS Help
System Services, $ICC TRANSCEIVE
*Conan The Librarian
|
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);
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.