--- /dev/null
+from typing import Tuple, Union, IO, Any, Optional, overload\r
+\r
+AF_APPLETALK = ... # type: int\r
+AF_ASH = ... # type: int\r
+AF_ATMPVC = ... # type: int\r
+AF_ATMSVC = ... # type: int\r
+AF_AX25 = ... # type: int\r
+AF_BLUETOOTH = ... # type: int\r
+AF_BRIDGE = ... # type: int\r
+AF_DECnet = ... # type: int\r
+AF_ECONET = ... # type: int\r
+AF_INET = ... # type: int\r
+AF_INET6 = ... # type: int\r
+AF_IPX = ... # type: int\r
+AF_IRDA = ... # type: int\r
+AF_KEY = ... # type: int\r
+AF_LLC = ... # type: int\r
+AF_NETBEUI = ... # type: int\r
+AF_NETLINK = ... # type: int\r
+AF_NETROM = ... # type: int\r
+AF_PACKET = ... # type: int\r
+AF_PPPOX = ... # type: int\r
+AF_ROSE = ... # type: int\r
+AF_ROUTE = ... # type: int\r
+AF_SECURITY = ... # type: int\r
+AF_SNA = ... # type: int\r
+AF_TIPC = ... # type: int\r
+AF_UNIX = ... # type: int\r
+AF_UNSPEC = ... # type: int\r
+AF_WANPIPE = ... # type: int\r
+AF_X25 = ... # type: int\r
+AI_ADDRCONFIG = ... # type: int\r
+AI_ALL = ... # type: int\r
+AI_CANONNAME = ... # type: int\r
+AI_NUMERICHOST = ... # type: int\r
+AI_NUMERICSERV = ... # type: int\r
+AI_PASSIVE = ... # type: int\r
+AI_V4MAPPED = ... # type: int\r
+BDADDR_ANY = ... # type: str\r
+BDADDR_LOCAL = ... # type: str\r
+BTPROTO_HCI = ... # type: int\r
+BTPROTO_L2CAP = ... # type: int\r
+BTPROTO_RFCOMM = ... # type: int\r
+BTPROTO_SCO = ... # type: int\r
+EAI_ADDRFAMILY = ... # type: int\r
+EAI_AGAIN = ... # type: int\r
+EAI_BADFLAGS = ... # type: int\r
+EAI_FAIL = ... # type: int\r
+EAI_FAMILY = ... # type: int\r
+EAI_MEMORY = ... # type: int\r
+EAI_NODATA = ... # type: int\r
+EAI_NONAME = ... # type: int\r
+EAI_OVERFLOW = ... # type: int\r
+EAI_SERVICE = ... # type: int\r
+EAI_SOCKTYPE = ... # type: int\r
+EAI_SYSTEM = ... # type: int\r
+EBADF = ... # type: int\r
+EINTR = ... # type: int\r
+HCI_DATA_DIR = ... # type: int\r
+HCI_FILTER = ... # type: int\r
+HCI_TIME_STAMP = ... # type: int\r
+INADDR_ALLHOSTS_GROUP = ... # type: int\r
+INADDR_ANY = ... # type: int\r
+INADDR_BROADCAST = ... # type: int\r
+INADDR_LOOPBACK = ... # type: int\r
+INADDR_MAX_LOCAL_GROUP = ... # type: int\r
+INADDR_NONE = ... # type: int\r
+INADDR_UNSPEC_GROUP = ... # type: int\r
+IPPORT_RESERVED = ... # type: int\r
+IPPORT_USERRESERVED = ... # type: int\r
+IPPROTO_AH = ... # type: int\r
+IPPROTO_DSTOPTS = ... # type: int\r
+IPPROTO_EGP = ... # type: int\r
+IPPROTO_ESP = ... # type: int\r
+IPPROTO_FRAGMENT = ... # type: int\r
+IPPROTO_GRE = ... # type: int\r
+IPPROTO_HOPOPTS = ... # type: int\r
+IPPROTO_ICMP = ... # type: int\r
+IPPROTO_ICMPV6 = ... # type: int\r
+IPPROTO_IDP = ... # type: int\r
+IPPROTO_IGMP = ... # type: int\r
+IPPROTO_IP = ... # type: int\r
+IPPROTO_IPIP = ... # type: int\r
+IPPROTO_IPV6 = ... # type: int\r
+IPPROTO_NONE = ... # type: int\r
+IPPROTO_PIM = ... # type: int\r
+IPPROTO_PUP = ... # type: int\r
+IPPROTO_RAW = ... # type: int\r
+IPPROTO_ROUTING = ... # type: int\r
+IPPROTO_RSVP = ... # type: int\r
+IPPROTO_TCP = ... # type: int\r
+IPPROTO_TP = ... # type: int\r
+IPPROTO_UDP = ... # type: int\r
+IPV6_CHECKSUM = ... # type: int\r
+IPV6_DSTOPTS = ... # type: int\r
+IPV6_HOPLIMIT = ... # type: int\r
+IPV6_HOPOPTS = ... # type: int\r
+IPV6_JOIN_GROUP = ... # type: int\r
+IPV6_LEAVE_GROUP = ... # type: int\r
+IPV6_MULTICAST_HOPS = ... # type: int\r
+IPV6_MULTICAST_IF = ... # type: int\r
+IPV6_MULTICAST_LOOP = ... # type: int\r
+IPV6_NEXTHOP = ... # type: int\r
+IPV6_PKTINFO = ... # type: int\r
+IPV6_RECVDSTOPTS = ... # type: int\r
+IPV6_RECVHOPLIMIT = ... # type: int\r
+IPV6_RECVHOPOPTS = ... # type: int\r
+IPV6_RECVPKTINFO = ... # type: int\r
+IPV6_RECVRTHDR = ... # type: int\r
+IPV6_RECVTCLASS = ... # type: int\r
+IPV6_RTHDR = ... # type: int\r
+IPV6_RTHDRDSTOPTS = ... # type: int\r
+IPV6_RTHDR_TYPE_0 = ... # type: int\r
+IPV6_TCLASS = ... # type: int\r
+IPV6_UNICAST_HOPS = ... # type: int\r
+IPV6_V6ONLY = ... # type: int\r
+IP_ADD_MEMBERSHIP = ... # type: int\r
+IP_DEFAULT_MULTICAST_LOOP = ... # type: int\r
+IP_DEFAULT_MULTICAST_TTL = ... # type: int\r
+IP_DROP_MEMBERSHIP = ... # type: int\r
+IP_HDRINCL = ... # type: int\r
+IP_MAX_MEMBERSHIPS = ... # type: int\r
+IP_MULTICAST_IF = ... # type: int\r
+IP_MULTICAST_LOOP = ... # type: int\r
+IP_MULTICAST_TTL = ... # type: int\r
+IP_OPTIONS = ... # type: int\r
+IP_RECVOPTS = ... # type: int\r
+IP_RECVRETOPTS = ... # type: int\r
+IP_RETOPTS = ... # type: int\r
+IP_TOS = ... # type: int\r
+IP_TTL = ... # type: int\r
+MSG_CTRUNC = ... # type: int\r
+MSG_DONTROUTE = ... # type: int\r
+MSG_DONTWAIT = ... # type: int\r
+MSG_EOR = ... # type: int\r
+MSG_OOB = ... # type: int\r
+MSG_PEEK = ... # type: int\r
+MSG_TRUNC = ... # type: int\r
+MSG_WAITALL = ... # type: int\r
+MethodType = ... # type: type\r
+NETLINK_DNRTMSG = ... # type: int\r
+NETLINK_FIREWALL = ... # type: int\r
+NETLINK_IP6_FW = ... # type: int\r
+NETLINK_NFLOG = ... # type: int\r
+NETLINK_ROUTE = ... # type: int\r
+NETLINK_USERSOCK = ... # type: int\r
+NETLINK_XFRM = ... # type: int\r
+NI_DGRAM = ... # type: int\r
+NI_MAXHOST = ... # type: int\r
+NI_MAXSERV = ... # type: int\r
+NI_NAMEREQD = ... # type: int\r
+NI_NOFQDN = ... # type: int\r
+NI_NUMERICHOST = ... # type: int\r
+NI_NUMERICSERV = ... # type: int\r
+PACKET_BROADCAST = ... # type: int\r
+PACKET_FASTROUTE = ... # type: int\r
+PACKET_HOST = ... # type: int\r
+PACKET_LOOPBACK = ... # type: int\r
+PACKET_MULTICAST = ... # type: int\r
+PACKET_OTHERHOST = ... # type: int\r
+PACKET_OUTGOING = ... # type: int\r
+PF_PACKET = ... # type: int\r
+SHUT_RD = ... # type: int\r
+SHUT_RDWR = ... # type: int\r
+SHUT_WR = ... # type: int\r
+SOCK_DGRAM = ... # type: int\r
+SOCK_RAW = ... # type: int\r
+SOCK_RDM = ... # type: int\r
+SOCK_SEQPACKET = ... # type: int\r
+SOCK_STREAM = ... # type: int\r
+SOL_HCI = ... # type: int\r
+SOL_IP = ... # type: int\r
+SOL_SOCKET = ... # type: int\r
+SOL_TCP = ... # type: int\r
+SOL_TIPC = ... # type: int\r
+SOL_UDP = ... # type: int\r
+SOMAXCONN = ... # type: int\r
+SO_ACCEPTCONN = ... # type: int\r
+SO_BROADCAST = ... # type: int\r
+SO_DEBUG = ... # type: int\r
+SO_DONTROUTE = ... # type: int\r
+SO_ERROR = ... # type: int\r
+SO_KEEPALIVE = ... # type: int\r
+SO_LINGER = ... # type: int\r
+SO_OOBINLINE = ... # type: int\r
+SO_RCVBUF = ... # type: int\r
+SO_RCVLOWAT = ... # type: int\r
+SO_RCVTIMEO = ... # type: int\r
+SO_REUSEADDR = ... # type: int\r
+SO_REUSEPORT = ... # type: int\r
+SO_SNDBUF = ... # type: int\r
+SO_SNDLOWAT = ... # type: int\r
+SO_SNDTIMEO = ... # type: int\r
+SO_TYPE = ... # type: int\r
+SSL_ERROR_EOF = ... # type: int\r
+SSL_ERROR_INVALID_ERROR_CODE = ... # type: int\r
+SSL_ERROR_SSL = ... # type: int\r
+SSL_ERROR_SYSCALL = ... # type: int\r
+SSL_ERROR_WANT_CONNECT = ... # type: int\r
+SSL_ERROR_WANT_READ = ... # type: int\r
+SSL_ERROR_WANT_WRITE = ... # type: int\r
+SSL_ERROR_WANT_X509_LOOKUP = ... # type: int\r
+SSL_ERROR_ZERO_RETURN = ... # type: int\r
+TCP_CORK = ... # type: int\r
+TCP_DEFER_ACCEPT = ... # type: int\r
+TCP_INFO = ... # type: int\r
+TCP_KEEPCNT = ... # type: int\r
+TCP_KEEPIDLE = ... # type: int\r
+TCP_KEEPINTVL = ... # type: int\r
+TCP_LINGER2 = ... # type: int\r
+TCP_MAXSEG = ... # type: int\r
+TCP_NODELAY = ... # type: int\r
+TCP_QUICKACK = ... # type: int\r
+TCP_SYNCNT = ... # type: int\r
+TCP_WINDOW_CLAMP = ... # type: int\r
+TIPC_ADDR_ID = ... # type: int\r
+TIPC_ADDR_NAME = ... # type: int\r
+TIPC_ADDR_NAMESEQ = ... # type: int\r
+TIPC_CFG_SRV = ... # type: int\r
+TIPC_CLUSTER_SCOPE = ... # type: int\r
+TIPC_CONN_TIMEOUT = ... # type: int\r
+TIPC_CRITICAL_IMPORTANCE = ... # type: int\r
+TIPC_DEST_DROPPABLE = ... # type: int\r
+TIPC_HIGH_IMPORTANCE = ... # type: int\r
+TIPC_IMPORTANCE = ... # type: int\r
+TIPC_LOW_IMPORTANCE = ... # type: int\r
+TIPC_MEDIUM_IMPORTANCE = ... # type: int\r
+TIPC_NODE_SCOPE = ... # type: int\r
+TIPC_PUBLISHED = ... # type: int\r
+TIPC_SRC_DROPPABLE = ... # type: int\r
+TIPC_SUBSCR_TIMEOUT = ... # type: int\r
+TIPC_SUB_CANCEL = ... # type: int\r
+TIPC_SUB_PORTS = ... # type: int\r
+TIPC_SUB_SERVICE = ... # type: int\r
+TIPC_TOP_SRV = ... # type: int\r
+TIPC_WAIT_FOREVER = ... # type: int\r
+TIPC_WITHDRAWN = ... # type: int\r
+TIPC_ZONE_SCOPE = ... # type: int\r
+\r
+# PyCapsule\r
+CAPI = ... # type: Any\r
+\r
+has_ipv6 = ... # type: bool\r
+\r
+class error(IOError): ...\r
+class gaierror(error): ...\r
+class timeout(error): ...\r
+\r
+class SocketType(object):\r
+ family = ... # type: int\r
+ type = ... # type: int\r
+ proto = ... # type: int\r
+ timeout = ... # type: float\r
+\r
+ def __init__(self, family: int = ..., type: int = ..., proto: int = ...) -> None: ...\r
+ def accept(self) -> Tuple['SocketType', tuple]: ...\r
+ def bind(self, address: tuple) -> None: ...\r
+ def close(self) -> None: ...\r
+ def connect(self, address: tuple) -> None:\r
+ raise gaierror\r
+ raise timeout\r
+ def connect_ex(self, address: tuple) -> int: ...\r
+ def dup(self) -> "SocketType": ...\r
+ def fileno(self) -> int: ...\r
+ def getpeername(self) -> tuple: ...\r
+ def getsockname(self) -> tuple: ...\r
+ def getsockopt(self, level: int, option: int, buffersize: int = ...) -> str: ...\r
+ def gettimeout(self) -> float: ...\r
+ def listen(self, backlog: int) -> None:\r
+ raise error\r
+ def makefile(self, mode: str = ..., buffersize: int = ...) -> IO[Any]: ...\r
+ def recv(self, buffersize: int, flags: int = ...) -> str: ...\r
+ def recv_into(self, buffer: bytearray, nbytes: int = ..., flags: int = ...) -> int: ...\r
+ def recvfrom(self, buffersize: int, flags: int = ...) -> tuple:\r
+ raise error\r
+ def recvfrom_into(self, buffer: bytearray, nbytes: int = ...,\r
+ flags: int = ...) -> int: ...\r
+ def send(self, data: str, flags: int =...) -> int: ...\r
+ def sendall(self, data: str, flags: int = ...) -> None: ...\r
+ @overload\r
+ def sendto(self, data: str, address: tuple) -> int: ...\r
+ @overload\r
+ def sendto(self, data: str, flags: int, address: tuple) -> int: ...\r
+ def setblocking(self, flag: bool) -> None: ...\r
+ def setsockopt(self, level: int, option: int, value: Union[int, str]) -> None: ...\r
+ def settimeout(self, value: Optional[float]) -> None: ...\r
+ def shutdown(self, flag: int) -> None: ...\r