.\" This page was initially taken from the 4.4BSD-Lite CDROM (BSD license) .\" with substantial updates .\" Copyright (C) 2007, Michael Kerrisk .\" .\" @(#)bindresvport.3n 2.2 88/08/02 4.0 RPCSRC; from 1.7 88/03/14 SMI .\" .\" 2007-05-31, mtk: Rewrite and substantial additional text. .\" .TH BINDRESVPORT 3 2007-05-31 "" "Linux Programmer's Manual" .SH NAME bindresvport \- bind a socket to a privileged IP port .SH SYNOPSIS .nf .B #include .B #include .LP .BI "int bindresvport(int " sd ", struct sockaddr_in **" sin ); .fi .SH DESCRIPTION .LP .BR bindresvport () is used to bind a socket descriptor to a privileged IP port, that is, a port number in the range 0-1023. If .I in\->sin_port is 0 then an anonymous port in the range 600 to 1023 be chosen. If the .BR bind (2) performed by .BR bindresvport () is successful, then .I sin\->sin_port returns the port number actually allocated. .I sin can be NULL, in which case .I sin\->sin_family is implicitly taken to be .BR AF_INET , and an anonymous port is allocated (as above). However, in this case, .BR bindresvport () has no way to return the port number actually allocated. .SH RETURN VALUE .BR bindresvport () returns 0 if it is successful, otherwise \-1 is returned and .I errno set to indicate the cause of the error. .SH ERRORS .BR bindresvport () can fail for any of the same reasons as .BR bind (2). .SH "CONFORMING TO" Not in POSIX.1-2001. Present on the BSDs, Solaris, and many other systems. .SH NOTES .LP Only root can bind to a privileged port; this call will fail for any other users. In addition, the following error may occur: .TP .B EPFNOSUPPORT .I sin is not NULL and .I sin\->sin_family is not .BR AF_INET . .SH SEE ALSO .BR bind (2)