Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
getsockopt, setsockopt - Lire et ecrire les options d'une socket
SYNOPSIS
#include <sys/types.h> /* Consultez NOTES */
#include <sys/socket.h>
int getsockopt(int sockfd, int level, int optname,
void *optval, socklen_t *optlen);
int setsockopt(int sockfd, int level, int optname,
const void *optval, socklen_t optlen);
DESCRIPTION
getsockopt() et setsockopt() manipulent les options associees a la
socket a laquelle fait reference le descripteur de fichier sockfd. Ces
options peuvent exister aux divers niveaux de protocole, et sont
toujours presentes au niveau socket le plus eleve.
Quand on manipule une option d'une socket, il faut preciser le niveau
ou elle s'applique, et le nom de l'option. Au niveau de l'API des
sockets, level prend la valeur SOL_SOCKET. Pour tous les autres
niveaux, il faut fournir le numero de protocole approprie. Par exemple,
pour une option interpretee par le protocole TCP, level prendra le
numero du protocole TCP. Consultez getprotoent(3).
Les parametres optval et optlen sont utilises pour determiner les
options pour setsockopt(). Pour getsockopt ils identifient un tampon
dans lequel la valeur de l'option desiree doit etre renvoyee. Pour
getsockopt, optlen est un parametre resultat, contenant initialement la
taille du tampon pointe par optval, et rempli en retour pour indiquer
la taille effective des valeurs renvoyees. Si aucune option n'est
fournie ou renvoyee, optval peut etre NULL.
optname et toute autre option sont passes sans interpretation au
protocole approprie, pour qu'il l'interprete lui-meme. Le fichier d'en-
tete <sys/socket.h> contient les definitions pour le niveau socket. Les
options pour les autres niveaux de protocole peuvent varier tant en
format qu'en nom, consultez les pages de manuel de la section 7 pour
plus d'informations.
La plupart des options au niveau socket utilisent un parametre de type
int pour optval. Pour setsockopt(), un parametre non nul valide une
option booleenne, et zero l'invalide.
Pour une description des options disponibles consultez socket(7) et les
pages correspondant au protocole concerne.
VALEUR RENVOY'EE
S'il reussit, cet appel systeme renvoie 0. S'il echoue, il renvoie -1
et remplit errno en consequence.
ERREURS
EBADF sockfd n'est pas un descripteur valable.
EFAULT optval pointe en dehors de l'espace d'adressage accessible.
Avec getsockopt(), ceci peut s'appliquer egalement a optlen.
EINVAL optlen non valable pour setsockopt(). Dans certains cas cette
erreur peut aussi se produire pour une valeur non valable de
optval (par exemple, pour l'option IP_ADD_MEMBERSHIP decrite
dans ip(7)).
ENOPROTOOPT
L'option est inconnue pour ce protocole.
ENOTSOCK Le parametre sockfd est un fichier, pas une socket.
CONFORMIT'E
SVr4, BSD 4.4 (ces appels systeme sont apparus dans BSD 4.2),
POSIX.1-2001.
NOTES
POSIX.1-2001 ne requiert pas l'inclusion de <sys/types.h>, et cet en-
tete n'est pas necessaire sous Linux. Cependant, il doit etre inclus
sous certaines implementations historiques (BSD), et les applications
portables devraient probablement l'utiliser.
Le parametre optlen de getsockopt() et setsockopt() est en fait un int
[*] (et c'est ce qu'utilisent BSD 4.x, libc4 et libc5). Une certaine
confusion POSIX a donne le socklen_t actuel, egalement utilise par
glibc. Pour plus de details consultez accept(2).
BOGUES
Plusieurs options sur les sockets devraient etre gerees a un niveau
plus bas par le systeme.
VOIR AUSSI
ioctl(2), socket(2), getprotoent(3), protocols(5), socket(7), tcp(7),
unix(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
Linux 3 decembre 2008 GETSOCKOPT(2)