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