*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->HP-UX 11i man pages -> socket (7)              
Title
Content
Arch
Section
 

Contents


 socket(7)                                                         socket(7)




 NAME    [Toc]    [Back]
      socket - interprocess communications

 DESCRIPTION    [Toc]    [Back]
      Sockets are communication endpoints that allow processes to
      communicate either locally or remotely.  They are accessed by means of
      a set of system calls (see socket(2)).

      The following ioctl() requests are defined in <sys/ioctl.h> (see
      ioctl(2)):

      FIOSNBIO       If the int with the address arg is non-zero, the socket
                     is put into non-blocking mode.  Otherwise, the socket
                     is put into blocking mode.  Blocking mode is the
                     default.  The FIONBIO request is equivalent to the
                     FIOSNBIO request, although using FIONBIO is not
                     recommended.  See accept(2), connect(2), recv(2), and
                     send(2) for an explanation of how non-blocking mode is
                     used.

      FIONREAD       For SOCK_STREAM sockets, the number of bytes currently
                     readable from this socket is returned in the integer
                     with the address arg.  For SOCK_DGRAM sockets, the
                     number of bytes currently readable, plus the size of
                     the sockaddr structure (defined in <sys/socket.h>), is
                     returned in the integer with the address arg.

      SIOCATMARK     For SOCK_STREAM TCP sockets, on return the integer with
                     the address arg is non-zero if the inbound TCP stream
                     has been read up to where the out-of-band data byte
                     starts.  Otherwise, the inbound TCP stream has not yet
                     been read up to where the out-of-band data byte starts.
                     For sockets other than SOCK_STREAM TCP sockets, on
                     return the integer with the address arg is always zero.

      SIOCSPGRP      This request sets the process group or process ID
                     associated with the socket to be the value of the
                     integer with the address arg.  A process group or
                     process ID associated with the socket in this manner is
                     signaled when the state of the socket changes: SIGURG
                     is delivered upon the receipt of out-of-band data;
                     SIGIO is delivered if the socket is asynchronous, as
                     described in FIOASYNC below.  If the value of the
                     integer with the address arg is positive, the signal is
                     sent to the process whose process ID matches the value
                     specified.  If the value is negative, the signal is
                     sent to all the processes that have a process group
                     equal to the absolute value of the value specified.  If
                     the value is zero, no signal is sent to any process.
                     It is necessary to issue this request with a non-zero
                     integer value to enable the signal delivery mechanism



 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003






 socket(7)                                                         socket(7)




                     described above.  The default for the process group or
                     process ID value is zero.

      SIOCGPGRP      This request returns the process group or process ID
                     associated with the socket in the integer with the
                     address arg.  See the explanation for SIOCSPGRP above
                     for more details on the meaning of the integer value
                     returned.

      FIOASYNC       If the integer whose address is arg is non-zero, this
                     request sets the state of the socket as asynchronous.
                     Otherwise, the socket is put into synchronous mode (the
                     default).  Asynchronous mode enables the delivery of
                     the SIGIO signal when either of the following
                     conditions is met.

                          +  New data arrives.

                          +  For connection-oriented protocols, whenever
                             additional outgoing buffer space becomes
                             available or the connection is established or
                             broken.

                     The process group or process ID associated with the
                     socket must be non-zero in order for SIGIO signals to
                     be sent. The signal is delivered according to the
                     semantics of SIOCSPGRP described above.

      The fcntl(2) O_NDELAY and O_NONBLOCK flags (defined in <fcntl.h>) are
      supported by sockets.  If the O_NONBLOCK flag is set, the socket is
      put into POSIX-style non-blocking mode.  If the O_NDELAY flag is set,
      the socket is put into non-blocking mode.  Otherwise, the socket is
      put into blocking mode.  Blocking mode is the default.  See accept(2),
      connect(2), recv(2), and send(2) for an explanation of how these forms
      of non-blocking mode are used.

      Since the fcntl() O_NONBLOCK and O_NDELAY flags and ioctl() FIOSNBIO
      requests are supported, the following clarifies on how these features
      interact.  If the O_NONBLOCK or O_NDELAY flag has been set, recv() and
      send() requests behave accordingly, regardless of any FIOSNBIO
      requests.  If neither the O_NONBLOCK flag nor the O_NDELAY flag has
      been set, FIOSNBIO requests control the the behavior of recv() and
      send().

 DEPENDENCIES    [Toc]    [Back]
    AF_CCITT Only
      Only the FIOSNBIO, FIONREAD, SIOCGPGRP, and SIOCSPGRP ioctl() requests
      are defined for af_ccitt sockets.

 AUTHOR    [Toc]    [Back]
      socket was developed by the University of California, Berkeley.



 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003






 socket(7)                                                         socket(7)




 SEE ALSO    [Toc]    [Back]
      fcntl(2), getsockopt(2), ioctl(2), socket(2).


 Hewlett-Packard Company            - 3 -   HP-UX 11i Version 2: August 2003
[ Back ]
      
      
 Similar pages
Name OS Title
pipe HP-UX create an interprocess channel
pipe Tru64 Create an interprocess channel
pipe IRIX create an interprocess channel
datapool IRIX Fortran Interprocess Data Sharing
ipc Linux System V interprocess communication mechanisms
stdipc IRIX standard interprocess communication package
unix Linux Sockets for local interprocess communication.
ftok Tru64 Generate a standard interprocess communication key
ipcs HP-UX report status of interprocess communication facilities
pipe FreeBSD create descriptor pair for interprocess communication
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service