-#ifndef HAVE_ADDRINFO\r
-struct addrinfo {\r
- int ai_flags; /* AI_PASSIVE, AI_CANONNAME */\r
- int ai_family; /* PF_xxx */\r
- int ai_socktype; /* SOCK_xxx */\r
- int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */\r
- size_t ai_addrlen; /* length of ai_addr */\r
- char *ai_canonname; /* canonical name for hostname */\r
- struct sockaddr *ai_addr; /* binary address */\r
- struct addrinfo *ai_next; /* next structure in linked list */\r
-};\r
-#endif /* !HAVE_ADDRINFO */\r
-\r
-#ifndef HAVE_SOCKADDR_STORAGE\r
-/*\r
- * RFC 2553: protocol-independent placeholder for socket addresses\r
- */\r
-#define _SS_MAXSIZE 128\r
-#ifdef HAVE_LONG_LONG\r
-#define _SS_ALIGNSIZE (sizeof(PY_LONG_LONG))\r
-#else\r
-#define _SS_ALIGNSIZE (sizeof(double))\r
-#endif /* HAVE_LONG_LONG */\r
-#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(u_char) * 2)\r
-#define _SS_PAD2SIZE (_SS_MAXSIZE - sizeof(u_char) * 2 - \\r
- _SS_PAD1SIZE - _SS_ALIGNSIZE)\r
-\r
-struct sockaddr_storage {\r
-#ifdef HAVE_SOCKADDR_SA_LEN\r
- unsigned char ss_len; /* address length */\r
- unsigned char ss_family; /* address family */\r
-#else\r
- unsigned short ss_family; /* address family */\r
-#endif /* HAVE_SOCKADDR_SA_LEN */\r
- char __ss_pad1[_SS_PAD1SIZE];\r
-#ifdef HAVE_LONG_LONG\r
- PY_LONG_LONG __ss_align; /* force desired structure storage alignment */\r
-#else\r
- double __ss_align; /* force desired structure storage alignment */\r
-#endif /* HAVE_LONG_LONG */\r
- char __ss_pad2[_SS_PAD2SIZE];\r
-};\r
-#endif /* !HAVE_SOCKADDR_STORAGE */\r
+#ifndef _SYS_SOCKET_H_\r
+ #ifndef HAVE_ADDRINFO\r
+ struct addrinfo {\r
+ int ai_flags; /* AI_PASSIVE, AI_CANONNAME */\r
+ int ai_family; /* PF_xxx */\r
+ int ai_socktype; /* SOCK_xxx */\r
+ int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */\r
+ size_t ai_addrlen; /* length of ai_addr */\r
+ char *ai_canonname; /* canonical name for hostname */\r
+ struct sockaddr *ai_addr; /* binary address */\r
+ struct addrinfo *ai_next; /* next structure in linked list */\r
+ };\r
+ #endif /* !HAVE_ADDRINFO */\r
+\r
+ #ifndef HAVE_SOCKADDR_STORAGE\r
+ /*\r
+ * RFC 2553: protocol-independent placeholder for socket addresses\r
+ */\r
+ #define _SS_MAXSIZE 128\r
+ #ifdef HAVE_LONG_LONG\r
+ #define _SS_ALIGNSIZE (sizeof(PY_LONG_LONG))\r
+ #else\r
+ #define _SS_ALIGNSIZE (sizeof(double))\r
+ #endif /* HAVE_LONG_LONG */\r
+ #define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof(u_char) * 2)\r
+ #define _SS_PAD2SIZE (_SS_MAXSIZE - sizeof(u_char) * 2 - \\r
+ _SS_PAD1SIZE - _SS_ALIGNSIZE)\r
+\r
+ struct sockaddr_storage {\r
+ #ifdef HAVE_SOCKADDR_SA_LEN\r
+ unsigned char ss_len; /* address length */\r
+ unsigned char ss_family; /* address family */\r
+ #else\r
+ unsigned short ss_family; /* address family */\r
+ #endif /* HAVE_SOCKADDR_SA_LEN */\r
+ char __ss_pad1[_SS_PAD1SIZE];\r
+ #ifdef HAVE_LONG_LONG\r
+ PY_LONG_LONG __ss_align; /* force desired structure storage alignment */\r
+ #else\r
+ double __ss_align; /* force desired structure storage alignment */\r
+ #endif /* HAVE_LONG_LONG */\r
+ char __ss_pad2[_SS_PAD2SIZE];\r
+ };\r
+ #endif /* !HAVE_SOCKADDR_STORAGE */\r
+#endif /* _SYS_SOCKET_H_ */\r