www.delorie.com/gnu/docs/glibc/libc_327.html   search  
 
Buy the book!


The GNU C Library

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

16.8.1 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 16.2 Communication Styles. The namespace argument specifies the namespace; it must be PF_LOCAL (see section 16.5 The Local Namespace) or PF_INET (see section 16.6 The Internet Namespace). protocol designates the specific protocol (see section 16.1 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 16.5.3 Example of Local-Namespace Sockets, or 16.6.7 Internet Socket Example.


  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003