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


The GNU C Library

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

16.3.2 Setting the Address of a Socket

Use the bind function to assign an address to a socket. The prototype for bind is in the header file `sys/socket.h'. For examples of use, see 16.5.3 Example of Local-Namespace Sockets, or see 16.6.7 Internet Socket Example.

Function: int bind (int socket, struct sockaddr *addr, socklen_t length)
The bind function assigns an address to the socket socket. The addr and length arguments specify the address; the detailed format of the address depends on the namespace. The first part of the address is always the format designator, which specifies a namespace, and says that the address is in the format of that namespace.

The return value is 0 on success and -1 on failure. The following errno error conditions are defined for this function:

EBADF
The socket argument is not a valid file descriptor.

ENOTSOCK
The descriptor socket is not a socket.

EADDRNOTAVAIL
The specified address is not available on this machine.

EADDRINUSE
Some other socket is already using the specified address.

EINVAL
The socket socket already has an address.

EACCES
You do not have permission to access the requested address. (In the Internet domain, only the super-user is allowed to specify a port number in the range 0 through IPPORT_RESERVED minus one; see 16.6.3 Internet Ports.)

Additional conditions may be possible depending on the particular namespace of the socket.


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