1994-08-07 18:36:12 +00:00
|
|
|
.\" @(#)bindresvport.3n 2.2 88/08/02 4.0 RPCSRC; from 1.7 88/03/14 SMI
|
1997-06-23 04:03:49 +00:00
|
|
|
.Dd November 22, 1987
|
1996-12-21 22:56:48 +00:00
|
|
|
.Dt BINDRESVPORT 3
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm bindresvport
|
|
|
|
.Ndbind a socket to a privileged IP port
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Fd #include <sys/types.h>
|
|
|
|
.Fd #include <netinet/in.h>
|
|
|
|
.Ft int
|
1996-12-30 14:12:36 +00:00
|
|
|
.Fn bindresvport "int sd" "struct sockaddr_in **sin"
|
1996-12-21 22:56:48 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
.Nm Bindresvport
|
1994-08-07 18:36:12 +00:00
|
|
|
is used to bind a socket descriptor to a privileged
|
1996-12-30 14:12:36 +00:00
|
|
|
.Tn IP
|
1994-08-07 18:36:12 +00:00
|
|
|
port, that is, a
|
|
|
|
port number in the range 0-1023.
|
|
|
|
The routine returns 0 if it is successful,
|
1996-12-21 22:56:48 +00:00
|
|
|
otherwise -1 is returned and
|
|
|
|
.Va errno
|
1994-08-07 18:36:12 +00:00
|
|
|
set to reflect the cause of the error.
|
1996-12-21 22:56:48 +00:00
|
|
|
.Pp
|
1994-08-07 18:36:12 +00:00
|
|
|
Only root can bind to a privileged port; this call will fail for any
|
|
|
|
other users.
|
1996-12-30 14:12:36 +00:00
|
|
|
.Pp
|
|
|
|
If the value of sin->sin_port is non-zero
|
|
|
|
.Fn bindresvport
|
|
|
|
will attempt to use that specific port. If it fails, it chooses another
|
|
|
|
privileged port automatically.
|