Skip to content

Commit 9456f55

Browse files

File tree

4 files changed

+60
-54
lines changed

4 files changed

+60
-54
lines changed

stdlib/_socket.pyi

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -692,3 +692,28 @@ if sys.platform != "win32" or sys.version_info >= (3, 8):
692692
def if_nameindex() -> list[tuple[int, str]]: ...
693693
def if_nametoindex(__name: str) -> int: ...
694694
def if_indextoname(__index: int) -> str: ...
695+
696+
if sys.version_info >= (3, 12):
697+
IP_PKTINFO: int
698+
IP_UNBLOCK_SOURCE: int
699+
IP_BLOCK_SOURCE: int
700+
IP_ADD_SOURCE_MEMBERSHIP: int
701+
IP_DROP_SOURCE_MEMBERSHIP: int
702+
if sys.platform == "win32":
703+
AF_HYPERV: int
704+
HV_PROTOCOL_RAW: int
705+
HVSOCKET_CONNECT_TIMEOUT: int
706+
HVSOCKET_CONNECT_TIMEOUT_MAX: int
707+
HVSOCKET_CONNECTED_SUSPEND: int
708+
HVSOCKET_ADDRESS_FLAG_PASSTHRU: int
709+
HV_GUID_ZERO: str
710+
HV_GUID_WILDCARD: str
711+
HV_GUID_BROADCAST: str
712+
HV_GUID_CHILDREN: str
713+
HV_GUID_LOOPBACK: str
714+
HV_GUID_PARENT: str
715+
else:
716+
ETHERTYPE_ARP: int
717+
ETHERTYPE_IP: int
718+
ETHERTYPE_IPV6: int
719+
ETHERTYPE_VLAN: int

stdlib/socket.pyi

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,36 @@ if sys.platform == "win32":
438438
SIO_LOOPBACK_FAST_PATH as SIO_LOOPBACK_FAST_PATH,
439439
SIO_RCVALL as SIO_RCVALL,
440440
)
441+
if sys.version_info >= (3, 12):
442+
from _socket import (
443+
IP_ADD_SOURCE_MEMBERSHIP as IP_ADD_SOURCE_MEMBERSHIP,
444+
IP_BLOCK_SOURCE as IP_BLOCK_SOURCE,
445+
IP_DROP_SOURCE_MEMBERSHIP as IP_DROP_SOURCE_MEMBERSHIP,
446+
IP_PKTINFO as IP_PKTINFO,
447+
IP_UNBLOCK_SOURCE as IP_UNBLOCK_SOURCE,
448+
)
449+
450+
if sys.platform == "win32":
451+
from _socket import (
452+
HV_GUID_BROADCAST as HV_GUID_BROADCAST,
453+
HV_GUID_CHILDREN as HV_GUID_CHILDREN,
454+
HV_GUID_LOOPBACK as HV_GUID_LOOPBACK,
455+
HV_GUID_PARENT as HV_GUID_PARENT,
456+
HV_GUID_WILDCARD as HV_GUID_WILDCARD,
457+
HV_GUID_ZERO as HV_GUID_ZERO,
458+
HV_PROTOCOL_RAW as HV_PROTOCOL_RAW,
459+
HVSOCKET_ADDRESS_FLAG_PASSTHRU as HVSOCKET_ADDRESS_FLAG_PASSTHRU,
460+
HVSOCKET_CONNECT_TIMEOUT as HVSOCKET_CONNECT_TIMEOUT,
461+
HVSOCKET_CONNECT_TIMEOUT_MAX as HVSOCKET_CONNECT_TIMEOUT_MAX,
462+
HVSOCKET_CONNECTED_SUSPEND as HVSOCKET_CONNECTED_SUSPEND,
463+
)
464+
else:
465+
from _socket import (
466+
ETHERTYPE_ARP as ETHERTYPE_ARP,
467+
ETHERTYPE_IP as ETHERTYPE_IP,
468+
ETHERTYPE_IPV6 as ETHERTYPE_IPV6,
469+
ETHERTYPE_VLAN as ETHERTYPE_VLAN,
470+
)
441471

442472
# Re-exported from errno
443473
EBADF: int
@@ -489,6 +519,8 @@ class AddressFamily(IntEnum):
489519
AF_LINK: int
490520
if sys.platform != "darwin":
491521
AF_BLUETOOTH: int
522+
if sys.platform == "win32" and sys.version_info >= (3, 12):
523+
AF_HYPERV: int
492524

493525
AF_INET = AddressFamily.AF_INET
494526
AF_INET6 = AddressFamily.AF_INET6
@@ -540,6 +572,9 @@ if sys.platform != "win32" or sys.version_info >= (3, 9):
540572
if sys.platform != "darwin":
541573
AF_BLUETOOTH = AddressFamily.AF_BLUETOOTH
542574

