# -*- coding: utf-8 -*-# pylint: disable=line-too-long,consider-using-f-string"""Socket Types==================.. module:: pcapkit.const.ipx.socketThis module contains the constant enumeration for **Socket Types**,which is automatically generated from :class:`pcapkit.vendor.ipx.socket.Socket`."""fromaenumimportIntEnum,extend_enum__all__=['Socket']
[docs]classSocket(IntEnum):"""[Socket] Socket Types"""#: Routing Information PacketRouting_Information_Packet=0x0001#: Echo Protocol PacketEcho_Protocol_Packet=0x0002#: Error Handling PacketError_Handling_Packet=0x0003#: NetWare Core Protocol, NCP – used by Novell NetWare serversNetWare_Core_Protocol=0x0451#: Service Advertising Protocol, SAPService_Advertising_Protocol=0x0452#: Routing Information Protocol, RIPRouting_Information_Protocol=0x0453#: NetBIOSNetBIOS=0x0455#: Diagnostic PacketDiagnostic_Packet=0x0456#: Serialization Packet, used for NCP as wellSerialization_Packet=0x0457#: Used by Novell NetWare ClientUsed_by_Novell_NetWare_Client=0x4003#: LLC [ 4 ]LLC_4=0x8060#: TCP over IPXFTCP_over_IPXF=0x9091#: UDP over IPXFUDP_over_IPXF=0x9092#: IPXF, IPX Fragmentation ProtocolIPXF=0x9093@staticmethoddefget(key:'int | str',default:'int'=-1)->'Socket':"""Backport support for original codes. Args: key: Key to get enum item. default: Default value if not found. :meta private: """ifisinstance(key,int):returnSocket(key)ifkeynotinSocket._member_map_:# pylint: disable=no-memberreturnextend_enum(Socket,key,default)returnSocket[key]# type: ignore[misc]
[docs]@classmethoddef_missing_(cls,value:'int')->'Socket':"""Lookup function used when value is not found. Args: value: Value to get enum item. """ifnot(isinstance(value,int)and0x0000<=value<=0xFFFF):raiseValueError('%r is not a valid %s'%(value,cls.__name__))if0x0001<=value<=0x0BB8:#: Registered by Xeroxreturnextend_enum(cls,'Registered by Xerox_0x%s'%hex(value)[2:].upper().zfill(4),value)if0x0020<=value<=0x003F:#: Experimentalreturnextend_enum(cls,'Experimental_0x%s'%hex(value)[2:].upper().zfill(4),value)if0x0BB9<=value<=0xFFFF:#: Dynamically Assignedreturnextend_enum(cls,'Dynamically Assigned_0x%s'%hex(value)[2:].upper().zfill(4),value)if0x4000<=value<=0x4FFF:#: Dynamically Assigned Socket Numbersreturnextend_enum(cls,'Dynamically Assigned Socket Numbers_0x%s'%hex(value)[2:].upper().zfill(4),value)if0x8000<=value<=0xFFFF:#: Statically Assigned Socket Numbersreturnextend_enum(cls,'Statically Assigned Socket Numbers_0x%s'%hex(value)[2:].upper().zfill(4),value)returnsuper()._missing_(value)