summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Modules/socketmodule.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/tools/python3/Modules/socketmodule.h')
-rw-r--r--contrib/tools/python3/Modules/socketmodule.h27
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;