575+
if sys.platform == "win32" and sys.version_info >= (3, 12):
576+
AF_HYPERV = AddressFamily.AF_HYPERV
577+
543578
class SocketKind(IntEnum):
544579
SOCK_STREAM: int
545580
SOCK_DGRAM: int

tests/stubtest_allowlists/darwin-py312.txt

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,6 @@ _?curses.color_pair
22
_curses.unget_wch
33
_curses.window.get_wch
44
_posixsubprocess.fork_exec
5-
_socket.ETHERTYPE_ARP
6-
_socket.ETHERTYPE_IP
7-
_socket.ETHERTYPE_IPV6
8-
_socket.ETHERTYPE_VLAN
9-
_socket.IP_ADD_SOURCE_MEMBERSHIP
10-
_socket.IP_BLOCK_SOURCE
11-
_socket.IP_DROP_SOURCE_MEMBERSHIP
12-
_socket.IP_PKTINFO
13-
_socket.IP_UNBLOCK_SOURCE
145
curses.unget_wch
156
curses.window.get_wch
167
os.PRIO_DARWIN_BG
@@ -22,15 +13,6 @@ posix.PRIO_DARWIN_BG
2213
posix.PRIO_DARWIN_NONUI
2314
posix.PRIO_DARWIN_PROCESS
2415
posix.PRIO_DARWIN_THREAD
25-
socket.ETHERTYPE_ARP
26-
socket.ETHERTYPE_IP
27-
socket.ETHERTYPE_IPV6
28-
socket.ETHERTYPE_VLAN
29-
socket.IP_ADD_SOURCE_MEMBERSHIP
30-
socket.IP_BLOCK_SOURCE
31-
socket.IP_DROP_SOURCE_MEMBERSHIP
32-
socket.IP_PKTINFO
33-
socket.IP_UNBLOCK_SOURCE
3416
socket.TCP_CONNECTION_INFO
3517
syslog.LOG_MASK
3618
syslog.LOG_UPTO
Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,3 @@
1-
2-
_socket.AF_HYPERV
3-
_socket.HV_GUID_BROADCAST
4-
_socket.HV_GUID_CHILDREN
5-
_socket.HV_GUID_LOOPBACK
6-
_socket.HV_GUID_PARENT
7-
_socket.HV_GUID_WILDCARD
8-
_socket.HV_GUID_ZERO
9-
_socket.HV_PROTOCOL_RAW
10-
_socket.HVSOCKET_ADDRESS_FLAG_PASSTHRU
11-
_socket.HVSOCKET_CONNECT_TIMEOUT
12-
_socket.HVSOCKET_CONNECT_TIMEOUT_MAX
13-
_socket.HVSOCKET_CONNECTED_SUSPEND
14-
_socket.IP_ADD_SOURCE_MEMBERSHIP
15-
_socket.IP_BLOCK_SOURCE
16-
_socket.IP_DROP_SOURCE_MEMBERSHIP
17-
_socket.IP_PKTINFO
18-
_socket.IP_UNBLOCK_SOURCE
191
_winapi.CreateFileMapping
202
_winapi.MapViewOfFile
213
_winapi.NeedCurrentDirectoryForExePath
@@ -40,22 +22,4 @@ os.path.isdir
4022
os.set_blocking
4123
os.stat_result.st_birthtime
4224
os.stat_result.st_birthtime_ns
43-
socket.AddressFamily.AF_HYPERV
44-
socket.AF_HYPERV
45-
socket.HV_GUID_BROADCAST
46-
socket.HV_GUID_CHILDREN
47-
socket.HV_GUID_LOOPBACK
48-
socket.HV_GUID_PARENT
49-
socket.HV_GUID_WILDCARD
50-
socket.HV_GUID_ZERO
51-
socket.HV_PROTOCOL_RAW
52-
socket.HVSOCKET_ADDRESS_FLAG_PASSTHRU
53-
socket.HVSOCKET_CONNECT_TIMEOUT
54-
socket.HVSOCKET_CONNECT_TIMEOUT_MAX
55-
socket.HVSOCKET_CONNECTED_SUSPEND
56-
socket.IP_ADD_SOURCE_MEMBERSHIP
57-
socket.IP_BLOCK_SOURCE
58-
socket.IP_DROP_SOURCE_MEMBERSHIP
59-
socket.IP_PKTINFO
60-
socket.IP_UNBLOCK_SOURCE
6125
subprocess.STARTUPINFO.copy

0 commit comments

Comments
 (0)