summaryrefslogtreecommitdiffstats
path: root/Modules/socketmodule.h
diff options
context:
space:
mode:
authorcaavery <cavery@redhat.com>2017-09-06 22:18:10 (GMT)
committerChristian Heimes <christian@python.org>2017-09-06 22:18:10 (GMT)
commiteffc12f8e9e20d0951d2ba5883587666bd8218e3 (patch)
tree7c017ddd36f528c98a36c2b08293eb843194deb9 /Modules/socketmodule.h
parent5d578442ed5ba5025e465b384341cb8646ffd819 (diff)
downloadcpython-effc12f8e9e20d0951d2ba5883587666bd8218e3.zip
cpython-effc12f8e9e20d0951d2ba5883587666bd8218e3.tar.gz
cpython-effc12f8e9e20d0951d2ba5883587666bd8218e3.tar.bz2
bpo-27584: New addition of vSockets to the python socket module (#2489)
* bpo-27584: New addition of vSockets to the python socket module Support for AF_VSOCK on Linux only * bpo-27584: Fixes for V2 Fixed syntax and naming problems. Fixed #ifdef AF_VSOCK checking Restored original aclocal.m4 * bpo-27584: Fixes for V3 Added checking for fcntl and thread modules. * bpo-27584: Fixes for V4 Fixed white space error * bpo-27584: Fixes for V5 Added back comma in (CID, port). * bpo-27584: Fixes for V6 Added news file. socket.rst now reflects first Linux introduction of AF_VSOCK. Fixed get_cid in test_socket.py. Replaced PyLong_FromLong with PyLong_FromUnsignedLong in socketmodule.c Got rid of extra AF_VSOCK #define. Added sockaddr_vm to sock_addr. * bpo-27584: Fixes for V7 Minor cleanup. * bpo-27584: Fixes for V8 Put back #undef AF_VSOCK as it is necessary when vm_sockets.h is not installed.
Diffstat (limited to 'Modules/socketmodule.h')
-rw-r--r--Modules/socketmodule.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h
index 03f982b..03dbf18 100644
--- a/Modules/socketmodule.h
+++ b/Modules/socketmodule.h
@@ -107,6 +107,12 @@ typedef int socklen_t;
#define SOL_ALG 279
#endif
+#ifdef HAVE_LINUX_VM_SOCKETS_H
+# include <linux/vm_sockets.h>
+#else
+# undef AF_VSOCK
+#endif
+
/* Linux 3.19 */
#ifndef ALG_SET_AEAD_ASSOCLEN
#define ALG_SET_AEAD_ASSOCLEN 4
@@ -193,6 +199,9 @@ typedef union sock_addr {
#ifdef HAVE_SOCKADDR_ALG
struct sockaddr_alg alg;
#endif
+#ifdef AF_VSOCK
+ struct sockaddr_vm vm;
+#endif
} sock_addr_t;
/* The object holding a socket. It holds some extra information,