{
{   The purpose of this procedure is to find the socket offer made
{ to the current job from the given source job. If the socket offer
{ is found, it is accepted and the task that had offered the socket
{ is readied. However, if the socket offer is not found, the current
{ task is queued at the end of the wait for socket offer list only
{ if a non zero wait time is specified. This procedure will wait for
{ the specified time for the socket to be offered. If no socket is
{ offered and the wait time expires, the task is dequeued from the
{ wait list and an appropriate status is returned to the caller.
{ The caller must have the required validation attributes in order
{ to accept a socket offer. The validation attributes required are
{ specified by the application the offered socket belongs to.
{
{   Note that if the global socket (for UDP socket) or the channel
{ connection (for TCP socket) has been terminated via application
{ management, the terminated socket will be accepted. Subsequent
{ user requests on the accepted socket will recognize the terminated
{ status.
{
{       NLP$SK_ACCEPT_SOCKET_OFFER (SOURCE_JOB, SOCKET_ID, TIME_STAMP,
{             WAIT_TIME, SOCKET_TYPE, GLOBAL_SOCKET_ID, CONNECTION_ID,
{             TCP_SOCKET_TYPE, BOUND_ADDRESS, PORT, TRAFFIC_PATTERN,
{             APPLICATION, RING, CAPABILITY, STATUS)
{
{ SOURCE_JOB: (input) This parameter specifies the source job from which
{       the socket offer is to be accepted.
{
{ SOCKET_ID: (input) This parameter specifies the new socket identifier
{       to be associated with the offered socket. The offered socket
{       after being accepted will be known by this identifier.
{
{ TIME_STAMP: (input) This parameter specifies the time stamp to be stored
{       in the UDP global socket. This time stamp is used to validate the
{       global socket against the job socket.
{
{ WAIT_TIME: (input) This parameter specifies the time in milliseconds
{       for which the caller is willing to wait for the source job to
{       offer the socket.
{
{ SOCKET_TYPE: (output) This parameter specifies the type of socket
{       (TCP or UDP) being accepted.
{
{ GLOBAL_SOCKET_ID: (output) This parameter specifies the global socket
{       identifier associated with the accepted socket. This parameter
{       is returned only for a UDP socket.
{
{ CONNECTION_ID: (output) This parameter specifies the connection identifier
{       associated with the accepted socket. This parameter is returned
{       only for a TCP socket.
{
{ TCP_SOCKET_TYPE: (output) This parameter specifies the type (i.e. connect
{       or accept) of TCP socket.
{
{ BOUND_ADDRESS: (output) This parameter specifies the IP address to which
{       which the accepted socket is bound. An IP addess of 0 implies the socket
{       is bound to all known IP addresses.
{
{ PORT: (output) This parameter specifies the port number the accepted socket
{       is bound to.
{
{ TRAFFIC_PATTERN: (output) This parameter specifies the traffic pattern
{       attribute associated with the accepted socket.
{
{ APPLICATION: (output) This parameter specifies the name of the application
{       to which the accepted socket belongs.
{
{ RING: (output) This parameter specifies the highest ring number from which
{       the user can invoke socket layer interfaces. This request will fail
{       if the user is in a higher ring.
{
{ CAPABILITY: (output) This parameter specifies the name of the capability the
{       user must have in order to invoke socket layer interfaces. This request
{       will fail if the user does not have the required capability.
{
{ STATUS: (output) This parameter specifies the request status.
{       CONDITION:
{             ave$missing_required_capability
{             nae$sk_invalid_user
{             nae$sk_no_socket_offered
{
