Clean up/rework socket constants and add __all__ (#13044)

This commit is contained in:
Stephen Morton
2024-11-20 05:05:11 -08:00
committed by GitHub
parent be624e5124
commit 308a09f056
3 changed files with 737 additions and 105 deletions

View File

@@ -28,7 +28,6 @@ from _socket import (
IP_MULTICAST_LOOP as IP_MULTICAST_LOOP,
IP_MULTICAST_TTL as IP_MULTICAST_TTL,
IP_OPTIONS as IP_OPTIONS,
IP_RECVDSTADDR as IP_RECVDSTADDR,
IP_TOS as IP_TOS,
IP_TTL as IP_TTL,
IPPORT_RESERVED as IPPORT_RESERVED,
@@ -38,17 +37,13 @@ from _socket import (
IPPROTO_EGP as IPPROTO_EGP,
IPPROTO_ESP as IPPROTO_ESP,
IPPROTO_FRAGMENT as IPPROTO_FRAGMENT,
IPPROTO_GGP as IPPROTO_GGP,
IPPROTO_HOPOPTS as IPPROTO_HOPOPTS,
IPPROTO_ICMP as IPPROTO_ICMP,
IPPROTO_ICMPV6 as IPPROTO_ICMPV6,
IPPROTO_IDP as IPPROTO_IDP,
IPPROTO_IGMP as IPPROTO_IGMP,
IPPROTO_IP as IPPROTO_IP,
IPPROTO_IPV4 as IPPROTO_IPV4,
IPPROTO_IPV6 as IPPROTO_IPV6,
IPPROTO_MAX as IPPROTO_MAX,
IPPROTO_ND as IPPROTO_ND,
IPPROTO_NONE as IPPROTO_NONE,
IPPROTO_PIM as IPPROTO_PIM,
IPPROTO_PUP as IPPROTO_PUP,
@@ -93,7 +88,6 @@ from _socket import (
SO_SNDLOWAT as SO_SNDLOWAT,
SO_SNDTIMEO as SO_SNDTIMEO,
SO_TYPE as SO_TYPE,
SO_USELOOPBACK as SO_USELOOPBACK,
SOL_IP as SOL_IP,
SOL_SOCKET as SOL_SOCKET,
SOL_TCP as SOL_TCP,
@@ -139,8 +133,176 @@ from io import BufferedReader, BufferedRWPair, BufferedWriter, IOBase, RawIOBase
from typing import Any, Literal, Protocol, SupportsIndex, overload
from typing_extensions import Self
__all__ = [
"fromfd",
"getfqdn",
"create_connection",
"create_server",
"has_dualstack_ipv6",
"AddressFamily",
"SocketKind",
"AF_APPLETALK",
"AF_DECnet",
"AF_INET",
"AF_INET6",
"AF_IPX",
"AF_SNA",
"AF_UNSPEC",
"AI_ADDRCONFIG",
"AI_ALL",
"AI_CANONNAME",
"AI_NUMERICHOST",
"AI_NUMERICSERV",
"AI_PASSIVE",
"AI_V4MAPPED",
"CAPI",
"EAI_AGAIN",
"EAI_BADFLAGS",
"EAI_FAIL",
"EAI_FAMILY",
"EAI_MEMORY",
"EAI_NODATA",
"EAI_NONAME",
"EAI_SERVICE",
"EAI_SOCKTYPE",
"INADDR_ALLHOSTS_GROUP",
"INADDR_ANY",
"INADDR_BROADCAST",
"INADDR_LOOPBACK",
"INADDR_MAX_LOCAL_GROUP",
"INADDR_NONE",
"INADDR_UNSPEC_GROUP",
"IPPORT_RESERVED",
"IPPORT_USERRESERVED",
"IPPROTO_AH",
"IPPROTO_DSTOPTS",
"IPPROTO_EGP",
"IPPROTO_ESP",
"IPPROTO_FRAGMENT",
"IPPROTO_HOPOPTS",
"IPPROTO_ICMP",
"IPPROTO_ICMPV6",
"IPPROTO_IDP",
"IPPROTO_IGMP",
"IPPROTO_IP",
"IPPROTO_IPV6",
"IPPROTO_NONE",
"IPPROTO_PIM",
"IPPROTO_PUP",
"IPPROTO_RAW",
"IPPROTO_ROUTING",
"IPPROTO_SCTP",
"IPPROTO_TCP",
"IPPROTO_UDP",
"IPV6_CHECKSUM",
"IPV6_JOIN_GROUP",
"IPV6_LEAVE_GROUP",
"IPV6_MULTICAST_HOPS",
"IPV6_MULTICAST_IF",
"IPV6_MULTICAST_LOOP",
"IPV6_RECVTCLASS",
"IPV6_TCLASS",
"IPV6_UNICAST_HOPS",
"IPV6_V6ONLY",
"IP_ADD_MEMBERSHIP",
"IP_DROP_MEMBERSHIP",
"IP_HDRINCL",
"IP_MULTICAST_IF",
"IP_MULTICAST_LOOP",
"IP_MULTICAST_TTL",
"IP_OPTIONS",
"IP_TOS",
"IP_TTL",
"MSG_CTRUNC",
"MSG_DONTROUTE",
"MSG_OOB",
"MSG_PEEK",
"MSG_TRUNC",
"MSG_WAITALL",
"NI_DGRAM",
"NI_MAXHOST",
"NI_MAXSERV",
"NI_NAMEREQD",
"NI_NOFQDN",
"NI_NUMERICHOST",
"NI_NUMERICSERV",
"SHUT_RD",
"SHUT_RDWR",
"SHUT_WR",
"SOCK_DGRAM",
"SOCK_RAW",
"SOCK_RDM",
"SOCK_SEQPACKET",
"SOCK_STREAM",
"SOL_IP",
"SOL_SOCKET",
"SOL_TCP",
"SOL_UDP",
"SOMAXCONN",
"SO_ACCEPTCONN",
"SO_BROADCAST",
"SO_DEBUG",
"SO_DONTROUTE",
"SO_ERROR",
"SO_KEEPALIVE",
"SO_LINGER",
"SO_OOBINLINE",
"SO_RCVBUF",
"SO_RCVLOWAT",
"SO_RCVTIMEO",
"SO_REUSEADDR",
"SO_SNDBUF",
"SO_SNDLOWAT",
"SO_SNDTIMEO",
"SO_TYPE",
"SocketType",
"TCP_FASTOPEN",
"TCP_KEEPCNT",
"TCP_KEEPINTVL",
"TCP_MAXSEG",
"TCP_NODELAY",
"close",
"dup",
"error",
"gaierror",
"getaddrinfo",
"getdefaulttimeout",
"gethostbyaddr",
"gethostbyname",
"gethostbyname_ex",
"gethostname",
"getnameinfo",
"getprotobyname",
"getservbyname",
"getservbyport",
"has_ipv6",
"herror",
"htonl",
"htons",
"if_indextoname",
"if_nameindex",
"if_nametoindex",
"inet_aton",
"inet_ntoa",
"inet_ntop",
"inet_pton",
"ntohl",
"ntohs",
"setdefaulttimeout",
"socket",
"socketpair",
"timeout",
]
if sys.platform == "win32":
from _socket import (
IPPROTO_CBT as IPPROTO_CBT,
IPPROTO_ICLFXBM as IPPROTO_ICLFXBM,
IPPROTO_IGP as IPPROTO_IGP,
IPPROTO_L2TP as IPPROTO_L2TP,
IPPROTO_PGM as IPPROTO_PGM,
IPPROTO_RDP as IPPROTO_RDP,
IPPROTO_ST as IPPROTO_ST,
RCVALL_MAX as RCVALL_MAX,
RCVALL_OFF as RCVALL_OFF,
RCVALL_ON as RCVALL_ON,
@@ -151,6 +313,28 @@ if sys.platform == "win32":
SO_EXCLUSIVEADDRUSE as SO_EXCLUSIVEADDRUSE,
)
__all__ += [
"IPPROTO_CBT",
"IPPROTO_ICLFXBM",
"IPPROTO_IGP",
"IPPROTO_L2TP",
"IPPROTO_PGM",
"IPPROTO_RDP",
"IPPROTO_ST",
"RCVALL_MAX",
"RCVALL_OFF",
"RCVALL_ON",
"RCVALL_SOCKETLEVELONLY",
"SIO_KEEPALIVE_VALS",
"SIO_LOOPBACK_FAST_PATH",
"SIO_RCVALL",
"SO_EXCLUSIVEADDRUSE",
"fromshare",
"errorTab",
"MSG_BCAST",
"MSG_MCAST",
]
if sys.platform != "darwin" or sys.version_info >= (3, 9):
from _socket import (
IPV6_DONTFRAG as IPV6_DONTFRAG,
@@ -161,33 +345,26 @@ if sys.platform != "darwin" or sys.version_info >= (3, 9):
IPV6_RTHDR as IPV6_RTHDR,
)
__all__ += ["IPV6_DONTFRAG", "IPV6_HOPLIMIT", "IPV6_HOPOPTS", "IPV6_PKTINFO", "IPV6_RECVRTHDR", "IPV6_RTHDR"]
if sys.platform == "darwin":
from _socket import PF_SYSTEM as PF_SYSTEM, SYSPROTO_CONTROL as SYSPROTO_CONTROL
__all__ += ["PF_SYSTEM", "SYSPROTO_CONTROL", "AF_SYSTEM"]
if sys.platform != "darwin":
from _socket import (
IPPROTO_CBT as IPPROTO_CBT,
IPPROTO_ICLFXBM as IPPROTO_ICLFXBM,
IPPROTO_IGP as IPPROTO_IGP,
IPPROTO_L2TP as IPPROTO_L2TP,
IPPROTO_PGM as IPPROTO_PGM,
IPPROTO_RDP as IPPROTO_RDP,
IPPROTO_ST as IPPROTO_ST,
TCP_KEEPIDLE as TCP_KEEPIDLE,
)
from _socket import TCP_KEEPIDLE as TCP_KEEPIDLE
__all__ += ["TCP_KEEPIDLE", "AF_IRDA", "MSG_ERRQUEUE"]
if sys.version_info >= (3, 10):
from _socket import IP_RECVTOS as IP_RECVTOS
elif sys.platform != "win32" and sys.platform != "darwin":
from _socket import IP_RECVTOS as IP_RECVTOS
__all__ += ["IP_RECVTOS"]
if sys.platform != "win32" and sys.platform != "darwin":
from _socket import (
IP_BIND_ADDRESS_NO_PORT as IP_BIND_ADDRESS_NO_PORT,
IP_TRANSPARENT as IP_TRANSPARENT,
IPPROTO_BIP as IPPROTO_BIP,
IPPROTO_MOBILE as IPPROTO_MOBILE,
IPPROTO_VRRP as IPPROTO_VRRP,
IPX_TYPE as IPX_TYPE,
SCM_CREDENTIALS as SCM_CREDENTIALS,
SO_BINDTODEVICE as SO_BINDTODEVICE,
@@ -199,7 +376,6 @@ if sys.platform != "win32" and sys.platform != "darwin":
SO_PEERSEC as SO_PEERSEC,
SO_PRIORITY as SO_PRIORITY,
SO_PROTOCOL as SO_PROTOCOL,
SO_SETFIB as SO_SETFIB,
SOL_ATALK as SOL_ATALK,
SOL_AX25 as SOL_AX25,
SOL_HCI as SOL_HCI,
@@ -217,15 +393,59 @@ if sys.platform != "win32" and sys.platform != "darwin":
TCP_WINDOW_CLAMP as TCP_WINDOW_CLAMP,
)
__all__ += [
"IP_TRANSPARENT",
"SCM_CREDENTIALS",
"SO_BINDTODEVICE",
"SO_DOMAIN",
"SO_MARK",
"SO_PASSCRED",
"SO_PASSSEC",
"SO_PEERCRED",
"SO_PEERSEC",
"SO_PRIORITY",
"SO_PROTOCOL",
"TCP_CONGESTION",
"TCP_CORK",
"TCP_DEFER_ACCEPT",
"TCP_INFO",
"TCP_LINGER2",
"TCP_QUICKACK",
"TCP_SYNCNT",
"TCP_USER_TIMEOUT",
"TCP_WINDOW_CLAMP",
"AF_ASH",
"AF_ATMPVC",
"AF_ATMSVC",
"AF_AX25",
"AF_BRIDGE",
"AF_ECONET",
"AF_KEY",
"AF_LLC",
"AF_NETBEUI",
"AF_NETROM",
"AF_PPPOX",
"AF_ROSE",
"AF_SECURITY",
"AF_WANPIPE",
"AF_X25",
"MSG_CMSG_CLOEXEC",
"MSG_CONFIRM",
"MSG_FASTOPEN",
"MSG_MORE",
]
if sys.platform != "win32" and sys.platform != "darwin" and sys.version_info >= (3, 11):
from _socket import IP_BIND_ADDRESS_NO_PORT as IP_BIND_ADDRESS_NO_PORT
__all__ += ["IP_BIND_ADDRESS_NO_PORT"]
if sys.platform != "win32":
from _socket import (
CMSG_LEN as CMSG_LEN,
CMSG_SPACE as CMSG_SPACE,
EAI_ADDRFAMILY as EAI_ADDRFAMILY,
EAI_BADHINTS as EAI_BADHINTS,
EAI_MAX as EAI_MAX,
EAI_OVERFLOW as EAI_OVERFLOW,
EAI_PROTOCOL as EAI_PROTOCOL,
EAI_SYSTEM as EAI_SYSTEM,
IP_DEFAULT_MULTICAST_LOOP as IP_DEFAULT_MULTICAST_LOOP,
IP_DEFAULT_MULTICAST_TTL as IP_DEFAULT_MULTICAST_TTL,
@@ -233,23 +453,45 @@ if sys.platform != "win32":
IP_RECVOPTS as IP_RECVOPTS,
IP_RECVRETOPTS as IP_RECVRETOPTS,
IP_RETOPTS as IP_RETOPTS,
IPPROTO_EON as IPPROTO_EON,
IPPROTO_GRE as IPPROTO_GRE,
IPPROTO_HELLO as IPPROTO_HELLO,
IPPROTO_IPCOMP as IPPROTO_IPCOMP,
IPPROTO_IPIP as IPPROTO_IPIP,
IPPROTO_RSVP as IPPROTO_RSVP,
IPPROTO_TP as IPPROTO_TP,
IPPROTO_XTP as IPPROTO_XTP,
IPV6_RTHDR_TYPE_0 as IPV6_RTHDR_TYPE_0,
LOCAL_PEERCRED as LOCAL_PEERCRED,
SCM_CREDS as SCM_CREDS,
SCM_RIGHTS as SCM_RIGHTS,
SO_REUSEPORT as SO_REUSEPORT,
TCP_NOTSENT_LOWAT as TCP_NOTSENT_LOWAT,
sethostname as sethostname,
)
__all__ += [
"CMSG_LEN",
"CMSG_SPACE",
"EAI_ADDRFAMILY",
"EAI_OVERFLOW",
"EAI_SYSTEM",
"IP_DEFAULT_MULTICAST_LOOP",
"IP_DEFAULT_MULTICAST_TTL",
"IP_MAX_MEMBERSHIPS",
"IP_RECVOPTS",
"IP_RECVRETOPTS",
"IP_RETOPTS",
"IPPROTO_GRE",
"IPPROTO_IPIP",
"IPPROTO_RSVP",
"IPPROTO_TP",
"IPV6_RTHDR_TYPE_0",
"SCM_RIGHTS",
"SO_REUSEPORT",
"TCP_NOTSENT_LOWAT",
"sethostname",
"AF_ROUTE",
"AF_UNIX",
"MSG_DONTWAIT",
"MSG_EOR",
"MSG_NOSIGNAL",
]
if sys.platform != "darwin" or sys.version_info >= (3, 9):
from _socket import (
IPV6_DSTOPTS as IPV6_DSTOPTS,
@@ -261,19 +503,36 @@ if sys.platform != "win32":
IPV6_RECVPATHMTU as IPV6_RECVPATHMTU,
IPV6_RECVPKTINFO as IPV6_RECVPKTINFO,
IPV6_RTHDRDSTOPTS as IPV6_RTHDRDSTOPTS,
IPV6_USE_MIN_MTU as IPV6_USE_MIN_MTU,
)
if sys.platform != "darwin":
__all__ += [
"IPV6_DSTOPTS",
"IPV6_NEXTHOP",
"IPV6_PATHMTU",
"IPV6_RECVDSTOPTS",
"IPV6_RECVHOPLIMIT",
"IPV6_RECVHOPOPTS",
"IPV6_RECVPATHMTU",
"IPV6_RECVPKTINFO",
"IPV6_RTHDRDSTOPTS",
]
if sys.platform != "darwin" and sys.platform != "linux":
if sys.platform != "win32" or sys.version_info >= (3, 9):
from _socket import BDADDR_ANY as BDADDR_ANY, BDADDR_LOCAL as BDADDR_LOCAL, BTPROTO_RFCOMM as BTPROTO_RFCOMM
__all__ += ["BDADDR_ANY", "BDADDR_LOCAL", "BTPROTO_RFCOMM"]
if sys.platform == "darwin" and sys.version_info >= (3, 10):
from _socket import TCP_KEEPALIVE as TCP_KEEPALIVE
__all__ += ["TCP_KEEPALIVE"]
if sys.platform == "darwin" and sys.version_info >= (3, 11):
from _socket import TCP_CONNECTION_INFO as TCP_CONNECTION_INFO
__all__ += ["TCP_CONNECTION_INFO"]
if sys.platform == "linux":
from _socket import (
ALG_OP_DECRYPT as ALG_OP_DECRYPT,
@@ -317,7 +576,6 @@ if sys.platform == "linux":
CAN_ERR_MASK as CAN_ERR_MASK,
CAN_ISOTP as CAN_ISOTP,
CAN_RAW as CAN_RAW,
CAN_RAW_ERR_FILTER as CAN_RAW_ERR_FILTER,
CAN_RAW_FD_FRAMES as CAN_RAW_FD_FRAMES,
CAN_RAW_FILTER as CAN_RAW_FILTER,
CAN_RAW_LOOPBACK as CAN_RAW_LOOPBACK,
@@ -325,19 +583,13 @@ if sys.platform == "linux":
CAN_RTR_FLAG as CAN_RTR_FLAG,
CAN_SFF_MASK as CAN_SFF_MASK,
IOCTL_VM_SOCKETS_GET_LOCAL_CID as IOCTL_VM_SOCKETS_GET_LOCAL_CID,
NETLINK_ARPD as NETLINK_ARPD,
NETLINK_CRYPTO as NETLINK_CRYPTO,
NETLINK_DNRTMSG as NETLINK_DNRTMSG,
NETLINK_FIREWALL as NETLINK_FIREWALL,
NETLINK_IP6_FW as NETLINK_IP6_FW,
NETLINK_NFLOG as NETLINK_NFLOG,
NETLINK_ROUTE as NETLINK_ROUTE,
NETLINK_ROUTE6 as NETLINK_ROUTE6,
NETLINK_SKIP as NETLINK_SKIP,
NETLINK_TAPBASE as NETLINK_TAPBASE,
NETLINK_TCPDIAG as NETLINK_TCPDIAG,
NETLINK_USERSOCK as NETLINK_USERSOCK,
NETLINK_W1 as NETLINK_W1,
NETLINK_XFRM as NETLINK_XFRM,
PACKET_BROADCAST as PACKET_BROADCAST,
PACKET_FASTROUTE as PACKET_FASTROUTE,
@@ -354,7 +606,6 @@ if sys.platform == "linux":
RDS_CMSG_RDMA_DEST as RDS_CMSG_RDMA_DEST,
RDS_CMSG_RDMA_MAP as RDS_CMSG_RDMA_MAP,
RDS_CMSG_RDMA_STATUS as RDS_CMSG_RDMA_STATUS,
RDS_CMSG_RDMA_UPDATE as RDS_CMSG_RDMA_UPDATE,
RDS_CONG_MONITOR as RDS_CONG_MONITOR,
RDS_FREE_MR as RDS_FREE_MR,
RDS_GET_MR as RDS_GET_MR,
@@ -404,10 +655,130 @@ if sys.platform == "linux":
VMADDR_PORT_ANY as VMADDR_PORT_ANY,
)
__all__ += [
"ALG_OP_DECRYPT",
"ALG_OP_ENCRYPT",
"ALG_OP_SIGN",
"ALG_OP_VERIFY",
"ALG_SET_AEAD_ASSOCLEN",
"ALG_SET_AEAD_AUTHSIZE",
"ALG_SET_IV",
"ALG_SET_KEY",
"ALG_SET_OP",
"ALG_SET_PUBKEY",
"CAN_BCM",
"CAN_BCM_CAN_FD_FRAME",
"CAN_BCM_RX_ANNOUNCE_RESUME",
"CAN_BCM_RX_CHANGED",
"CAN_BCM_RX_CHECK_DLC",
"CAN_BCM_RX_DELETE",
"CAN_BCM_RX_FILTER_ID",
"CAN_BCM_RX_NO_AUTOTIMER",
"CAN_BCM_RX_READ",
"CAN_BCM_RX_RTR_FRAME",
"CAN_BCM_RX_SETUP",
"CAN_BCM_RX_STATUS",
"CAN_BCM_RX_TIMEOUT",
"CAN_BCM_SETTIMER",
"CAN_BCM_STARTTIMER",
"CAN_BCM_TX_ANNOUNCE",
"CAN_BCM_TX_COUNTEVT",
"CAN_BCM_TX_CP_CAN_ID",
"CAN_BCM_TX_DELETE",
"CAN_BCM_TX_EXPIRED",
"CAN_BCM_TX_READ",
"CAN_BCM_TX_RESET_MULTI_IDX",
"CAN_BCM_TX_SEND",
"CAN_BCM_TX_SETUP",
"CAN_BCM_TX_STATUS",
"CAN_EFF_FLAG",
"CAN_EFF_MASK",
"CAN_ERR_FLAG",
"CAN_ERR_MASK",
"CAN_ISOTP",
"CAN_RAW",
"CAN_RAW_FD_FRAMES",
"CAN_RAW_FILTER",
"CAN_RAW_LOOPBACK",
"CAN_RAW_RECV_OWN_MSGS",
"CAN_RTR_FLAG",
"CAN_SFF_MASK",
"IOCTL_VM_SOCKETS_GET_LOCAL_CID",
"NETLINK_CRYPTO",
"NETLINK_DNRTMSG",
"NETLINK_FIREWALL",
"NETLINK_IP6_FW",
"NETLINK_NFLOG",
"NETLINK_ROUTE",
"NETLINK_USERSOCK",
"NETLINK_XFRM",
"PACKET_BROADCAST",
"PACKET_FASTROUTE",
"PACKET_HOST",
"PACKET_LOOPBACK",
"PACKET_MULTICAST",
"PACKET_OTHERHOST",
"PACKET_OUTGOING",
"PF_CAN",
"PF_PACKET",
"PF_RDS",
"SO_VM_SOCKETS_BUFFER_MAX_SIZE",
"SO_VM_SOCKETS_BUFFER_MIN_SIZE",
"SO_VM_SOCKETS_BUFFER_SIZE",
"SOL_ALG",
"SOL_CAN_BASE",
"SOL_CAN_RAW",
"SOL_RDS",
"SOL_TIPC",
"TIPC_ADDR_ID",
"TIPC_ADDR_NAME",
"TIPC_ADDR_NAMESEQ",
"TIPC_CFG_SRV",
"TIPC_CLUSTER_SCOPE",
"TIPC_CONN_TIMEOUT",
"TIPC_CRITICAL_IMPORTANCE",
"TIPC_DEST_DROPPABLE",
"TIPC_HIGH_IMPORTANCE",
"TIPC_IMPORTANCE",
"TIPC_LOW_IMPORTANCE",
"TIPC_MEDIUM_IMPORTANCE",
"TIPC_NODE_SCOPE",
"TIPC_PUBLISHED",
"TIPC_SRC_DROPPABLE",
"TIPC_SUB_CANCEL",
"TIPC_SUB_PORTS",
"TIPC_SUB_SERVICE",
"TIPC_SUBSCR_TIMEOUT",
"TIPC_TOP_SRV",
"TIPC_WAIT_FOREVER",
"TIPC_WITHDRAWN",
"TIPC_ZONE_SCOPE",
"VM_SOCKETS_INVALID_VERSION",
"VMADDR_CID_ANY",
"VMADDR_CID_HOST",
"VMADDR_PORT_ANY",
"AF_CAN",
"AF_PACKET",
"AF_RDS",
"AF_TIPC",
"AF_ALG",
"AF_NETLINK",
"AF_VSOCK",
"AF_QIPCRTR",
"SOCK_CLOEXEC",
"SOCK_NONBLOCK",
]
if sys.version_info < (3, 11):
from _socket import CAN_RAW_ERR_FILTER as CAN_RAW_ERR_FILTER
__all__ += ["CAN_RAW_ERR_FILTER"]
if sys.platform == "linux" and sys.version_info >= (3, 9):
from _socket import (
CAN_J1939 as CAN_J1939,
CAN_RAW_JOIN_FILTERS as CAN_RAW_JOIN_FILTERS,
IPPROTO_UDPLITE as IPPROTO_UDPLITE,
J1939_EE_INFO_NONE as J1939_EE_INFO_NONE,
J1939_EE_INFO_TX_ABORT as J1939_EE_INFO_TX_ABORT,
J1939_FILTER_MAX as J1939_FILTER_MAX,
@@ -434,11 +805,97 @@ if sys.platform == "linux" and sys.version_info >= (3, 9):
UDPLITE_RECV_CSCOV as UDPLITE_RECV_CSCOV,
UDPLITE_SEND_CSCOV as UDPLITE_SEND_CSCOV,
)
__all__ += [
"CAN_J1939",
"CAN_RAW_JOIN_FILTERS",
"IPPROTO_UDPLITE",
"J1939_EE_INFO_NONE",
"J1939_EE_INFO_TX_ABORT",
"J1939_FILTER_MAX",
"J1939_IDLE_ADDR",
"J1939_MAX_UNICAST_ADDR",
"J1939_NLA_BYTES_ACKED",
"J1939_NLA_PAD",
"J1939_NO_ADDR",
"J1939_NO_NAME",
"J1939_NO_PGN",
"J1939_PGN_ADDRESS_CLAIMED",
"J1939_PGN_ADDRESS_COMMANDED",
"J1939_PGN_MAX",
"J1939_PGN_PDU1_MAX",
"J1939_PGN_REQUEST",
"SCM_J1939_DEST_ADDR",
"SCM_J1939_DEST_NAME",
"SCM_J1939_ERRQUEUE",
"SCM_J1939_PRIO",
"SO_J1939_ERRQUEUE",
"SO_J1939_FILTER",
"SO_J1939_PROMISC",
"SO_J1939_SEND_PRIO",
"UDPLITE_RECV_CSCOV",
"UDPLITE_SEND_CSCOV",
]
if sys.platform == "linux" and sys.version_info >= (3, 10):
from _socket import IPPROTO_MPTCP as IPPROTO_MPTCP
__all__ += ["IPPROTO_MPTCP"]
if sys.platform == "linux" and sys.version_info >= (3, 11):
from _socket import SO_INCOMING_CPU as SO_INCOMING_CPU
__all__ += ["SO_INCOMING_CPU"]
if sys.platform == "linux" and sys.version_info >= (3, 12):
from _socket import (
TCP_CC_INFO as TCP_CC_INFO,
TCP_FASTOPEN_CONNECT as TCP_FASTOPEN_CONNECT,
TCP_FASTOPEN_KEY as TCP_FASTOPEN_KEY,
TCP_FASTOPEN_NO_COOKIE as TCP_FASTOPEN_NO_COOKIE,
TCP_INQ as TCP_INQ,
TCP_MD5SIG as TCP_MD5SIG,
TCP_MD5SIG_EXT as TCP_MD5SIG_EXT,
TCP_QUEUE_SEQ as TCP_QUEUE_SEQ,
TCP_REPAIR as TCP_REPAIR,
TCP_REPAIR_OPTIONS as TCP_REPAIR_OPTIONS,
TCP_REPAIR_QUEUE as TCP_REPAIR_QUEUE,
TCP_REPAIR_WINDOW as TCP_REPAIR_WINDOW,
TCP_SAVE_SYN as TCP_SAVE_SYN,
TCP_SAVED_SYN as TCP_SAVED_SYN,
TCP_THIN_DUPACK as TCP_THIN_DUPACK,
TCP_THIN_LINEAR_TIMEOUTS as TCP_THIN_LINEAR_TIMEOUTS,
TCP_TIMESTAMP as TCP_TIMESTAMP,
TCP_TX_DELAY as TCP_TX_DELAY,
TCP_ULP as TCP_ULP,
TCP_ZEROCOPY_RECEIVE as TCP_ZEROCOPY_RECEIVE,
)
__all__ += [
"TCP_CC_INFO",
"TCP_FASTOPEN_CONNECT",
"TCP_FASTOPEN_KEY",
"TCP_FASTOPEN_NO_COOKIE",
"TCP_INQ",
"TCP_MD5SIG",
"TCP_MD5SIG_EXT",
"TCP_QUEUE_SEQ",
"TCP_REPAIR",
"TCP_REPAIR_OPTIONS",
"TCP_REPAIR_QUEUE",
"TCP_REPAIR_WINDOW",
"TCP_SAVED_SYN",
"TCP_SAVE_SYN",
"TCP_THIN_DUPACK",
"TCP_THIN_LINEAR_TIMEOUTS",
"TCP_TIMESTAMP",
"TCP_TX_DELAY",
"TCP_ULP",
"TCP_ZEROCOPY_RECEIVE",
]
if sys.platform == "linux" and sys.version_info >= (3, 13):
from _socket import NI_IDN as NI_IDN, SO_BINDTOIFINDEX as SO_BINDTOIFINDEX
__all__ += ["NI_IDN", "SO_BINDTOIFINDEX"]
if sys.version_info >= (3, 12):
from _socket import (
IP_ADD_SOURCE_MEMBERSHIP as IP_ADD_SOURCE_MEMBERSHIP,
@@ -448,6 +905,8 @@ if sys.version_info >= (3, 12):
IP_UNBLOCK_SOURCE as IP_UNBLOCK_SOURCE,
)
__all__ += ["IP_ADD_SOURCE_MEMBERSHIP", "IP_BLOCK_SOURCE", "IP_DROP_SOURCE_MEMBERSHIP", "IP_PKTINFO", "IP_UNBLOCK_SOURCE"]
if sys.platform == "win32":
from _socket import (
HV_GUID_BROADCAST as HV_GUID_BROADCAST,
@@ -462,6 +921,20 @@ if sys.version_info >= (3, 12):
HVSOCKET_CONNECT_TIMEOUT_MAX as HVSOCKET_CONNECT_TIMEOUT_MAX,
HVSOCKET_CONNECTED_SUSPEND as HVSOCKET_CONNECTED_SUSPEND,
)
__all__ += [
"HV_GUID_BROADCAST",
"HV_GUID_CHILDREN",
"HV_GUID_LOOPBACK",
"HV_GUID_PARENT",
"HV_GUID_WILDCARD",
"HV_GUID_ZERO",
"HV_PROTOCOL_RAW",
"HVSOCKET_ADDRESS_FLAG_PASSTHRU",
"HVSOCKET_CONNECT_TIMEOUT",
"HVSOCKET_CONNECT_TIMEOUT_MAX",
"HVSOCKET_CONNECTED_SUSPEND",
]
else:
from _socket import (
ETHERTYPE_ARP as ETHERTYPE_ARP,
@@ -470,13 +943,88 @@ if sys.version_info >= (3, 12):
ETHERTYPE_VLAN as ETHERTYPE_VLAN,
)
__all__ += ["ETHERTYPE_ARP", "ETHERTYPE_IP", "ETHERTYPE_IPV6", "ETHERTYPE_VLAN"]
if sys.platform == "linux":
from _socket import ETH_P_ALL as ETH_P_ALL
__all__ += ["ETH_P_ALL"]
if sys.platform != "linux" and sys.platform != "win32" and sys.platform != "darwin":
# FreeBSD >= 14.0
from _socket import PF_DIVERT as PF_DIVERT
__all__ += ["PF_DIVERT", "AF_DIVERT"]
if sys.platform != "win32" and sys.version_info >= (3, 9):
__all__ += ["send_fds", "recv_fds"]
if sys.platform != "win32" or sys.version_info >= (3, 9):
if sys.platform != "linux":
__all__ += ["AF_LINK"]
if sys.platform != "darwin" and sys.platform != "linux":
__all__ += ["AF_BLUETOOTH"]
if sys.platform == "win32" and sys.version_info >= (3, 12):
__all__ += ["AF_HYPERV"]
if sys.platform != "win32" and sys.platform != "linux":
from _socket import (
EAI_BADHINTS as EAI_BADHINTS,
EAI_MAX as EAI_MAX,
EAI_PROTOCOL as EAI_PROTOCOL,
IPPROTO_EON as IPPROTO_EON,
IPPROTO_HELLO as IPPROTO_HELLO,
IPPROTO_IPCOMP as IPPROTO_IPCOMP,
IPPROTO_XTP as IPPROTO_XTP,
LOCAL_PEERCRED as LOCAL_PEERCRED,
SCM_CREDS as SCM_CREDS,
)
__all__ += [
"EAI_BADHINTS",
"EAI_MAX",
"EAI_PROTOCOL",
"IPPROTO_EON",
"IPPROTO_HELLO",
"IPPROTO_IPCOMP",
"IPPROTO_XTP",
"LOCAL_PEERCRED",
"SCM_CREDS",
"AI_DEFAULT",
"AI_MASK",
"AI_V4MAPPED_CFG",
"MSG_EOF",
]
if sys.platform != "darwin" or sys.version_info >= (3, 9):
from _socket import IPV6_USE_MIN_MTU as IPV6_USE_MIN_MTU
__all__ += ["IPV6_USE_MIN_MTU"]
if sys.platform != "win32" and sys.platform != "darwin" and sys.platform != "linux":
from _socket import (
IPPROTO_BIP as IPPROTO_BIP,
IPPROTO_MOBILE as IPPROTO_MOBILE,
IPPROTO_VRRP as IPPROTO_VRRP,
MSG_BTAG as MSG_BTAG,
MSG_ETAG as MSG_ETAG,
SO_SETFIB as SO_SETFIB,
)
__all__ += ["SO_SETFIB", "MSG_BTAG", "MSG_ETAG", "IPPROTO_BIP", "IPPROTO_MOBILE", "IPPROTO_VRRP", "MSG_NOTIFICATION"]
if sys.platform != "linux":
from _socket import (
IP_RECVDSTADDR as IP_RECVDSTADDR,
IPPROTO_GGP as IPPROTO_GGP,
IPPROTO_IPV4 as IPPROTO_IPV4,
IPPROTO_MAX as IPPROTO_MAX,
IPPROTO_ND as IPPROTO_ND,
SO_USELOOPBACK as SO_USELOOPBACK,
)
__all__ += ["IPPROTO_GGP", "IPPROTO_IPV4", "IPPROTO_MAX", "IPPROTO_ND", "IP_RECVDSTADDR", "SO_USELOOPBACK"]
# Re-exported from errno
EBADF: int
EAGAIN: int
@@ -506,10 +1054,10 @@ class AddressFamily(IntEnum):
AF_IRDA = 23
if sys.platform != "win32":
AF_ROUTE = 16
AF_SYSTEM = 32
AF_UNIX = 1
if sys.platform == "darwin":
AF_SYSTEM = 32
if sys.platform != "win32" and sys.platform != "darwin":
AF_AAL5 = ...
AF_ASH = 18
AF_ATMPVC = 8
AF_ATMSVC = 20
@@ -535,8 +1083,9 @@ class AddressFamily(IntEnum):
AF_VSOCK = 40
AF_QIPCRTR = 42
if sys.platform != "win32" or sys.version_info >= (3, 9):
AF_LINK = 33
if sys.platform != "darwin":
if sys.platform != "linux":
AF_LINK = 33
if sys.platform != "darwin" and sys.platform != "linux":
AF_BLUETOOTH = 32
if sys.platform == "win32" and sys.version_info >= (3, 12):
AF_HYPERV = 34
@@ -557,11 +1106,12 @@ if sys.platform != "darwin":
if sys.platform != "win32":
AF_ROUTE = AddressFamily.AF_ROUTE
AF_SYSTEM = AddressFamily.AF_SYSTEM
AF_UNIX = AddressFamily.AF_UNIX
if sys.platform == "darwin":
AF_SYSTEM = AddressFamily.AF_SYSTEM
if sys.platform != "win32" and sys.platform != "darwin":
AF_AAL5 = AddressFamily.AF_AAL5
AF_ASH = AddressFamily.AF_ASH
AF_ATMPVC = AddressFamily.AF_ATMPVC
AF_ATMSVC = AddressFamily.AF_ATMSVC
@@ -589,8 +1139,9 @@ if sys.platform == "linux":
AF_QIPCRTR = AddressFamily.AF_QIPCRTR
if sys.platform != "win32" or sys.version_info >= (3, 9):
AF_LINK = AddressFamily.AF_LINK
if sys.platform != "darwin":
if sys.platform != "linux":
AF_LINK = AddressFamily.AF_LINK
if sys.platform != "darwin" and sys.platform != "linux":
AF_BLUETOOTH = AddressFamily.AF_BLUETOOTH
if sys.platform == "win32" and sys.version_info >= (3, 12):
@@ -625,26 +1176,28 @@ class MsgFlag(IntFlag):
MSG_PEEK = 2
MSG_TRUNC = 32
MSG_WAITALL = 256
if sys.platform != "darwin":
if sys.platform == "win32":
MSG_BCAST = 1024
MSG_MCAST = 2048
if sys.platform != "darwin":
MSG_ERRQUEUE = 8192
if sys.platform != "win32" and sys.platform != "darwin":
MSG_BTAG = ...
MSG_CMSG_CLOEXEC = 1073741821
MSG_CONFIRM = 2048
MSG_ETAG = ...
MSG_FASTOPEN = 536870912
MSG_MORE = 32768
MSG_NOTIFICATION = ...
if sys.platform != "win32" and sys.platform != "darwin" and sys.platform != "linux":
MSG_NOTIFICATION = 8192
if sys.platform != "win32":
MSG_DONTWAIT = 64
MSG_EOF = 256
MSG_EOR = 128
MSG_NOSIGNAL = 16384 # sometimes this exists on darwin, sometimes not
if sys.platform != "win32" and sys.platform != "linux":
MSG_EOF = 256
MSG_CTRUNC = MsgFlag.MSG_CTRUNC
MSG_DONTROUTE = MsgFlag.MSG_DONTROUTE
@@ -653,26 +1206,30 @@ MSG_PEEK = MsgFlag.MSG_PEEK
MSG_TRUNC = MsgFlag.MSG_TRUNC
MSG_WAITALL = MsgFlag.MSG_WAITALL
if sys.platform != "darwin":
if sys.platform == "win32":
MSG_BCAST = MsgFlag.MSG_BCAST
MSG_MCAST = MsgFlag.MSG_MCAST
if sys.platform != "darwin":
MSG_ERRQUEUE = MsgFlag.MSG_ERRQUEUE
if sys.platform != "win32":
MSG_DONTWAIT = MsgFlag.MSG_DONTWAIT
MSG_EOF = MsgFlag.MSG_EOF
MSG_EOR = MsgFlag.MSG_EOR
MSG_NOSIGNAL = MsgFlag.MSG_NOSIGNAL # Sometimes this exists on darwin, sometimes not
if sys.platform != "win32" and sys.platform != "darwin":
MSG_BTAG = MsgFlag.MSG_BTAG
MSG_CMSG_CLOEXEC = MsgFlag.MSG_CMSG_CLOEXEC
MSG_CONFIRM = MsgFlag.MSG_CONFIRM
MSG_ETAG = MsgFlag.MSG_ETAG
MSG_FASTOPEN = MsgFlag.MSG_FASTOPEN
MSG_MORE = MsgFlag.MSG_MORE
if sys.platform != "win32" and sys.platform != "darwin" and sys.platform != "linux":
MSG_NOTIFICATION = MsgFlag.MSG_NOTIFICATION
if sys.platform != "win32" and sys.platform != "linux":
MSG_EOF = MsgFlag.MSG_EOF
class AddressInfo(IntFlag):
AI_ADDRCONFIG = 32
AI_ALL = 16
@@ -681,7 +1238,7 @@ class AddressInfo(IntFlag):
AI_NUMERICSERV = 1024
AI_PASSIVE = 1
AI_V4MAPPED = 8
if sys.platform != "win32":
if sys.platform != "win32" and sys.platform != "linux":
AI_DEFAULT = 1536
AI_MASK = 5127
AI_V4MAPPED_CFG = 512
@@ -694,7 +1251,7 @@ AI_NUMERICSERV = AddressInfo.AI_NUMERICSERV
AI_PASSIVE = AddressInfo.AI_PASSIVE
AI_V4MAPPED = AddressInfo.AI_V4MAPPED
if sys.platform != "win32":
if sys.platform != "win32" and sys.platform != "linux":
AI_DEFAULT = AddressInfo.AI_DEFAULT
AI_MASK = AddressInfo.AI_MASK
AI_V4MAPPED_CFG = AddressInfo.AI_V4MAPPED_CFG
@@ -718,7 +1275,7 @@ class socket(_socket.socket):
) -> None: ...
def __enter__(self) -> Self: ...
def __exit__(self, *args: Unused) -> None: ...
def dup(self) -> Self: ... # noqa: F811
def dup(self) -> Self: ...
def accept(self) -> tuple[socket, _RetAddress]: ...
# Note that the makefile's documented windows-specific behavior is not represented
# mode strings with duplicates are intentionally excluded