int sockatmark(int fd);
Exigences de macros de test de fonctionnalités pour la glibc (voir feature_test_macros(7)) :
sockatmark() : _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600
Les données hors-bande ne sont supportées que par certains protocoles de socket de flux.
sockatmark() peut être appelée de manière sûre par un gestionnaire pour le signal SIGURG.
sockatmark() est implémentée en utilisant l'opération ioctl(2) SIOCATMARK.
char buf[BUF_LEN];
char oobdata;
int atmark, s;
for (;;) {
atmark = sockatmark(fd);
if (atmark == -1) {
perror("sockatmark");
break;
}
if (atmark)
break;
s = read(fd, buf, BUF_LEN) <= 0);
if (s == -1)
perror("read");
if (s <= 0)
break;
}
if (atmark == 1) {
if (recv(fd, &oobdata, 1, MSG_OOB) == -1) {
perror("recv");
...
}
}
Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 4 août 2006 et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 sockatmark ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Dernière mise à jour : 17 juillet 2008