table of contents
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:
- EACCES
- 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).
- EADDRINUSE
- Toate porturile privilegiate sunt în uz.
- EAFNOSUPPORT (EPFNOSUPPORT în glibc 2.7 și versiunile anterioare).
- 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¶
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 Linux (nepublicate) |