BINDRESVPORT(3)
π BINDRESVPORT(3) π
okay so bestie, this is the Library Functions Manual page for bindresvport(3) β and it's literally all about binding a socket to a privileged IP port. iconic behavior, no cap. π
πΈ NAME πΈ
bindresvport, bindresvport_sa β bind a socket to a privileged IP port π«Ά
π LIBRARY π
Standard C Library (libc, -lc) β that's the library, bestie. β¨
β¨ SYNOPSIS β¨
#include <sys/types.h>
#include <rpc/rpc.h>
int
bindresvport(int sd, struct sockaddr_in *sin);
int
bindresvport_sa(int sd, struct sockaddr *sa);
π¦ DESCRIPTION π¦
Okay so bindresvport() and bindresvport_sa() are the functions you use to bind a socket descriptor to a privileged IP port β that's a port number in the range 0-1023, periodt. π
If sin is a pointer to a struct sockaddr_in then the appropriate fields in the structure should be defined. Note that sin->sin_family must be initialized to the address family of the socket, passed by sd. If sin->sin_port is β0β then an anonymous port (in the range 600-1023) will be chosen, and if bind(2) is successful, the sin->sin_port will be updated to contain the allocated port. β¨
If sin is the NULL pointer, an anonymous port will be allocated (as above). However, there is no way for bindresvport() to return the allocated port in this case. π
Only root can bind to a privileged port; this call will fail for any other users. so yeah, root energy required, bestie. π
Function prototype of bindresvport() is biased to AF_INET socket. The bindresvport_sa() function acts exactly the same, with more neutral function prototype. Note that both functions behave exactly the same, and both support AF_INET6 sockets as well as AF_INET sockets. π§
π RETURN VALUES π
The bindresvport() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error. π«Ά
π ERRORS π
[EPFNOSUPPORT]β if second argument was supplied, and address family did not match between arguments. π
The bindresvport() function may also fail and set errno for any of the errors specified for the calls bind(2), getsockopt(2), or setsockopt(2). π
π SEE ALSO π
bind(2), getsockopt(2), setsockopt(2), ip(4) β go read these too, bestie, iykyk. π
xoxo, Debian edition π β page vibes dated November 22, 1987 π
π¦ where this page comes from
- freebsd 15.1: base 15.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms