Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 
      7 #ifndef s_addr
      8 
      9 #ifdef __LP64__
     10 #pragma push_macro("u_long")
     11 #undef u_long
     12 #define u_long __ms_u_long
     13 #endif
     14 
     15 #include <_bsd_types.h>
     16 
     17 typedef struct in_addr {
     18   union {
     19     struct { u_char  s_b1, s_b2, s_b3, s_b4; } S_un_b;
     20     struct { u_short s_w1, s_w2; } S_un_w;
     21     u_long S_addr;
     22   } S_un;
     23 } IN_ADDR, *PIN_ADDR, *LPIN_ADDR;
     24 
     25 #define s_addr	S_un.S_addr
     26 #define s_host	S_un.S_un_b.s_b2
     27 #define s_net	S_un.S_un_b.s_b1
     28 #define s_imp	S_un.S_un_w.s_w2
     29 #define s_impno	S_un.S_un_b.s_b4
     30 #define s_lh	S_un.S_un_b.s_b3
     31 
     32 #ifdef __LP64__
     33 #pragma pop_macro("u_long")
     34 #endif
     35 
     36 #endif /* s_addr */
     37 
     38