version 1.122, 2021/03/13 12:50:50
|
version 1.130, 2024/01/17 16:57:17
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.33 |
RPL/2 (R) version 4.1.36 |
Copyright (C) 1989-2021 Dr. BERTRAND Joël |
Copyright (C) 1989-2024 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 3102 instruction_wfdata(struct_processus *s_e
|
Line 3102 instruction_wfdata(struct_processus *s_e
|
static inline logical1 |
static inline logical1 |
options_sockets(struct_processus *s_etat_processus, struct_socket *s_socket) |
options_sockets(struct_processus *s_etat_processus, struct_socket *s_socket) |
{ |
{ |
int drapeau; |
|
|
|
if (((*s_socket).options & (1 << d_BROADCAST)) != 0) |
if (((*s_socket).options & (1 << d_BROADCAST)) != 0) |
{ |
{ |
if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_BROADCAST, &drapeau, |
if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_BROADCAST, NULL, 0) |
sizeof(drapeau)) != 0) |
!= 0) |
{ |
{ |
return(d_erreur); |
return(d_erreur); |
} |
} |
Line 3115 options_sockets(struct_processus *s_etat
|
Line 3113 options_sockets(struct_processus *s_etat
|
|
|
if (((*s_socket).options & (1 << d_DONT_ROUTE)) != 0) |
if (((*s_socket).options & (1 << d_DONT_ROUTE)) != 0) |
{ |
{ |
if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_DONTROUTE, &drapeau, |
if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_DONTROUTE, NULL, 0) |
sizeof(drapeau)) != 0) |
!= 0) |
{ |
{ |
return(d_erreur); |
return(d_erreur); |
} |
} |
Line 3124 options_sockets(struct_processus *s_etat
|
Line 3122 options_sockets(struct_processus *s_etat
|
|
|
if (((*s_socket).options & (1 << d_KEEP_ALIVE)) != 0) |
if (((*s_socket).options & (1 << d_KEEP_ALIVE)) != 0) |
{ |
{ |
if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_KEEPALIVE, &drapeau, |
if (setsockopt((*s_socket).socket, SOL_SOCKET, SO_KEEPALIVE, NULL, 0) |
sizeof(drapeau)) != 0) |
!= 0) |
{ |
{ |
return(d_erreur); |
return(d_erreur); |
} |
} |
Line 3282 instruction_wfsock(struct_processus *s_e
|
Line 3280 instruction_wfsock(struct_processus *s_e
|
(*s_objet_argument).objet)).type, "SEQUENTIAL DATAGRAM") != 0)) |
(*s_objet_argument).objet)).type, "SEQUENTIAL DATAGRAM") != 0)) |
{ |
{ |
// Mode non connecté : l'attente se fait sur un poll() |
// Mode non connecté : l'attente se fait sur un poll() |
|
#define DEBUG_RETURN |
if ((s_objet_resultat = copie_objet(s_etat_processus, |
if ((s_objet_resultat = copie_objet(s_etat_processus, |
s_objet_argument, 'P')) == NULL) |
s_objet_argument, 'P')) == NULL) |
{ |
{ |