{
{    The purpose of this procedure is to receive data from a given UDP socket.
{ The user can specify an IP address and/or a port number as the selection
{ criteria to mask the incoming data. When specified, NAM/VE will deliver only
{ the data received from the selected source IP address and/or port number.
{ The data received from all other sources will
{ be discarded by NAM/VE.  If a 0 value is specified for the selection criteria,
{ data received from all sources will be delivered.
{
{    If the local IP address parameter is specified and the local IP address
{ option has been enabled (via the set socket options request), on return this
{ parameter will contain the destination IP address of the received message.
{
{    If no data is available and the interface mode is blocking for the local
{ socket, the caller will be blocked until data is available or the interface
{ timeout (specified via the set socket options request) has expired.  If the
{ interface mode is non-blocking (selected via the set socket options request)
{ and no data is available, control will be returned immediately with an
{ appropriate status.
{
{    If the user's buffer is not large enough to hold the entire message, the
{ received message will be discarded and an abnormal status will be returned to
{ the user.
{
{    This request is valid only for a UDP (datagram) socket.
{
{       NAP$SK_RECEIVE_FROM_SOCKET (SOCKET_ID, SELECTION_CRITERIA, FOREIGN_SOCKET,
{             LOCAL_IP_ADDRESS, DATA, DATA_LENGTH, STATUS)
{
{ SOCKET_ID: (input)  This parameter specifies the identifier of the local
{       socket from which data is to be received.
{
{ SELECTION_CRITERIA: (input) If specified, this parameter contains the port
{       number and/or IP address of the source from which the data is to be
{       received.
{
{ FOREIGN_SOCKET: (output) This parameter contains the port number and IP address
{       of the source from which the data was received.
{
{ LOCAL_IP_ADDRESS: (output)  If this parameter is specified and the local IP
{       address option has been enabled, it will contain the destination IP
{       address of the received message.
{
{ DATA: (input, output)  This parameter specifies the list of buffers to
{       receive the data.
{
{ DATA_LENGTH: (output)  This parameter specifies the length of data received.
{
{ STATUS: (output) This parameter specifies the request status.
{       CONDITION:
{             nae$sk_data_area_too_small
{             nae$sk_incorrect_socket_type
{             nae$sk_interface_timeout
{             nae$sk_invalid_user
{             nae$sk_job_recovery
{             nae$sk_no_data_available
{             nae$sk_receive_in_progress
{             nae$sk_socket_terminated
{             nae$sk_unbound_socket
{             nae$sk_unknown_socket
{
