Scroll to navigation

bindresvport(3) Library Functions Manual bindresvport(3)

NUME

bindresvport - asociază un soclu cu un port IP privilegiat

BIBLIOTECA

Biblioteca C standard (libc, -lc)

SINOPSIS

#include <sys/types.h>
#include <netinet/in.h>
int bindresvport(int sockfd, struct sockaddr_in *sin);

DESCRIERE

bindresvport() este folosită pentru a asocia soclul la care face referire descriptorul de fișier sockfd cu un port IP anonim privilegiat, adică un număr de port ales în mod arbitrar din intervalul 512-1023.

Dacă bind(2) efectuat de bindresvport() are succes, iar sin nu este NULL, atunci sin->sin_port returnează numărul de port alocat efectiv.

sin poate fi NULL, caz în care sin->sin_famy este considerat implicit ca fiind AF_INET. Cu toate acestea, în acest caz, bindresvport() nu are cum să returneze numărul de port alocat efectiv (această informație poate fi obținută ulterior cu ajutorul getsockname(2)).

VALOAREA RETURNATĂ

bindresvport() returnează 0 în caz de succes; în caz contrar, se returnează -1, iar errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

bindresvport() poate eșua din oricare dintre aceleași motive ca și bind(2). În plus, pot apărea următoarele erori:

Procesul de apelare nu a fost privilegiat (în Linux: procesul de apelare nu a avut capacitatea CAP_NET_BIND_SERVICE în spațiul de nume de utilizator care guvernează spațiul de nume de rețea).
Toate porturile privilegiate sunt în uz.
sin nu este NULL și sin->sin_family nu este AF_INET.

ATRIBUTE

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
bindresvport() Siguranța firelor . glibc >= 2.17: MT-Safe; glibc < 2.17: MT-Unsafe

Funcția bindresvport() utilizează o variabilă statică care nu era protejată de un sistem de blocare înainte de glibc 2.17, ceea ce face ca funcția să fie nesigură din punct de vedere tehnic.

VERSIUNI

Prezentă în BSD, Solaris și în multe alte sisteme.

NOTE

Spre deosebire de unele implementări bindresvport(), implementarea glibc ignoră orice valoare pe care apelantul o furnizează în sin->sin_port.

STANDARDE

BSD.

CONSULTAȚI ȘI

bind(2), getsockname(2)

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

2 mai 2024 Pagini de manual de Linux 6.8