HPlogo HP-UX Reference Volume 4 of 5 > b

bindresvport(3N)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

bindresvport() — bind socket to privileged IP port

SYNOPSIS

#include <sys/types.h> #include <netinet/in.h> int bindresvport(int sd, struct sockaddr_in *sin);

DESCRIPTION

The bindresvport() function binds a socket descriptor to a privileged IP port; that is, a port number in the range 0 to 1023.

sd is a socket descriptor that was previously defined by a successful call to socket() (see socket(2)).

Upon successful completion of bindresvport(), the sin_port field in the struct pointed to by sin contains the number of the privileged port bound to the sd socket. Due to the need to protect the port numbers used by various networking commands, bindresvport() only returns a port number within a smaller subrange in the range of 0 to 1023.

Only superuser can bind to a privileged port.

RETURN VALUE

bindresvport() returns the following values:

0

Successful completion.

-1

Failure. errno is set to indicate the error.

ERRORS

If bindresvport() fails, errno is set to one of the following values:

[EACCES]

The requested address is protected, and the current user has inadequate permission to access it.

[EADDRINUSE]

The specified address is already in use.

[EADDRNOTAVAIL]

The specified address is bad or not available from the local machine.

[EAFNOSUPPORT]

Requested address does not match the address family of this socket.

[EBADF]

sd is not a valid descriptor.

[EINVAL]

The socket is already bound to an address, or the socket has been shut down.

[ENOBUFS]

Insufficient buffer memory is available.

[ENOTSOCK]

sd is not a socket.

[EOPNOTSUPP]

The socket whose descriptor is sd is of a type that does not support address binding.

[EPFNOSUPPORT]

The value specified in the sin_family field of the sockaddr_in struct was not AF_INET.

AUTHOR

bindresvport() was developed by Sun Microsystems, Inc.

SEE ALSO

bind(2), socket(2).

© Hewlett-Packard Development Company, L.P.