diff options
Diffstat (limited to 'contrib/tools/python3/Modules/socketmodule.h')
| -rw-r--r-- | contrib/tools/python3/Modules/socketmodule.h | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/contrib/tools/python3/Modules/socketmodule.h b/contrib/tools/python3/Modules/socketmodule.h index d55c02fd156..bc4dd660374 100644 --- a/contrib/tools/python3/Modules/socketmodule.h +++ b/contrib/tools/python3/Modules/socketmodule.h @@ -98,6 +98,8 @@ typedef int socklen_t; # include <asm/types.h> # endif # include <linux/netlink.h> +#elif defined(HAVE_NETLINK_NETLINK_H) +# error #include <netlink/netlink.h> #else # undef AF_NETLINK #endif @@ -120,6 +122,9 @@ typedef int socklen_t; #endif #ifdef HAVE_BLUETOOTH_H +#ifdef __FreeBSD__ +#define L2CAP_SOCKET_CHECKED +#endif #error #include <bluetooth.h> #endif @@ -268,18 +273,22 @@ typedef union sock_addr { struct sockaddr_in6 in6; struct sockaddr_storage storage; #endif -#if defined(HAVE_BLUETOOTH_H) && defined(__FreeBSD__) - struct sockaddr_l2cap bt_l2; - struct sockaddr_rfcomm bt_rc; - struct sockaddr_sco bt_sco; - struct sockaddr_hci bt_hci; -#elif defined(HAVE_BLUETOOTH_BLUETOOTH_H) +#if defined(MS_WINDOWS) + struct SOCKADDR_BTH_REDEF bt_rc; +#elif defined(HAVE_BLUETOOTH_BLUETOOTH_H) // Linux struct sockaddr_l2 bt_l2; struct sockaddr_rc bt_rc; struct sockaddr_sco bt_sco; struct sockaddr_hci bt_hci; -#elif defined(MS_WINDOWS) - struct SOCKADDR_BTH_REDEF bt_rc; +#elif defined(HAVE_BLUETOOTH_H) +# if defined(__FreeBSD__) + struct sockaddr_l2cap bt_l2; + struct sockaddr_rfcomm bt_rc; + struct sockaddr_sco bt_sco; + struct sockaddr_hci bt_hci; +# else // NetBSD, DragonFly BSD + struct sockaddr_bt bt; +# endif #endif #ifdef HAVE_NETPACKET_PACKET_H struct sockaddr_ll ll; @@ -320,7 +329,7 @@ typedef struct { PyObject *(*errorhandler)(void); /* Error handler; checks errno, returns NULL and sets a Python exception */ - _PyTime_t sock_timeout; /* Operation timeout in seconds; + PyTime_t sock_timeout; /* Operation timeout in seconds; 0.0 means non-blocking */ struct _socket_state *state; } PySocketSockObject; |
