Sturcture in_addr
Résolu
RME
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
RME Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
RME Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
En unix la structure in_addr a la configuration suivante
typedef struct in_addr
{
union
{
struct
{
u_char s_b1, s_b2, s_b3, s_b4;
} S_un_b;
struct
{
u_short s_w1, s_w2;
} S_un_w;
u_long S_addr;
} S_un
} IN_ADDR;
Lorsque je compile avec gcc sous Ubuntu, j'obtiens une erreur : in_addr has no member named S_un.
La structure a-t-elle changé de format ?
Quelqu'un a-t-il une réponse à ce problème.
Merci d'avance
En unix la structure in_addr a la configuration suivante
typedef struct in_addr
{
union
{
struct
{
u_char s_b1, s_b2, s_b3, s_b4;
} S_un_b;
struct
{
u_short s_w1, s_w2;
} S_un_w;
u_long S_addr;
} S_un
} IN_ADDR;
Lorsque je compile avec gcc sous Ubuntu, j'obtiens une erreur : in_addr has no member named S_un.
La structure a-t-elle changé de format ?
Quelqu'un a-t-il une réponse à ce problème.
Merci d'avance
2 réponses
Salut, un petit tout sur LXR et on apprends que
La définition que du donnes vient de chez Microsoft (winsock) ou de chez d'autres UNIX propriétaires (OpenVMS d'HP) et ils ne respectent pas le standard BSD 4.3 (que Linux suit) qui définit
T'es donc mal parti. Quand on code pour Linux, on code pour Linux, pas pour Windows. Un coup de
from human import idiocy
del idiocy
in_addrn'existe que depuis Linux 3.7 et est définie par
struct in_addr {
__be32 s_addr;
};
__be32est l'équivalent de
unsigned int32_t, utilisé pour les addresses IPv4.
La définition que du donnes vient de chez Microsoft (winsock) ou de chez d'autres UNIX propriétaires (OpenVMS d'HP) et ils ne respectent pas le standard BSD 4.3 (que Linux suit) qui définit
in_addrcomme ci-dessus.
T'es donc mal parti. Quand on code pour Linux, on code pour Linux, pas pour Windows. Un coup de
man inet_addrt'en dira grand sur comment utiliser ces fonctions et structures.
from human import idiocy
del idiocy