VMS Help  —  TCPIP Services, Programming Interfaces, System Services, $QIO  Network Pseudodevice Driver Functions, IO$_READVBLK
    The IO$_READVBLK function transfers data received from an
    internet host to the specified user buffers. Use both p1 and
    p2 arguments to specify a single user buffer. Use the p6 argument
    to specify multiple buffers.
    For connection-oriented protocols, such as TCP, data is buffered
    in system space as a stream of bytes. The IO$_READVBLK function
    completes when one of the following occurs:
    o  There is no more data buffered in system space for this
       socket.
    o  There is no more available space in the user buffer. Data that
       is buffered in system space but did not fit in the user buffer
       is available to the user in subsequent $QIOs.
    For connectionless protocols, datagram and raw socket data is
    buffered in system space as a chain of records. The user buffer
    specified with a IO$_READVBLK function is filled with data that
    is buffered in one record. Each IO$_READVBLK reads data from
    one record. The IO$_READVBLK function completes when one of the
    following occurs:
    o  All data from a record is transferred to the user buffer.
    o  There is no more available space in the user buffer. Any data
       remaining in the current record that did not fit in the user
       buffer is discarded. A subsequent $QIO reads data from the
       next record buffered in system space.
    Use the TCP/IP management command SHOW DEVICE_SOCKET/FULL to
    display counters related to read operations.
    Related Functions
    The equivalent Sockets API functions are read(), recv(),
    recvfrom(), and recvmsg().
Additional Information: explode extract
Arguments Function Modifiers Condition Values Returned
Close Help