Library /sys$common/syshlp/helplib.hlb  —  System Services, $ICC RECEIVE
    Receives a single message over a connection.

    On Alpha and Integrity server 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);

1  –  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 and Integrity
                  servers)
    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 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.

 recv_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 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.
Close Help