summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-10-27 20:27:14 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-10-27 20:27:14 (GMT)
commit323dd70b48c1a665eb96a7e32636fdad03bd5dc1 (patch)
treeb388c3a6d1a2e4b266ad213320a5a9b791030625 /Modules
parent9acae51be2d9e17ecab3e174cb32dd05e1097c1f (diff)
downloadcpython-323dd70b48c1a665eb96a7e32636fdad03bd5dc1.zip
cpython-323dd70b48c1a665eb96a7e32636fdad03bd5dc1.tar.gz
cpython-323dd70b48c1a665eb96a7e32636fdad03bd5dc1.tar.bz2
Merged revisions 85868 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r85868 | antoine.pitrou | 2010-10-27 22:13:57 +0200 (mer., 27 oct. 2010) | 3 lines Issue #8852: Allow the socket module to build on OpenSolaris. ........
Diffstat (limited to 'Modules')
-rw-r--r--Modules/socketmodule.c40
1 files changed, 28 insertions, 12 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 834fc69..9bdca0c 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -1065,7 +1065,7 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto)
}
#endif
-#ifdef HAVE_NETPACKET_PACKET_H
+#if defined(HAVE_NETPACKET_PACKET_H) && defined(SIOCGIFNAME)
case AF_PACKET:
{
struct sockaddr_ll *a = (struct sockaddr_ll *)addr;
@@ -1381,7 +1381,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
}
#endif
-#ifdef HAVE_NETPACKET_PACKET_H
+#if defined(HAVE_NETPACKET_PACKET_H) && defined(SIOCGIFINDEX)
case AF_PACKET:
{
struct sockaddr_ll* addr;
@@ -4434,16 +4434,32 @@ PyInit__socket(void)
PyModule_AddStringConstant(m, "BDADDR_LOCAL", "00:00:00:FF:FF:FF");
#endif
-#ifdef HAVE_NETPACKET_PACKET_H
- PyModule_AddIntConstant(m, "AF_PACKET", AF_PACKET);
- PyModule_AddIntConstant(m, "PF_PACKET", PF_PACKET);
- PyModule_AddIntConstant(m, "PACKET_HOST", PACKET_HOST);
- PyModule_AddIntConstant(m, "PACKET_BROADCAST", PACKET_BROADCAST);
- PyModule_AddIntConstant(m, "PACKET_MULTICAST", PACKET_MULTICAST);
- PyModule_AddIntConstant(m, "PACKET_OTHERHOST", PACKET_OTHERHOST);
- PyModule_AddIntConstant(m, "PACKET_OUTGOING", PACKET_OUTGOING);
- PyModule_AddIntConstant(m, "PACKET_LOOPBACK", PACKET_LOOPBACK);
- PyModule_AddIntConstant(m, "PACKET_FASTROUTE", PACKET_FASTROUTE);
+#ifdef AF_PACKET
+ PyModule_AddIntMacro(m, AF_PACKET);
+#endif
+#ifdef PF_PACKET
+ PyModule_AddIntMacro(m, PF_PACKET);
+#endif
+#ifdef PACKET_HOST
+ PyModule_AddIntMacro(m, PACKET_HOST);
+#endif
+#ifdef PACKET_BROADCAST
+ PyModule_AddIntMacro(m, PACKET_BROADCAST);
+#endif
+#ifdef PACKET_MULTICAST
+ PyModule_AddIntMacro(m, PACKET_MULTICAST);
+#endif
+#ifdef PACKET_OTHERHOST
+ PyModule_AddIntMacro(m, PACKET_OTHERHOST);
+#endif
+#ifdef PACKET_OUTGOING
+ PyModule_AddIntMacro(m, PACKET_OUTGOING);
+#endif
+#ifdef PACKET_LOOPBACK
+ PyModule_AddIntMacro(m, PACKET_LOOPBACK);
+#endif
+#ifdef PACKET_FASTROUTE
+ PyModule_AddIntMacro(m, PACKET_FASTROUTE);
#endif
#ifdef HAVE_LINUX_TIPC_H