diff --git a/stdlib/_ctypes.pyi b/stdlib/_ctypes.pyi index c87cf5e326ca..1a9c4a2560ac 100644 --- a/stdlib/_ctypes.pyi +++ b/stdlib/_ctypes.pyi @@ -195,12 +195,19 @@ class CFuncPtr(_PointerLike, _CData, metaclass=_PyCFuncPtrType): _GetT = TypeVar("_GetT") _SetT = TypeVar("_SetT") -# This class is not exposed. It calls itself _ctypes.CField. @final -@type_check_only class _CField(Generic[_CT, _GetT, _SetT]): offset: int size: int + if sys.version_info >= (3, 14): + name: str + _type_: type[_CT] + byte_offset: int + byte_size: int + is_bitfield: bool + bit_offset: int + bit_size: int + is_anonymous: bool if sys.version_info >= (3, 10): @overload def __get__(self, instance: None, owner: type[Any] | None = None, /) -> Self: ... diff --git a/stdlib/ctypes/__init__.pyi b/stdlib/ctypes/__init__.pyi index 19bd261c67e0..be2e7449ef31 100644 --- a/stdlib/ctypes/__init__.pyi +++ b/stdlib/ctypes/__init__.pyi @@ -55,6 +55,9 @@ if sys.version_info >= (3, 14): else: from _ctypes import POINTER as POINTER, pointer as pointer +if sys.version_info >= (3, 14): + CField = _CField + DEFAULT_MODE: Final[int] class ArgumentError(Exception): ...