MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


X/Open Networking Services Library Functions    sockatmark(3XNET)



NAME
     sockatmark - determine whether a socket is  at  the  out-of-
     band mark

SYNOPSIS
     cc [ flag ... ] file ... -lxnet [ library ... ]
     #include 

     int sockatmark(int s);


DESCRIPTION
     The sockatmark()  function  determines  whether  the  socket
     specified  by  the  descriptor  s is at the out-of-band data
     mark. If the protocol for the  socket  supports  out-of-band
     data  by  marking  the stream with an out-of-band data mark,
     the sockatmark() function returns 1 when all data  preceding
     the  mark has been read and the out-of-band data mark is the
     first element in the receive queue. The  sockatmark()  func-
     tion does not remove the mark from the stream.

RETURN VALUES
     Upon  successful  completion,  the   sockatmark()   function
     returns  a value indicating whether the socket is at an out-
     of-band data mark. If  the  protocol  has  marked  the  data
     stream  and  all  data preceding the mark has been read, the
     return value is 1. If there is no mark, or if data  precedes
     the  mark  in  the  receive queue, the sockatmark() function
     returns 0. Otherwise, it returns -1 and sets errno to  indi-
     cate the error.

ERORS
     The sockatmark() function will fail if:

     EBADF     The s argument is not a valid file descriptor.


     ENOTY    The s argument does not specify a descriptor for a
               socket.


USAGE
     The use of this function between receive  operations  allows
     an application to determine which received data precedes the
     out-of-band data and which follows the out-of-band data.


     There is an inherent race condition in the use of this func-
     tion.  On  an  empty  receive queue, the current read of the
     location might well be at the "mark", but the system has  no
     way  of  knowing that the next data segment that will arrive
     from the network will carry the mark, and sockatmark()  will



SunOS 5.11           Last change: 1 Oct 2003                    1






X/Open Networking Services Library Functions    sockatmark(3XNET)



     return false, and the next read operation will silently con-
     sume the mark.


     Hence, this function can only  be  used  reliably  when  the
     application already knows that the out-of-band data has been
     seen by the system or that it is known that  there  is  data
     waiting  to  be  read  at  the  socket,  either by SIGURG or
     select(3C).

ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Standard                    
    
     MT-Level                     Safe                        
    


SEE ALSO
     recv(3XNET),  recvmsg(3XNET),   select(3C),   attributes(5),
     standards(5)



























SunOS 5.11           Last change: 1 Oct 2003                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™