getsockopt(2) System Calls Manual getsockopt(2) NUME getsockopt, setsockopt - obine i definete opiunile pe socluri BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include int getsockopt(int sockfd, int nivel, int optname, void optval[restrict *.optlen], socklen_t *restrict optlen); int setsockopt(int sockfd, int nivel, int optname, const void optval[.optlen], socklen_t optlen); DESCRIERE getsockopt() i setsockopt() manipuleaza opiunile pentru soclul la care face referire descriptorul de fiier sockfd. Opiunile pot exista la mai multe niveluri de protocol; ele sunt intotdeauna prezente la nivelul de soclu cel mai inalt. Atunci cand se manipuleaza opiunile de soclu, trebuie sa se precizeze nivelul la care se afla opiunea i numele acesteia. Pentru a manipula opiunile de la nivelul API pentru socluri, nivel este specificat ca SOL_SOCKET. Pentru a manipula opiunile la orice alt nivel, se furnizeaza numarul protocolului corespunzator care controleaza opiunea. De exemplu, pentru a indica faptul ca o opiune trebuie interpretata de protocolul TCP, nivel trebuie sa fie definit la numarul de protocol al TCP; a se vedea getprotoent(3). Argumentele optval i optlen sunt utilizate pentru a accesa valorile opiunilor pentru setsockopt(). Pentru getsockopt(), acestea identifica o memorie tampon in care trebuie returnata valoarea opiunii (opiunilor) solicitate. Pentru getsockopt(), optlen este un argument valoare-rezultat, care conine iniial dimensiunea memoriei tampon indicata de optval i care este modificata la returnare pentru a indica dimensiunea reala a valorii returnate. Daca nu trebuie furnizata sau returnata nicio valoare de opiune, optval poate fi NULL. Optname i orice opiuni specificate sunt transmise neinterpretate modulului de protocol corespunzator pentru interpretare. Fiierul de includere conine definiii pentru opiunile la nivel de soclu, descrise mai jos. Opiunile de la alte niveluri de protocol variaza in ceea ce privete formatul i numele; consultai intrarile corespunzatoare din seciunea 4 a manualului. Majoritatea opiunilor la nivel de soclu utilizeaza un argument int pentru optval. Pentru setsockopt(), argumentul trebuie sa fie diferit de zero pentru a activa o opiune booleana, sau zero daca opiunea trebuie dezactivata. Pentru o descriere a opiunilor de soclu disponibile, consultai socket(7) i paginile de manual ale protocolului corespunzator. VALOAREA RETURNATA In caz de succes, se returneaza zero pentru opiunile standard. In caz de eroare, se returneaza -1, iar errno este configurata pentru a indica eroarea. Netfilter permite programatorului sa defineasca opiuni de soclu personalizate cu gestionari asociai; pentru astfel de opiuni, valoarea de returnare in caz de succes este valoarea returnata de gestionarul respectiv. ERORI-IEIRE EBADF Argumentul sockfd nu este un descriptor de fiier valid. EFAULT Adresa indicata de optval nu se afla intr-o parte valida a spaiului de adrese al procesului. Pentru getsockopt(), aceasta eroare poate fi returnata, de asemenea, daca optlen nu se afla intr-o parte valida a spaiului de adrese al procesului. EINVAL optlen nevalida in setsockopt(). In unele cazuri, aceasta eroare poate aparea, de asemenea, pentru o valoare nevalida in optval (de exemplu, pentru opiunea IP_ADD_MEMBERSHIP descrisa in ip(7)). ENOPROTOOPT Opiunea este necunoscuta la nivelul indicat. ENOTSOCK Descriptorul de fiier sockfd nu se refera la un soclu. STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001, SVr4, 4.4BSD (a aparut pentru prima data in 4.2BSD). ERORI Mai multe dintre opiunile de soclu ar trebui sa fie gestionate la niveluri inferioare ale sistemului. CONSULTAI I ioctl(2), socket(2), getprotoent(3), protocols(5), ip(7), packet(7), socket(7), tcp(7), udp(7), unix(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 getsockopt(2)