Provided by: manpages-ro-dev_4.28.0-2_all 

NUME
getsockopt, setsockopt - obține și definește opțiunile pe socluri
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#include <sys/socket.h>
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() manipulează opțiunile pentru soclul la care face referire descriptorul de
fișier sockfd. Opțiunile pot exista la mai multe niveluri de protocol; ele sunt întotdeauna prezente la
nivelul de soclu cel mai înalt.
Atunci când se manipulează opțiunile de soclu, trebuie să se precizeze nivelul la care se află opțiunea
și numele acesteia. Pentru a manipula opțiunile de la nivelul API pentru socluri, nivel este specificat
ca SOL_SOCKET. Pentru a manipula opțiunile la orice alt nivel, se furnizează numărul protocolului
corespunzător care controlează opțiunea. De exemplu, pentru a indica faptul că o opțiune trebuie
interpretată de protocolul TCP, nivel trebuie să fie definit la numărul de protocol al TCP; a se vedea
getprotoent(3).
Argumentele optval și optlen sunt utilizate pentru a accesa valorile opțiunilor pentru setsockopt().
Pentru getsockopt(), acestea identifică o memorie tampon în care trebuie returnată valoarea opțiunii
(opțiunilor) solicitate. Pentru getsockopt(), optlen este un argument valoare-rezultat, care conține
inițial dimensiunea memoriei tampon indicată de optval și care este modificată la returnare pentru a
indica dimensiunea reală a valorii returnate. Dacă nu trebuie furnizată sau returnată nicio valoare de
opțiune, optval poate fi NULL.
Optname și orice opțiuni specificate sunt transmise neinterpretate modulului de protocol corespunzător
pentru interpretare. Fișierul de includere <sys/socket.h> conține definiții pentru opțiunile la nivel de
soclu, descrise mai jos. Opțiunile de la alte niveluri de protocol variază în ceea ce privește formatul
și numele; consultați intrările corespunzătoare din secțiunea 4 a manualului.
Majoritatea opțiunilor la nivel de soclu utilizează un argument int pentru optval. Pentru setsockopt(),
argumentul trebuie să fie diferit de zero pentru a activa o opțiune booleană, sau zero dacă opțiunea
trebuie dezactivată.
Pentru o descriere a opțiunilor de soclu disponibile, consultați socket(7) și paginile de manual ale
protocolului corespunzător.
VALOAREA RETURNATĂ
În caz de succes, se returnează zero pentru opțiunile standard. În caz de eroare, se returnează -1, iar
errno este configurată pentru a indica eroarea.
Netfilter permite programatorului să definească opțiuni de soclu personalizate cu gestionari asociați;
pentru astfel de opțiuni, valoarea de returnare în caz de succes este valoarea returnată de gestionarul
respectiv.
ERORI-IEȘIRE
EBADF Argumentul sockfd nu este un descriptor de fișier valid.
EFAULT Adresa indicată de optval nu se află într-o parte validă a spațiului de adrese al procesului.
Pentru getsockopt(), această eroare poate fi returnată, de asemenea, dacă optlen nu se află într-o
parte validă a spațiului de adrese al procesului.
EINVAL optlen nevalidă în setsockopt(). În unele cazuri, această eroare poate apărea, de asemenea,
pentru o valoare nevalidă în optval (de exemplu, pentru opțiunea IP_ADD_MEMBERSHIP descrisă în
ip(7)).
ENOPROTOOPT
Opțiunea este necunoscută la nivelul indicat.
ENOTSOCK
Descriptorul de fișier sockfd nu se referă la un soclu.
STANDARDE
POSIX.1-2008.
ISTORIC
POSIX.1-2001, SVr4, 4.4BSD (a apărut pentru prima dată în 4.2BSD).
ERORI
Mai multe dintre opțiunile de soclu ar trebui să fie gestionate la niveluri inferioare ale sistemului.
CONSULTAȚI ȘI
ioctl(2), socket(2), getprotoent(3), protocols(5), ip(7), packet(7), socket(7), tcp(7), udp(7), unix(7)
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.
Pagini de manual de Linux 6.9.1 2 mai 2024 getsockopt(2)