GNU Info

Info Node: (libc.info)Creating a Socket

(libc.info)Creating a Socket


Next: Closing a Socket Up: Open/Close Sockets
Enter node , (file) or (file)node

Creating a Socket
-----------------

   The primitive for creating a socket is the `socket' function,
declared in `sys/socket.h'.

 - Function: int socket (int NAMESPACE, int STYLE, int PROTOCOL)
     This function creates a socket and specifies communication style
     STYLE, which should be one of the socket styles listed in Note:
     Communication Styles.  The NAMESPACE argument specifies the
     namespace; it must be `PF_LOCAL' (Note: Local Namespace) or
     `PF_INET' (Note: Internet Namespace).  PROTOCOL designates the
     specific protocol (Note: Socket Concepts); zero is usually right
     for PROTOCOL.

     The return value from `socket' is the file descriptor for the new
     socket, or `-1' in case of error.  The following `errno' error
     conditions are defined for this function:

    `EPROTONOSUPPORT'
          The PROTOCOL or STYLE is not supported by the NAMESPACE
          specified.

    `EMFILE'
          The process already has too many file descriptors open.

    `ENFILE'
          The system already has too many file descriptors open.

    `EACCES'
          The process does not have the privilege to create a socket of
          the specified STYLE or PROTOCOL.

    `ENOBUFS'
          The system ran out of internal buffer space.

     The file descriptor returned by the `socket' function supports both
     read and write operations.  However, like pipes, sockets do not
     support file positioning operations.

   For examples of how to call the `socket' function, see Note: Local
Socket Example, or Note: Inet Example.


automatically generated by info2www version 1.2.2.9