Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ rresvport_af(3) — Tru64 UNIX 5.1b

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

rcmd(3)

ruserok(3)

rresvport_af(3)  —  Subroutines

NAME

rresvport_af − Retrieve a socket with a privileged address

SYNOPSIS

#include <unistd.h>
int rresvport_af(
        int ∗port,
        int family );

LIBRARY

Standard C Library (libc)

PARAMETERS

portSpecifies the port to use for the connection. 

family
Specifies the address family for the socket to be created.  Valid values are AF_INET (IPv4) and AF_INET6 (IPv6).

DESCRIPTION

The rresvport_af() function obtains a socket with a privileged address bound to the socket.  A privileged Internet port is one that falls in the range of 0 to 1023. 

Only processes with an effective user ID of root can use the rresvport_af() function.  An authentication scheme based on remote port numbers is used to verify permissions. 

If the connection succeeds, a socket in the Internet domain of type SOCK_STREAM for the specified address family is returned to the calling process. 

RETURN VALUES

Upon successful completion, the rresvport_af() function returns a valid, bound socket descriptor. Otherwise, a value of -1 is returned and errno is set to indicate the error. 

ERRORS

If the rresvport_af() function fails, errno may be set to one of the following values:

[EAGAIN]
All network ports are in use.

[EAFNOSUPPORT]
The addresses in the specified address family cannot be used with this socket.

[EMFILE]
Two hundred (200) file descriptors are currently open.

[ENFILE]
The system file table is full.

[ENOBUFS]
Insufficient buffers are available in the system to complete the function.

FILES

/etc/services
Contains the service names.

SEE ALSO

Functions: rcmd(3), ruserok(3)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026