Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 09be409

Browse files
committed
Patch by Marc-Andre Lemburg to add a bunch more symbols.
1 parent 4f1a618 commit 09be409

1 file changed

Lines changed: 86 additions & 2 deletions

File tree

Modules/socketmodule.c

Lines changed: 86 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2007,10 +2007,44 @@ initsocket()
20072007
if (PyDict_SetItemString(d, "SocketType",
20082008
(PyObject *)&PySocketSock_Type) != 0)
20092009
return;
2010+
2011+
/* Address families (we only support AF_INET and AF_UNIX) */
2012+
#ifdef AF_UNSPEC
2013+
insint(d, "AF_UNSPEC", AF_UNSPEC);
2014+
#endif
20102015
insint(d, "AF_INET", AF_INET);
20112016
#ifdef AF_UNIX
20122017
insint(d, "AF_UNIX", AF_UNIX);
20132018
#endif /* AF_UNIX */
2019+
#ifdef AF_AX25
2020+
insint(d, "AF_AX25", AF_AX25); /* Amateur Radio AX.25 */
2021+
#endif
2022+
#ifdef AF_IPX
2023+
insint(d, "AF_IPX", AF_IPX); /* Novell IPX */
2024+
#endif
2025+
#ifdef AF_APPLETALK
2026+
insint(d, "AF_APPLETALK", AF_APPLETALK); /* Appletalk DDP */
2027+
#endif
2028+
#ifdef AF_NETROM
2029+
insint(d, "AF_NETROM", AF_NETROM); /* Amateur radio NetROM */
2030+
#endif
2031+
#ifdef AF_BRIDGE
2032+
insint(d, "AF_BRIDGE", AF_BRIDGE); /* Multiprotocol bridge */
2033+
#endif
2034+
#ifdef AF_AAL5
2035+
insint(d, "AF_AAL5", AF_AAL5); /* Reserved for Werner's ATM */
2036+
#endif
2037+
#ifdef AF_X25
2038+
insint(d, "AF_X25", AF_X25); /* Reserved for X.25 project */
2039+
#endif
2040+
#ifdef AF_INET6
2041+
insint(d, "AF_INET6", AF_INET6); /* IP version 6 */
2042+
#endif
2043+
#ifdef AF_ROSE
2044+
insint(d, "AF_ROSE", AF_ROSE); /* Amateur Radio X.25 PLP */
2045+
#endif
2046+
2047+
/* Socket types */
20142048
insint(d, "SOCK_STREAM", SOCK_STREAM);
20152049
insint(d, "SOCK_DGRAM", SOCK_DGRAM);
20162050
#ifndef __BEOS__
@@ -2050,7 +2084,6 @@ initsocket()
20502084
#ifdef SO_REUSEPORT
20512085
insint(d, "SO_REUSEPORT", SO_REUSEPORT);
20522086
#endif
2053-
20542087
#ifdef SO_SNDBUF
20552088
insint(d, "SO_SNDBUF", SO_SNDBUF);
20562089
#endif
@@ -2113,10 +2146,39 @@ initsocket()
21132146
#endif
21142147

21152148
/* Protocol level and numbers, usable for [gs]etsockopt */
2116-
/* Sigh -- some systems (e.g. Linux) use enums for these. */
21172149
#ifdef SOL_SOCKET
21182150
insint(d, "SOL_SOCKET", SOL_SOCKET);
21192151
#endif
2152+
#ifdef SOL_IP
2153+
insint(d, "SOL_IP", SOL_IP);
2154+
#else
2155+
insint(d, "SOL_IP", 0);
2156+
#endif
2157+
#ifdef SOL_IPX
2158+
insint(d, "SOL_IPX", SOL_IPX);
2159+
#endif
2160+
#ifdef SOL_AX25
2161+
insint(d, "SOL_AX25", SOL_AX25);
2162+
#endif
2163+
#ifdef SOL_ATALK
2164+
insint(d, "SOL_ATALK", SOL_ATALK);
2165+
#endif
2166+
#ifdef SOL_NETROM
2167+
insint(d, "SOL_NETROM", SOL_NETROM);
2168+
#endif
2169+
#ifdef SOL_ROSE
2170+
insint(d, "SOL_ROSE", SOL_ROSE);
2171+
#endif
2172+
#ifdef SOL_TCP
2173+
insint(d, "SOL_TCP", SOL_TCP);
2174+
#else
2175+
insint(d, "SOL_TCP", 6);
2176+
#endif
2177+
#ifdef SOL_UDP
2178+
insint(d, "SOL_UDP", SOL_UDP);
2179+
#else
2180+
insint(d, "SOL_UDP", 17);
2181+
#endif
21202182
#ifdef IPPROTO_IP
21212183
insint(d, "IPPROTO_IP", IPPROTO_IP);
21222184
#else
@@ -2269,6 +2331,28 @@ initsocket()
22692331
#ifdef IP_DROP_MEMBERSHIP
22702332
insint(d, "IP_DROP_MEMBERSHIP", IP_DROP_MEMBERSHIP);
22712333
#endif
2334+
#ifdef IP_DEFAULT_MULTICAST_TTL
2335+
insint(d, "IP_DEFAULT_MULTICAST_TTL", IP_DEFAULT_MULTICAST_TTL);
2336+
#endif
2337+
#ifdef IP_DEFAULT_MULTICAST_LOOP
2338+
insint(d, "IP_DEFAULT_MULTICAST_LOOP", IP_DEFAULT_MULTICAST_LOOP);
2339+
#endif
2340+
#ifdef IP_MAX_MEMBERSHIPS
2341+
insint(d, "IP_MAX_MEMBERSHIPS", IP_MAX_MEMBERSHIPS);
2342+
#endif
2343+
2344+
/* TCP options */
2345+
#ifdef TCP_NODELAY
2346+
insint(d, "TCP_NODELAY", TCP_NODELAY);
2347+
#endif
2348+
#ifdef TCP_MAXSEG
2349+
insint(d, "TCP_MAXSEG", TCP_MAXSEG);
2350+
#endif
2351+
2352+
/* IPX options */
2353+
#ifdef IPX_TYPE
2354+
insint(d, "IPX_TYPE", IPX_TYPE);
2355+
#endif
22722356

22732357
/* Initialize gethostbyname lock */
22742358
#ifdef USE_GETHOSTBYNAME_LOCK

0 commit comments

Comments
 (0)