summaryrefslogtreecommitdiff
path: root/Modules/socketmodule.h
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/socketmodule.h')
-rw-r--r--Modules/socketmodule.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h
index f064795b80..0435878721 100644
--- a/Modules/socketmodule.h
+++ b/Modules/socketmodule.h
@@ -59,9 +59,12 @@ typedef int socklen_t;
#include <bluetooth.h>
#endif
+#ifdef HAVE_NET_IF_H
+# include <net/if.h>
+#endif
+
#ifdef HAVE_NETPACKET_PACKET_H
# include <sys/ioctl.h>
-# include <net/if.h>
# include <netpacket/packet.h>
#endif
@@ -69,6 +72,21 @@ typedef int socklen_t;
# include <linux/tipc.h>
#endif
+#ifdef HAVE_LINUX_CAN_H
+#include <linux/can.h>
+#endif
+
+#ifdef HAVE_LINUX_CAN_RAW_H
+#include <linux/can/raw.h>
+#endif
+
+#ifdef HAVE_SYS_SYS_DOMAIN_H
+#include <sys/sys_domain.h>
+#endif
+#ifdef HAVE_SYS_KERN_CONTROL_H
+#include <sys/kern_control.h>
+#endif
+
#ifndef Py__SOCKET_H
#define Py__SOCKET_H
#ifdef __cplusplus
@@ -104,6 +122,7 @@ typedef int SOCKET_T;
/* Socket address */
typedef union sock_addr {
struct sockaddr_in in;
+ struct sockaddr sa;
#ifdef AF_UNIX
struct sockaddr_un un;
#endif
@@ -123,6 +142,12 @@ typedef union sock_addr {
#ifdef HAVE_NETPACKET_PACKET_H
struct sockaddr_ll ll;
#endif
+#ifdef HAVE_LINUX_CAN_H
+ struct sockaddr_can can;
+#endif
+#ifdef HAVE_SYS_KERN_CONTROL_H
+ struct sockaddr_ctl ctl;
+#endif
} sock_addr_t;
/* The object holding a socket. It holds some extra information,