aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/rpc/bindresvport.3
blob: 9abdcb991619197ca27f0978f0dcbc79f165eb70 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
.\" @(#)bindresvport.3n	2.2 88/08/02 4.0 RPCSRC; from 1.7 88/03/14 SMI
.\" $FreeBSD$
.\"
.Dd November 22, 1987
.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
.Fn bindresvport "int sd" "struct sockaddr_in **sin"
.Sh DESCRIPTION
.Nm Bindresvport
is used to bind a socket descriptor to a privileged
.Tn IP
port, that is, a
port number in the range 0-1023.
The routine returns 0 if it is successful,
otherwise -1 is returned and
.Va errno
set to reflect the cause of the error.
.Pp
Only root can bind to a privileged port; this call will fail for any
other users.
.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.