diff --git a/stdlib/2and3/socket.pyi b/stdlib/2and3/socket.pyi index 93052b814..79e03cf21 100644 --- a/stdlib/2and3/socket.pyi +++ b/stdlib/2and3/socket.pyi @@ -10,246 +10,399 @@ from typing import Any, Tuple, List, Optional, Union, overload # ----- variables and constants ----- -AF_UNIX = 0 -AF_INET = 0 -AF_INET6 = 0 -SOCK_STREAM = 0 -SOCK_DGRAM = 0 -SOCK_RAW = 0 -SOCK_RDM = 0 -SOCK_SEQPACKET = 0 -SOCK_CLOEXEC = 0 -SOCK_NONBLOCK = 0 -SOMAXCONN = 0 -has_ipv6 = False -_GLOBAL_DEFAULT_TIMEOUT = ... # type: Any -SocketType = ... # type: Any -SocketIO = ... # type: Any +AF_UNIX: int +AF_INET: int +AF_INET6: int +SOCK_STREAM: int +SOCK_DGRAM: int +SOCK_RAW: int +SOCK_RDM: int +SOCK_SEQPACKET: int +SOCK_CLOEXEC: int +SOCK_NONBLOCK: int +SOMAXCONN: int +has_ipv6: bool +_GLOBAL_DEFAULT_TIMEOUT: Any +SocketType: Any +SocketIO: Any +# These are flags that may exist on Python 3.6. Many don't exist on all platforms. +AF_AAL5: int +AF_APPLETALK: int +AF_ASH: int +AF_ATMPVC: int +AF_ATMSVC: int +AF_AX25: int +AF_BLUETOOTH: int +AF_BRIDGE: int +AF_CAN: int +AF_DECnet: int +AF_ECONET: int +AF_IPX: int +AF_IRDA: int +AF_KEY: int +AF_LLC: int +AF_NETBEUI: int +AF_NETLINK: int +AF_NETROM: int +AF_PACKET: int +AF_PPPOX: int +AF_RDS: int +AF_ROSE: int +AF_ROUTE: int +AF_SECURITY: int +AF_SNA: int +AF_SYSTEM: int +AF_TIPC: int +AF_UNSPEC: int +AF_WANPIPE: int +AF_X25: int +AI_ADDRCONFIG: int +AI_ALL: int +AI_CANONNAME: int +AI_DEFAULT: int +AI_MASK: int +AI_NUMERICHOST: int +AI_NUMERICSERV: int +AI_PASSIVE: int +AI_V4MAPPED: int +AI_V4MAPPED_CFG: int +BDADDR_ANY: str +BDADDR_LOCAL: str +BTPROTO_HCI: int +BTPROTO_L2CAP: int +BTPROTO_RFCOMM: int +BTPROTO_SCO: int +CAN_EFF_FLAG: int +CAN_EFF_MASK: int +CAN_ERR_FLAG: int +CAN_ERR_MASK: int +CAN_RAW: int +CAN_RAW_ERR_FILTER: int +CAN_RAW_FILTER: int +CAN_RAW_LOOPBACK: int +CAN_RAW_RECV_OWN_MSGS: int +CAN_RTR_FLAG: int +CAN_SFF_MASK: int +CAPI: int +EAGAIN: int +EAI_ADDRFAMILY: int +EAI_AGAIN: int +EAI_BADFLAGS: int +EAI_BADHINTS: int +EAI_FAIL: int +EAI_FAMILY: int +EAI_MAX: int +EAI_MEMORY: int +EAI_NODATA: int +EAI_NONAME: int +EAI_OVERFLOW: int +EAI_PROTOCOL: int +EAI_SERVICE: int +EAI_SOCKTYPE: int +EAI_SYSTEM: int +EBADF: int +EINTR: int +EWOULDBLOCK: int +HCI_DATA_DIR: int +HCI_FILTER: int +HCI_TIME_STAMP: int +INADDR_ALLHOSTS_GROUP: int +INADDR_ANY: int +INADDR_BROADCAST: int +INADDR_LOOPBACK: int +INADDR_MAX_LOCAL_GROUP: int +INADDR_NONE: int +INADDR_UNSPEC_GROUP: int +IPPORT_RESERVED: int +IPPORT_USERRESERVED: int +IPPROTO_AH: int +IPPROTO_BIP: int +IPPROTO_DSTOPTS: int +IPPROTO_EGP: int +IPPROTO_EON: int +IPPROTO_ESP: int +IPPROTO_FRAGMENT: int +IPPROTO_GGP: int +IPPROTO_GRE: int +IPPROTO_HELLO: int +IPPROTO_HOPOPTS: int +IPPROTO_ICMP: int +IPPROTO_ICMPV6: int +IPPROTO_IDP: int +IPPROTO_IGMP: int +IPPROTO_IP: int +IPPROTO_IPCOMP: int +IPPROTO_IPIP: int +IPPROTO_IPV4: int +IPPROTO_IPV6: int +IPPROTO_MAX: int +IPPROTO_MOBILE: int +IPPROTO_ND: int +IPPROTO_NONE: int +IPPROTO_PIM: int +IPPROTO_PUP: int +IPPROTO_RAW: int +IPPROTO_ROUTING: int +IPPROTO_RSVP: int +IPPROTO_SCTP: int +IPPROTO_TCP: int +IPPROTO_TP: int +IPPROTO_UDP: int +IPPROTO_VRRP: int +IPPROTO_XTP: int +IPV6_CHECKSUM: int +IPV6_DONTFRAG: int +IPV6_DSTOPTS: int +IPV6_HOPLIMIT: int +IPV6_HOPOPTS: int +IPV6_JOIN_GROUP: int +IPV6_LEAVE_GROUP: int +IPV6_MULTICAST_HOPS: int +IPV6_MULTICAST_IF: int +IPV6_MULTICAST_LOOP: int +IPV6_NEXTHOP: int +IPV6_PATHMTU: int +IPV6_PKTINFO: int +IPV6_RECVDSTOPTS: int +IPV6_RECVHOPLIMIT: int +IPV6_RECVHOPOPTS: int +IPV6_RECVPATHMTU: int +IPV6_RECVPKTINFO: int +IPV6_RECVRTHDR: int +IPV6_RECVTCLASS: int +IPV6_RTHDR: int +IPV6_RTHDR_TYPE_0: int +IPV6_RTHDRDSTOPTS: int +IPV6_TCLASS: int +IPV6_UNICAST_HOPS: int +IPV6_USE_MIN_MTU: int +IPV6_V6ONLY: int +IP_ADD_MEMBERSHIP: int +IP_DEFAULT_MULTICAST_LOOP: int +IP_DEFAULT_MULTICAST_TTL: int +IP_DROP_MEMBERSHIP: int +IP_HDRINCL: int +IP_MAX_MEMBERSHIPS: int +IP_MULTICAST_IF: int +IP_MULTICAST_LOOP: int +IP_MULTICAST_TTL: int +IP_OPTIONS: int +IP_RECVDSTADDR: int +IP_RECVOPTS: int +IP_RECVRETOPTS: int +IP_RETOPTS: int +IP_TOS: int +IP_TRANSPARENT: int +IP_TTL: int +IPX_TYPE: int +LOCAL_PEERCRED: int +MSG_BCAST: int +MSG_BTAG: int +MSG_CMSG_CLOEXEC: int +MSG_CONFIRM: int +MSG_CTRUNC: int +MSG_DONTROUTE: int +MSG_DONTWAIT: int +MSG_EOF: int +MSG_EOR: int +MSG_ERRQUEUE: int +MSG_ETAG: int +MSG_FASTOPEN: int +MSG_MCAST: int +MSG_MORE: int +MSG_NOSIGNAL: int +MSG_NOTIFICATION: int +MSG_OOB: int +MSG_PEEK: int +MSG_TRUNC: int +MSG_WAITALL: int +NETLINK_ARPD: int +NETLINK_CRYPTO: int +NETLINK_DNRTMSG: int +NETLINK_FIREWALL: int +NETLINK_IP6_FW: int +NETLINK_NFLOG: int +NETLINK_ROUTE6: int +NETLINK_ROUTE: int +NETLINK_SKIP: int +NETLINK_TAPBASE: int +NETLINK_TCPDIAG: int +NETLINK_USERSOCK: int +NETLINK_W1: int +NETLINK_XFRM: int +NI_DGRAM: int +NI_MAXHOST: int +NI_MAXSERV: int +NI_NAMEREQD: int +NI_NOFQDN: int +NI_NUMERICHOST: int +NI_NUMERICSERV: int +PACKET_BROADCAST: int +PACKET_FASTROUTE: int +PACKET_HOST: int +PACKET_LOOPBACK: int +PACKET_MULTICAST: int +PACKET_OTHERHOST: int +PACKET_OUTGOING: int +PF_CAN: int +PF_PACKET: int +PF_RDS: int +PF_SYSTEM: int +SCM_CREDENTIALS: int +SCM_CREDS: int +SCM_RIGHTS: int +SHUT_RD: int +SHUT_RDWR: int +SHUT_WR: int +SOL_ATALK: int +SOL_AX25: int +SOL_CAN_BASE: int +SOL_CAN_RAW: int +SOL_HCI: int +SOL_IP: int +SOL_IPX: int +SOL_NETROM: int +SOL_RDS: int +SOL_ROSE: int +SOL_SOCKET: int +SOL_TCP: int +SOL_TIPC: int +SOL_UDP: int +SO_ACCEPTCONN: int +SO_BINDTODEVICE: int +SO_BROADCAST: int +SO_DEBUG: int +SO_DONTROUTE: int +SO_ERROR: int +SO_EXCLUSIVEADDRUSE: int +SO_KEEPALIVE: int +SO_LINGER: int +SO_MARK: int +SO_OOBINLINE: int +SO_PASSCRED: int +SO_PEERCRED: int +SO_PRIORITY: int +SO_RCVBUF: int +SO_RCVLOWAT: int +SO_RCVTIMEO: int +SO_REUSEADDR: int +SO_REUSEPORT: int +SO_SETFIB: int +SO_SNDBUF: int +SO_SNDLOWAT: int +SO_SNDTIMEO: int +SO_TYPE: int +SO_USELOOPBACK: int +SYSPROTO_CONTROL: int +TCP_CORK: int +TCP_DEFER_ACCEPT: int +TCP_FASTOPEN: int +TCP_INFO: int +TCP_KEEPCNT: int +TCP_KEEPIDLE: int +TCP_KEEPINTVL: int +TCP_LINGER2: int +TCP_MAXSEG: int +TCP_NODELAY: int +TCP_NOTSENT_LOWAT: int +TCP_QUICKACK: int +TCP_SYNCNT: int +TCP_WINDOW_CLAMP: int +TIPC_ADDR_ID: int +TIPC_ADDR_NAME: int +TIPC_ADDR_NAMESEQ: int +TIPC_CFG_SRV: int +TIPC_CLUSTER_SCOPE: int +TIPC_CONN_TIMEOUT: int +TIPC_CRITICAL_IMPORTANCE: int +TIPC_DEST_DROPPABLE: int +TIPC_HIGH_IMPORTANCE: int +TIPC_IMPORTANCE: int +TIPC_LOW_IMPORTANCE: int +TIPC_MEDIUM_IMPORTANCE: int +TIPC_NODE_SCOPE: int +TIPC_PUBLISHED: int +TIPC_SRC_DROPPABLE: int +TIPC_SUB_CANCEL: int +TIPC_SUB_PORTS: int +TIPC_SUB_SERVICE: int +TIPC_SUBSCR_TIMEOUT: int +TIPC_TOP_SRV: int +TIPC_WAIT_FOREVER: int +TIPC_WITHDRAWN: int +TIPC_ZONE_SCOPE: int -# the following constants are included with Python 3.2.3 (Ubuntu) -# some of the constants may be Linux-only -# all Windows/Mac-specific constants are absent -AF_APPLETALK = 0 -AF_ASH = 0 -AF_ATMPVC = 0 -AF_ATMSVC = 0 -AF_AX25 = 0 -AF_BLUETOOTH = 0 -AF_BRIDGE = 0 -AF_DECnet = 0 -AF_ECONET = 0 -AF_IPX = 0 -AF_IRDA = 0 -AF_KEY = 0 -AF_LLC = 0 -AF_NETBEUI = 0 -AF_NETLINK = 0 -AF_NETROM = 0 -AF_PACKET = 0 -AF_PPPOX = 0 -AF_ROSE = 0 -AF_ROUTE = 0 -AF_SECURITY = 0 -AF_SNA = 0 -AF_TIPC = 0 -AF_UNSPEC = 0 -AF_WANPIPE = 0 -AF_X25 = 0 -AI_ADDRCONFIG = 0 -AI_ALL = 0 -AI_CANONNAME = 0 -AI_NUMERICHOST = 0 -AI_NUMERICSERV = 0 -AI_PASSIVE = 0 -AI_V4MAPPED = 0 -BDADDR_ANY = 0 -BDADDR_LOCAL = 0 -BTPROTO_HCI = 0 -BTPROTO_L2CAP = 0 -BTPROTO_RFCOMM = 0 -BTPROTO_SCO = 0 -CAPI = 0 -EAGAIN = 0 -EAI_ADDRFAMILY = 0 -EAI_AGAIN = 0 -EAI_BADFLAGS = 0 -EAI_FAIL = 0 -EAI_FAMILY = 0 -EAI_MEMORY = 0 -EAI_NODATA = 0 -EAI_NONAME = 0 -EAI_OVERFLOW = 0 -EAI_SERVICE = 0 -EAI_SOCKTYPE = 0 -EAI_SYSTEM = 0 -EBADF = 0 -EINTR = 0 -EWOULDBLOCK = 0 -HCI_DATA_DIR = 0 -HCI_FILTER = 0 -HCI_TIME_STAMP = 0 -INADDR_ALLHOSTS_GROUP = 0 -INADDR_ANY = 0 -INADDR_BROADCAST = 0 -INADDR_LOOPBACK = 0 -INADDR_MAX_LOCAL_GROUP = 0 -INADDR_NONE = 0 -INADDR_UNSPEC_GROUP = 0 -IPPORT_RESERVED = 0 -IPPORT_USERRESERVED = 0 -IPPROTO_AH = 0 -IPPROTO_DSTOPTS = 0 -IPPROTO_EGP = 0 -IPPROTO_ESP = 0 -IPPROTO_FRAGMENT = 0 -IPPROTO_GRE = 0 -IPPROTO_HOPOPTS = 0 -IPPROTO_ICMP = 0 -IPPROTO_ICMPV6 = 0 -IPPROTO_IDP = 0 -IPPROTO_IGMP = 0 -IPPROTO_IP = 0 -IPPROTO_IPIP = 0 -IPPROTO_IPV6 = 0 -IPPROTO_NONE = 0 -IPPROTO_PIM = 0 -IPPROTO_PUP = 0 -IPPROTO_RAW = 0 -IPPROTO_ROUTING = 0 -IPPROTO_RSVP = 0 -IPPROTO_TCP = 0 -IPPROTO_TP = 0 -IPPROTO_UDP = 0 -IPV6_CHECKSUM = 0 -IPV6_DSTOPTS = 0 -IPV6_HOPLIMIT = 0 -IPV6_HOPOPTS = 0 -IPV6_JOIN_GROUP = 0 -IPV6_LEAVE_GROUP = 0 -IPV6_MULTICAST_HOPS = 0 -IPV6_MULTICAST_IF = 0 -IPV6_MULTICAST_LOOP = 0 -IPV6_NEXTHOP = 0 -IPV6_PKTINFO = 0 -IPV6_RECVDSTOPTS = 0 -IPV6_RECVHOPLIMIT = 0 -IPV6_RECVHOPOPTS = 0 -IPV6_RECVPKTINFO = 0 -IPV6_RECVRTHDR = 0 -IPV6_RECVTCLASS = 0 -IPV6_RTHDR = 0 -IPV6_RTHDRDSTOPTS = 0 -IPV6_RTHDR_TYPE_0 = 0 -IPV6_TCLASS = 0 -IPV6_UNICAST_HOPS = 0 -IPV6_V6ONLY = 0 -IP_ADD_MEMBERSHIP = 0 -IP_DEFAULT_MULTICAST_LOOP = 0 -IP_DEFAULT_MULTICAST_TTL = 0 -IP_DROP_MEMBERSHIP = 0 -IP_HDRINCL = 0 -IP_MAX_MEMBERSHIPS = 0 -IP_MULTICAST_IF = 0 -IP_MULTICAST_LOOP = 0 -IP_MULTICAST_TTL = 0 -IP_OPTIONS = 0 -IP_RECVOPTS = 0 -IP_RECVRETOPTS = 0 -IP_RETOPTS = 0 -IP_TOS = 0 -IP_TTL = 0 -MSG_CTRUNC = 0 -MSG_DONTROUTE = 0 -MSG_DONTWAIT = 0 -MSG_EOR = 0 -MSG_OOB = 0 -MSG_PEEK = 0 -MSG_TRUNC = 0 -MSG_WAITALL = 0 -NETLINK_DNRTMSG = 0 -NETLINK_FIREWALL = 0 -NETLINK_IP6_FW = 0 -NETLINK_NFLOG = 0 -NETLINK_ROUTE = 0 -NETLINK_USERSOCK = 0 -NETLINK_XFRM = 0 -NI_DGRAM = 0 -NI_MAXHOST = 0 -NI_MAXSERV = 0 -NI_NAMEREQD = 0 -NI_NOFQDN = 0 -NI_NUMERICHOST = 0 -NI_NUMERICSERV = 0 -PACKET_BROADCAST = 0 -PACKET_FASTROUTE = 0 -PACKET_HOST = 0 -PACKET_LOOPBACK = 0 -PACKET_MULTICAST = 0 -PACKET_OTHERHOST = 0 -PACKET_OUTGOING = 0 -PF_PACKET = 0 -SHUT_RD = 0 -SHUT_RDWR = 0 -SHUT_WR = 0 -SOL_HCI = 0 -SOL_IP = 0 -SOL_SOCKET = 0 -SOL_TCP = 0 -SOL_TIPC = 0 -SOL_UDP = 0 -SO_ACCEPTCONN = 0 -SO_BROADCAST = 0 -SO_DEBUG = 0 -SO_DONTROUTE = 0 -SO_ERROR = 0 -SO_KEEPALIVE = 0 -SO_LINGER = 0 -SO_OOBINLINE = 0 -SO_RCVBUF = 0 -SO_RCVLOWAT = 0 -SO_RCVTIMEO = 0 -SO_REUSEADDR = 0 -SO_SNDBUF = 0 -SO_SNDLOWAT = 0 -SO_SNDTIMEO = 0 -SO_TYPE = 0 -TCP_CORK = 0 -TCP_DEFER_ACCEPT = 0 -TCP_INFO = 0 -TCP_KEEPCNT = 0 -TCP_KEEPIDLE = 0 -TCP_KEEPINTVL = 0 -TCP_LINGER2 = 0 -TCP_MAXSEG = 0 -TCP_NODELAY = 0 -TCP_QUICKACK = 0 -TCP_SYNCNT = 0 -TCP_WINDOW_CLAMP = 0 -TIPC_ADDR_ID = 0 -TIPC_ADDR_NAME = 0 -TIPC_ADDR_NAMESEQ = 0 -TIPC_CFG_SRV = 0 -TIPC_CLUSTER_SCOPE = 0 -TIPC_CONN_TIMEOUT = 0 -TIPC_CRITICAL_IMPORTANCE = 0 -TIPC_DEST_DROPPABLE = 0 -TIPC_HIGH_IMPORTANCE = 0 -TIPC_IMPORTANCE = 0 -TIPC_LOW_IMPORTANCE = 0 -TIPC_MEDIUM_IMPORTANCE = 0 -TIPC_NODE_SCOPE = 0 -TIPC_PUBLISHED = 0 -TIPC_SRC_DROPPABLE = 0 -TIPC_SUBSCR_TIMEOUT = 0 -TIPC_SUB_CANCEL = 0 -TIPC_SUB_PORTS = 0 -TIPC_SUB_SERVICE = 0 -TIPC_TOP_SRV = 0 -TIPC_WAIT_FOREVER = 0 -TIPC_WITHDRAWN = 0 -TIPC_ZONE_SCOPE = 0 +if sys.version_info >= (3, 3): + RDS_CANCEL_SENT_TO: int + RDS_CMSG_RDMA_ARGS: int + RDS_CMSG_RDMA_DEST: int + RDS_CMSG_RDMA_MAP: int + RDS_CMSG_RDMA_STATUS: int + RDS_CMSG_RDMA_UPDATE: int + RDS_CONG_MONITOR: int + RDS_FREE_MR: int + RDS_GET_MR: int + RDS_GET_MR_FOR_DEST: int + RDS_RDMA_DONTWAIT: int + RDS_RDMA_FENCE: int + RDS_RDMA_INVALIDATE: int + RDS_RDMA_NOTIFY_ME: int + RDS_RDMA_READWRITE: int + RDS_RDMA_SILENT: int + RDS_RDMA_USE_ONCE: int + RDS_RECVERR: int +if sys.version_info >= (3, 4): + CAN_BCM: int + CAN_BCM_TX_SETUP: int + CAN_BCM_TX_DELETE: int + CAN_BCM_TX_READ: int + CAN_BCM_TX_SEND: int + CAN_BCM_RX_SETUP: int + CAN_BCM_RX_DELETE: int + CAN_BCM_RX_READ: int + CAN_BCM_TX_STATUS: int + CAN_BCM_TX_EXPIRED: int + CAN_BCM_RX_STATUS: int + CAN_BCM_RX_TIMEOUT: int + CAN_BCM_RX_CHANGED: int + AF_LINK: int + +if sys.version_info >= (3, 5): + CAN_RAW_FD_FRAMES: int + +if sys.version_info >= (3, 6): + SO_DOMAIN: int + SO_PROTOCOL: int + SO_PEERSEC: int + SO_PASSSEC: int + TCP_USER_TIMEOUT: int + TCP_CONGESTION: int + AF_ALG: int + SOL_ALG: int + ALG_SET_KEY: int + ALG_SET_IV: int + ALG_SET_OP: int + ALG_SET_AEAD_ASSOCLEN: int + ALG_SET_AEAD_AUTHSIZE: int + ALG_SET_PUBKEY: int + ALG_OP_DECRYPT: int + ALG_OP_ENCRYPT: int + ALG_OP_SIGN: int + ALG_OP_VERIFY: int + +if sys.platform == 'win32': + SIO_RCVALL: int + SIO_KEEPALIVE_VALS: int + RCVALL_IPLEVEL: int + RCVALL_MAX: int + RCVALL_OFF: int + RCVALL_ON: int + RCVALL_SOCKETLEVELONLY: int + + if sys.version_info >= (3, 6): + SIO_LOOPBACK_FAST_PATH: int # enum versions of above flags py 3.4+ if sys.version_info >= (3, 4): @@ -285,6 +438,7 @@ if sys.version_info >= (3, 4): AF_UNSPEC = ... AF_WANPIPE = ... AF_X25 = ... + AF_LINK = ... class SocketKind(IntEnum): SOCK_STREAM = ... @@ -340,9 +494,9 @@ class timeout(error): # ----- classes ----- class socket: - family = 0 - type = 0 - proto = 0 + family: int + type: int + proto: int if sys.version_info < (3,): def __init__(self, family: int = ..., type: int = ...,