scapy.contrib.pnio_rpc

PNIO RPC endpoints

class scapy.contrib.pnio_rpc.ARBlockReq(_pkt, /, *, block_type=257, block_length=None, block_version_high=1, block_version_low=0, ARType=1, ARUUID=None, SessionKey=0, CMInitiatorMacAdd=None, CMInitiatorObjectUUID=None, ARProperties_PullModuleAlarmAllowed=0, ARProperties_StartupMode=0, ARProperties_reserved_3=0, ARProperties_reserved_2=0, ARProperties_AcknowledgeCompanionAR=0, ARProperties_CompanionAR=0, ARProperties_DeviceAccess=0, ARProperties_reserved_1=0, ARProperties_ParametrizationServer=0, ARProperties_SupervisorTakeoverAllowed=0, ARProperties_State=1, CMInitiatorActivityTimeoutFactor=1000, CMInitiatorUDPRTPort=34962, StationNameLength=None, CMInitiatorStationName=b'')[source]

Bases: Block

Application relationship block request

aliastypes = [<class 'scapy.contrib.pnio_rpc.ARBlockReq'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <XShortEnumField (ARBlockReq).ARType>, <UUIDField (ARBlockReq).ARUUID>, <ShortField (ARBlockReq).SessionKey>, <MACField (ARBlockReq).CMInitiatorMacAdd>, <UUIDField (ARBlockReq).CMInitiatorObjectUUID>, <BitField (ARBlockReq).ARProperties_PullModuleAlarmAllowed>, <BitEnumField (ARBlockReq).ARProperties_StartupMode>, <BitField (ARBlockReq).ARProperties_reserved_3>, <BitField (ARBlockReq).ARProperties_reserved_2>, <BitField (ARBlockReq).ARProperties_AcknowledgeCompanionAR>, <BitEnumField (ARBlockReq).ARProperties_CompanionAR>, <BitEnumField (ARBlockReq).ARProperties_DeviceAccess>, <BitField (ARBlockReq).ARProperties_reserved_1>, <BitEnumField (ARBlockReq).ARProperties_ParametrizationServer>, <BitField (ARBlockReq).ARProperties_SupervisorTakeoverAllowed>, <BitEnumField (ARBlockReq).ARProperties_State>, <ShortField (ARBlockReq).CMInitiatorActivityTimeoutFactor>, <ShortField (ARBlockReq).CMInitiatorUDPRTPort>, <FieldLenField (ARBlockReq).StationNameLength>, <StrLenField (ARBlockReq).CMInitiatorStationName>]
get_response()[source]

Generate the response block of this request. Careful: it only sets the fields which can be set from the request

class scapy.contrib.pnio_rpc.ARBlockRes(_pkt, /, *, block_type=33025, block_length=None, block_version_high=1, block_version_low=0, ARType=1, ARUUID=None, SessionKey=0, CMResponderMacAdd=None, CMResponderUDPRTPort=34962)[source]

Bases: Block

Application relationship block response

aliastypes = [<class 'scapy.contrib.pnio_rpc.ARBlockRes'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <XShortEnumField (ARBlockRes).ARType>, <UUIDField (ARBlockRes).ARUUID>, <ShortField (ARBlockRes).SessionKey>, <MACField (ARBlockRes).CMResponderMacAdd>, <ShortField (ARBlockRes).CMResponderUDPRTPort>]
class scapy.contrib.pnio_rpc.AdjustDCPBoundary(_pkt, /, *, block_type=549, block_length=None, block_version_high=1, block_version_low=0, padding1=b'', dcpBoundary=0, adjustProperties=0, padding2=0)[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.AdjustDCPBoundary'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (AdjustDCPBoundary).padding1>, <IntField (AdjustDCPBoundary).dcpBoundary>, <ShortField (AdjustDCPBoundary).adjustProperties>, <scapy.fields.PadField object>]
class scapy.contrib.pnio_rpc.AdjustDomainBoundary(_pkt, /, *, block_type=521, block_length=None, block_version_high=1, block_version_low=0, padding1=b'', DomainBoundaryIngress=0, DomainBoundaryEgress=0, adjustProperties=0, padding2=0)[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.AdjustDomainBoundary'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (AdjustDomainBoundary).padding1>, <IntEnumField (AdjustDomainBoundary).DomainBoundaryIngress>, <IntEnumField (AdjustDomainBoundary).DomainBoundaryEgress>, <ShortField (AdjustDomainBoundary).adjustProperties>, <scapy.fields.PadField object>]
class scapy.contrib.pnio_rpc.AdjustLinkState(_pkt, /, *, block_type=539, block_length=None, block_version_high=1, block_version_low=0, padding=b'', LinkState=0, AdjustProperties=0)[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.AdjustLinkState'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (AdjustLinkState).padding>, <XShortEnumField (AdjustLinkState).LinkState>, <ShortField (AdjustLinkState).AdjustProperties>]
class scapy.contrib.pnio_rpc.AdjustMauType(_pkt, /, *, block_type=526, block_length=None, block_version_high=1, block_version_low=0, padding=0, MAUType=1, adjustProperties=0)[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.AdjustMauType'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <scapy.fields.PadField object>, <XShortEnumField (AdjustMauType).MAUType>, <ShortField (AdjustMauType).adjustProperties>]
class scapy.contrib.pnio_rpc.AdjustMauTypeExtension(_pkt, /, *, block_type=553, block_length=None, block_version_high=1, block_version_low=0, padding=0, MAUTypeExtension=0, adjustProperties=0)[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.AdjustMauTypeExtension'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <scapy.fields.PadField object>, <XShortEnumField (AdjustMauTypeExtension).MAUTypeExtension>, <ShortField (AdjustMauTypeExtension).adjustProperties>]
class scapy.contrib.pnio_rpc.AdjustMulticastBoundary(_pkt, /, *, block_type=528, block_length=None, block_version_high=1, block_version_low=0, padding1=b'', MulticastAddress=0, adjustProperties=0, padding2=0)[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.AdjustMulticastBoundary'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (AdjustMulticastBoundary).padding1>, <IntField (AdjustMulticastBoundary).MulticastAddress>, <ShortField (AdjustMulticastBoundary).adjustProperties>, <scapy.fields.PadField object>]
class scapy.contrib.pnio_rpc.AdjustPeerToPeerBoundary(_pkt, /, *, block_type=548, block_length=None, block_version_high=1, block_version_low=0, padding1=b'', peerToPeerBoundary=0, adjustProperties=0, padding2=0)[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.AdjustPeerToPeerBoundary'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (AdjustPeerToPeerBoundary).padding1>, <IntField (AdjustPeerToPeerBoundary).peerToPeerBoundary>, <ShortField (AdjustPeerToPeerBoundary).adjustProperties>, <scapy.fields.PadField object>]
class scapy.contrib.pnio_rpc.AlarmCRBlockReq(_pkt, /, *, block_type=259, block_length=None, block_version_high=1, block_version_low=0, AlarmCRType=1, LT=34962, AlarmCRProperties_Priority=0, AlarmCRProperties_Transport=0, AlarmCRProperties_Reserved1=0, AlarmCRProperties_Reserved2=0, RTATimeoutFactor=1, RTARetries=3, LocalAlarmReference=3, MaxAlarmDataLength=200, AlarmCRTagHeaderHigh=49152, AlarmCRTagHeaderLow=40960)[source]

Bases: Block

Alarm CR block request

aliastypes = [<class 'scapy.contrib.pnio_rpc.AlarmCRBlockReq'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <XShortEnumField (AlarmCRBlockReq).AlarmCRType>, <ShortField (AlarmCRBlockReq).LT>, <BitField (AlarmCRBlockReq).AlarmCRProperties_Priority>, <BitEnumField (AlarmCRBlockReq).AlarmCRProperties_Transport>, <BitField (AlarmCRBlockReq).AlarmCRProperties_Reserved1>, <BitField (AlarmCRBlockReq).AlarmCRProperties_Reserved2>, <ShortField (AlarmCRBlockReq).RTATimeoutFactor>, <ShortField (AlarmCRBlockReq).RTARetries>, <ShortField (AlarmCRBlockReq).LocalAlarmReference>, <ShortField (AlarmCRBlockReq).MaxAlarmDataLength>, <ShortField (AlarmCRBlockReq).AlarmCRTagHeaderHigh>, <ShortField (AlarmCRBlockReq).AlarmCRTagHeaderLow>]
get_response()[source]

Generate the response block of this request. Careful: it only sets the fields which can be set from the request

post_build(p, pay)[source]
class scapy.contrib.pnio_rpc.AlarmCRBlockRes(_pkt, /, *, block_type=33027, block_length=None, block_version_high=1, block_version_low=0, AlarmCRType=1, LocalAlarmReference=0, MaxAlarmDataLength=0)[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.AlarmCRBlockRes'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <XShortEnumField (AlarmCRBlockRes).AlarmCRType>, <ShortField (AlarmCRBlockRes).LocalAlarmReference>, <ShortField (AlarmCRBlockRes).MaxAlarmDataLength>]
class scapy.contrib.pnio_rpc.AlarmItem(_pkt, /, *, UserStructureIdentifier=0, load=b'')[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.pnio_rpc.AlarmItem'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (AlarmItem).UserStructureIdentifier>, <PacketField (AlarmItem).load>]
class scapy.contrib.pnio_rpc.AlarmNotificationPDU(_pkt, /, *, block_type=None, block_length=None, block_version_high=1, block_version_low=0, AlarmType=0, API=0, SlotNumber=0, SubslotNumber=0, ModuleIdentNumber=0, SubmoduleIdentNUmber=0, AlarmSpecifier=0, AlarmPayload=[])[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.AlarmNotificationPDU'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).AlarmType>, <XIntField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).API>, <ShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).SlotNumber>, <ShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).SubslotNumber>, <XIntField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).ModuleIdentNumber>, <XIntField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).SubmoduleIdentNUmber>, <XShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).AlarmSpecifier>, <PacketListField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).AlarmPayload>]
class scapy.contrib.pnio_rpc.AlarmNotification_High(_pkt, /, *, block_type=1, block_length=None, block_version_high=1, block_version_low=0, AlarmType=0, API=0, SlotNumber=0, SubslotNumber=0, ModuleIdentNumber=0, SubmoduleIdentNUmber=0, AlarmSpecifier=0, AlarmPayload=[])[source]

Bases: AlarmNotificationPDU

aliastypes = [<class 'scapy.contrib.pnio_rpc.AlarmNotification_High'>, <class 'scapy.contrib.pnio_rpc.AlarmNotificationPDU'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).AlarmType>, <XIntField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).API>, <ShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).SlotNumber>, <ShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).SubslotNumber>, <XIntField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).ModuleIdentNumber>, <XIntField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).SubmoduleIdentNUmber>, <XShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).AlarmSpecifier>, <PacketListField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).AlarmPayload>]
class scapy.contrib.pnio_rpc.AlarmNotification_Low(_pkt, /, *, block_type=2, block_length=None, block_version_high=1, block_version_low=0, AlarmType=0, API=0, SlotNumber=0, SubslotNumber=0, ModuleIdentNumber=0, SubmoduleIdentNUmber=0, AlarmSpecifier=0, AlarmPayload=[])[source]

Bases: AlarmNotificationPDU

aliastypes = [<class 'scapy.contrib.pnio_rpc.AlarmNotification_Low'>, <class 'scapy.contrib.pnio_rpc.AlarmNotificationPDU'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).AlarmType>, <XIntField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).API>, <ShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).SlotNumber>, <ShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).SubslotNumber>, <XIntField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).ModuleIdentNumber>, <XIntField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).SubmoduleIdentNUmber>, <XShortField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).AlarmSpecifier>, <PacketListField (AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).AlarmPayload>]
class scapy.contrib.pnio_rpc.Alarm_High(_pkt, /, *, AlarmDstEndpoint=0, AlarmSrcEndpoint=0, PDUTypeType=0, PDUTypeVersion=0, AddFlags=0, SendSeqNum=0, AckSeqNum=0, VarPartLen=0, RTA_SDU=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.pnio_rpc.Alarm_High'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AlarmDstEndpoint>, <ShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AlarmSrcEndpoint>, <BitEnumField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).PDUTypeType>, <BitEnumField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).PDUTypeVersion>, <BitField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AddFlags>, <XShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).SendSeqNum>, <XShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AckSeqNum>, <XShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).VarPartLen>, <PacketField (Alarm_High).RTA_SDU>]
class scapy.contrib.pnio_rpc.Alarm_Low(_pkt, /, *, AlarmDstEndpoint=0, AlarmSrcEndpoint=0, PDUTypeType=0, PDUTypeVersion=0, AddFlags=0, SendSeqNum=0, AckSeqNum=0, VarPartLen=0, RTA_SDU=None)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.pnio_rpc.Alarm_Low'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AlarmDstEndpoint>, <ShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AlarmSrcEndpoint>, <BitEnumField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).PDUTypeType>, <BitEnumField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).PDUTypeVersion>, <BitField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AddFlags>, <XShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).SendSeqNum>, <XShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AckSeqNum>, <XShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).VarPartLen>, <PacketField (Alarm_Low).RTA_SDU>]
class scapy.contrib.pnio_rpc.Block(_pkt, /, *, block_type=0, block_length=None, block_version_high=1, block_version_low=0, load=b'')[source]

Bases: Packet

A generic block packet for PNIO RPC

aliastypes = [<class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrLenField (Block).load>]
payload_length()[source]

A function for each block, to determine the length of the payload

post_build(p, pay)[source]
class scapy.contrib.pnio_rpc.BlockHeader(_pkt, /, *, block_type=None, block_length=None, block_version_high=1, block_version_low=0)[source]

Bases: Packet

Abstract packet to centralize block headers fields

aliastypes = [<class 'scapy.contrib.pnio_rpc.BlockHeader'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>]
class scapy.contrib.pnio_rpc.DiagnosisItem(_pkt, /, *, UserStructureIdentifier=0, ChannelNumber=0, ChannelProperties=0, ChannelErrorType=0, ExtChannelErrorType=0, ExtChannelAddValue=0, QualifiedChannelQualifier=0)[source]

Bases: AlarmItem

aliastypes = [<class 'scapy.contrib.pnio_rpc.DiagnosisItem'>, <class 'scapy.contrib.pnio_rpc.AlarmItem'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (DiagnosisItem).UserStructureIdentifier>, <XShortField (DiagnosisItem).ChannelNumber>, <XShortField (DiagnosisItem).ChannelProperties>, <XShortField (DiagnosisItem).ChannelErrorType>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>]
class scapy.contrib.pnio_rpc.ExpectedSubmodule(_pkt, /, *, SubslotNumber=0, SubmoduleIdentNumber=0, SubmoduleProperties_reserved_2=0, SubmoduleProperties_reserved_1=0, SubmoduleProperties_DiscardIOXS=0, SubmoduleProperties_ReduceOutputSubmoduleDataLength=0, SubmoduleProperties_ReduceInputSubmoduleDataLength=0, SubmoduleProperties_SharedInput=0, SubmoduleProperties_Type=0, DataDescription=[])[source]

Bases: Packet

Description of a submodule in an API of an expected submodule

aliastypes = [<class 'scapy.contrib.pnio_rpc.ExpectedSubmodule'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (ExpectedSubmodule).SubslotNumber>, <XIntField (ExpectedSubmodule).SubmoduleIdentNumber>, <XByteField (ExpectedSubmodule).SubmoduleProperties_reserved_2>, <BitField (ExpectedSubmodule).SubmoduleProperties_reserved_1>, <BitField (ExpectedSubmodule).SubmoduleProperties_DiscardIOXS>, <BitField (ExpectedSubmodule).SubmoduleProperties_ReduceOutputSubmoduleDataLength>, <BitField (ExpectedSubmodule).SubmoduleProperties_ReduceInputSubmoduleDataLength>, <BitField (ExpectedSubmodule).SubmoduleProperties_SharedInput>, <BitEnumField (ExpectedSubmodule).SubmoduleProperties_Type>, <PacketListField (ExpectedSubmodule).DataDescription>]
class scapy.contrib.pnio_rpc.ExpectedSubmoduleAPI(_pkt, /, *, API=0, SlotNumber=0, ModuleIdentNumber=0, ModuleProperties=0, NumberOfSubmodules=None, Submodules=[])[source]

Bases: Packet

Description of an API in the expected submodules blocks

aliastypes = [<class 'scapy.contrib.pnio_rpc.ExpectedSubmoduleAPI'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XIntField (ExpectedSubmoduleAPI).API>, <XShortField (ExpectedSubmoduleAPI).SlotNumber>, <XIntField (ExpectedSubmoduleAPI).ModuleIdentNumber>, <XShortField (ExpectedSubmoduleAPI).ModuleProperties>, <FieldLenField (ExpectedSubmoduleAPI).NumberOfSubmodules>, <PacketListField (ExpectedSubmoduleAPI).Submodules>]
class scapy.contrib.pnio_rpc.ExpectedSubmoduleBlockReq(_pkt, /, *, block_type=260, block_length=None, block_version_high=1, block_version_low=0, NumberOfAPIs=None, APIs=[])[source]

Bases: Block

Expected submodule block request

aliastypes = [<class 'scapy.contrib.pnio_rpc.ExpectedSubmoduleBlockReq'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <FieldLenField (ExpectedSubmoduleBlockReq).NumberOfAPIs>, <PacketListField (ExpectedSubmoduleBlockReq).APIs>]
get_response()[source]

Generate the response block of this request. Careful: it only sets the fields which can be set from the request

class scapy.contrib.pnio_rpc.ExpectedSubmoduleDataDescription(_pkt, /, *, DataDescription=0, SubmoduleDataLength=0, LengthIOCS=0, LengthIOPS=0)[source]

Bases: Packet

Description of the data of a submodule

aliastypes = [<class 'scapy.contrib.pnio_rpc.ExpectedSubmoduleDataDescription'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortEnumField (ExpectedSubmoduleDataDescription).DataDescription>, <ShortField (ExpectedSubmoduleDataDescription).SubmoduleDataLength>, <ByteField (ExpectedSubmoduleDataDescription).LengthIOCS>, <ByteField (ExpectedSubmoduleDataDescription).LengthIOPS>]
class scapy.contrib.pnio_rpc.FParametersBlock(_pkt, /, *, F_Prm_Flag1_Reserved_7=0, F_CRC_Seed=0, F_CRC_Length=0, F_SIL=2, F_Check_iPar=0, F_Check_SeqNr=0, F_Par_Version=1, F_Block_ID=0, F_Prm_Flag2_Reserved=0, F_Passivation=0, F_Source_Add=0, F_Dest_Add=0, F_WD_Time=0, F_WD_Time_2=0, F_iPar_CRC=0, F_Par_CRC=0)[source]

Bases: Packet

F-Parameters configuration block

aliastypes = [<class 'scapy.contrib.pnio_rpc.FParametersBlock'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<BitField (FParametersBlock).F_Prm_Flag1_Reserved_7>, <BitField (FParametersBlock).F_CRC_Seed>, <BitEnumField (FParametersBlock).F_CRC_Length>, <BitEnumField (FParametersBlock).F_SIL>, <BitField (FParametersBlock).F_Check_iPar>, <BitField (FParametersBlock).F_Check_SeqNr>, <BitEnumField (FParametersBlock).F_Par_Version>, <BitEnumField (FParametersBlock).F_Block_ID>, <BitField (FParametersBlock).F_Prm_Flag2_Reserved>, <BitField (FParametersBlock).F_Passivation>, <XShortField (FParametersBlock).F_Source_Add>, <XShortField (FParametersBlock).F_Dest_Add>, <ShortField (FParametersBlock).F_WD_Time>, <scapy.fields.ConditionalField object>, <scapy.fields.ConditionalField object>, <XShortField (FParametersBlock).F_Par_CRC>]
payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({}, <class 'scapy.packet.Padding'>)]
class scapy.contrib.pnio_rpc.IM0Block(_pkt, /, *, block_type=32, block_length=None, block_version_high=1, block_version_low=0, VendorIDHigh=0, VendorIDLow=0, OrderID=b'', IMSerialNumber=b'', IMHardwareRevision=0, IMSWRevisionPrefix=b'V', IMSWRevisionFunctionalEnhancement=0, IMSWRevisionBugFix=0, IMSWRevisionInternalChange=0, IMRevisionCounter=0, IMProfileID=0, IMProfileSpecificType=0, IMVersionMajor=1, IMVersionMinor=1, IMSupported=0)[source]

Bases: Block

Identification and Maintenance 0

aliastypes = [<class 'scapy.contrib.pnio_rpc.IM0Block'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ByteField (IM0Block).VendorIDHigh>, <ByteField (IM0Block).VendorIDLow>, <StrFixedLenField (IM0Block).OrderID>, <StrFixedLenField (IM0Block).IMSerialNumber>, <ShortField (IM0Block).IMHardwareRevision>, <StrFixedLenField (IM0Block).IMSWRevisionPrefix>, <ByteField (IM0Block).IMSWRevisionFunctionalEnhancement>, <ByteField (IM0Block).IMSWRevisionBugFix>, <ByteField (IM0Block).IMSWRevisionInternalChange>, <ShortField (IM0Block).IMRevisionCounter>, <ShortField (IM0Block).IMProfileID>, <ShortField (IM0Block).IMProfileSpecificType>, <ByteField (IM0Block).IMVersionMajor>, <ByteField (IM0Block).IMVersionMinor>, <ShortField (IM0Block).IMSupported>]
class scapy.contrib.pnio_rpc.IM1Block(_pkt, /, *, block_type=33, block_length=None, block_version_high=1, block_version_low=0, IMTagFunction=b'', IMTagLocation=b'')[source]

Bases: Block

Identification and Maintenance 1

aliastypes = [<class 'scapy.contrib.pnio_rpc.IM1Block'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (IM1Block).IMTagFunction>, <StrFixedLenField (IM1Block).IMTagLocation>]
class scapy.contrib.pnio_rpc.IM2Block(_pkt, /, *, block_type=34, block_length=None, block_version_high=1, block_version_low=0, IMDate=b'')[source]

Bases: Block

Identification and Maintenance 2

aliastypes = [<class 'scapy.contrib.pnio_rpc.IM2Block'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (IM2Block).IMDate>]
class scapy.contrib.pnio_rpc.IM3Block(_pkt, /, *, block_type=35, block_length=None, block_version_high=1, block_version_low=0, IMDescriptor=b'')[source]

Bases: Block

Identification and Maintenance 3

aliastypes = [<class 'scapy.contrib.pnio_rpc.IM3Block'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (IM3Block).IMDescriptor>]
class scapy.contrib.pnio_rpc.IM4Block(_pkt, /, *, block_type=36, block_length=None, block_version_high=1, block_version_low=0, IMSignature=b'')[source]

Bases: Block

Identification and Maintenance 4

aliastypes = [<class 'scapy.contrib.pnio_rpc.IM4Block'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (IM4Block).IMSignature>]
class scapy.contrib.pnio_rpc.IOCRAPI(_pkt, /, *, API=0, NumberOfIODataObjects=None, IODataObjects=[], NumberOfIOCS=None, IOCSs=[])[source]

Bases: Packet

API description used in IOCR block

aliastypes = [<class 'scapy.contrib.pnio_rpc.IOCRAPI'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XIntField (IOCRAPI).API>, <FieldLenField (IOCRAPI).NumberOfIODataObjects>, <PacketListField (IOCRAPI).IODataObjects>, <FieldLenField (IOCRAPI).NumberOfIOCS>, <PacketListField (IOCRAPI).IOCSs>]
class scapy.contrib.pnio_rpc.IOCRAPIObject(_pkt, /, *, SlotNumber=0, SubslotNumber=0, FrameOffset=0)[source]

Bases: Packet

API item descriptor used in API description of IOCR blocks

aliastypes = [<class 'scapy.contrib.pnio_rpc.IOCRAPIObject'>, <class 'scapy.packet.Packet'>]
extract_padding(s)[source]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (IOCRAPIObject).SlotNumber>, <XShortField (IOCRAPIObject).SubslotNumber>, <ShortField (IOCRAPIObject).FrameOffset>]
class scapy.contrib.pnio_rpc.IOCRBlockReq(_pkt, /, *, block_type=258, block_length=None, block_version_high=1, block_version_low=0, IOCRType=1, IOCRReference=1, LT=34962, IOCRProperties_reserved3=0, IOCRProperties_reserved2=0, IOCRProperties_reserved1=0, IOCRProperties_RTClass=0, DataLength=40, FrameID=32768, SendClockFactor=32, ReductionRatio=32, Phase=1, Sequence=0, FrameSendOffset=4294967295, WatchdogFactor=10, DataHoldFactor=10, IOCRTagHeader_IOUserPriority=6, IOCRTagHeader_reserved=0, IOCRTagHeader_IOCRVLANID=0, IOCRMulticastMACAdd=None, NumberOfAPIs=None, APIs=[])[source]

Bases: Block

IO Connection Relationship block request

aliastypes = [<class 'scapy.contrib.pnio_rpc.IOCRBlockReq'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <XShortEnumField (IOCRBlockReq).IOCRType>, <XShortField (IOCRBlockReq).IOCRReference>, <XShortField (IOCRBlockReq).LT>, <BitField (IOCRBlockReq).IOCRProperties_reserved3>, <BitField (IOCRBlockReq).IOCRProperties_reserved2>, <BitField (IOCRBlockReq).IOCRProperties_reserved1>, <BitEnumField (IOCRBlockReq).IOCRProperties_RTClass>, <ShortField (IOCRBlockReq).DataLength>, <XShortField (IOCRBlockReq).FrameID>, <ShortField (IOCRBlockReq).SendClockFactor>, <ShortField (IOCRBlockReq).ReductionRatio>, <ShortField (IOCRBlockReq).Phase>, <ShortField (IOCRBlockReq).Sequence>, <XIntField (IOCRBlockReq).FrameSendOffset>, <ShortField (IOCRBlockReq).WatchdogFactor>, <ShortField (IOCRBlockReq).DataHoldFactor>, <BitEnumField (IOCRBlockReq).IOCRTagHeader_IOUserPriority>, <BitField (IOCRBlockReq).IOCRTagHeader_reserved>, <BitField (IOCRBlockReq).IOCRTagHeader_IOCRVLANID>, <MACField (IOCRBlockReq).IOCRMulticastMACAdd>, <FieldLenField (IOCRBlockReq).NumberOfAPIs>, <PacketListField (IOCRBlockReq).APIs>]
get_response()[source]

Generate the response block of this request. Careful: it only sets the fields which can be set from the request

class scapy.contrib.pnio_rpc.IOCRBlockRes(_pkt, /, *, block_type=33026, block_length=None, block_version_high=1, block_version_low=0, IOCRType=1, IOCRReference=1, FrameID=32768)[source]

Bases: Block

IO Connection Relationship block response

aliastypes = [<class 'scapy.contrib.pnio_rpc.IOCRBlockRes'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <XShortEnumField (IOCRBlockRes).IOCRType>, <XShortField (IOCRBlockRes).IOCRReference>, <XShortField (IOCRBlockRes).FrameID>]
class scapy.contrib.pnio_rpc.IODControlReq(_pkt, /, *, block_type=None, block_length=None, block_version_high=1, block_version_low=0, padding=b'', ARUUID=None, SessionKey=0, AlarmSequenceNumber=0, ControlCommand_reserved=0, ControlCommand_PrmBegin=0, ControlCommand_ReadyForRT_CLASS_3=0, ControlCommand_ReadyForCompanion=0, ControlCommand_Done=0, ControlCommand_Release=0, ControlCommand_ApplicationReady=0, ControlCommand_PrmEnd=0, ControlBlockProperties=0)[source]

Bases: Block

IODControl request block

aliastypes = [<class 'scapy.contrib.pnio_rpc.IODControlReq'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (IODControlReq).padding>, <UUIDField (IODControlReq).ARUUID>, <ShortField (IODControlReq).SessionKey>, <XShortField (IODControlReq).AlarmSequenceNumber>, <BitField (IODControlReq).ControlCommand_reserved>, <BitField (IODControlReq).ControlCommand_PrmBegin>, <BitField (IODControlReq).ControlCommand_ReadyForRT_CLASS_3>, <BitField (IODControlReq).ControlCommand_ReadyForCompanion>, <BitField (IODControlReq).ControlCommand_Done>, <BitField (IODControlReq).ControlCommand_Release>, <BitField (IODControlReq).ControlCommand_ApplicationReady>, <BitField (IODControlReq).ControlCommand_PrmEnd>, <XShortField (IODControlReq).ControlBlockProperties>]
get_response()[source]

Generate the response block of this request. Careful: it only sets the fields which can be set from the request

post_build(p, pay)[source]
class scapy.contrib.pnio_rpc.IODControlRes(_pkt, /, *, block_type=33040, block_length=None, block_version_high=1, block_version_low=0, padding=b'', ARUUID=None, SessionKey=0, AlarmSequenceNumber=0, ControlCommand_reserved=0, ControlCommand_PrmBegin=0, ControlCommand_ReadyForRT_CLASS_3=0, ControlCommand_ReadyForCompanion=0, ControlCommand_Done=1, ControlCommand_Release=0, ControlCommand_ApplicationReady=0, ControlCommand_PrmEnd=0, ControlBlockProperties=0)[source]

Bases: Block

IODControl response block

aliastypes = [<class 'scapy.contrib.pnio_rpc.IODControlRes'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (IODControlRes).padding>, <UUIDField (IODControlRes).ARUUID>, <ShortField (IODControlRes).SessionKey>, <XShortField (IODControlRes).AlarmSequenceNumber>, <BitField (IODControlRes).ControlCommand_reserved>, <BitField (IODControlRes).ControlCommand_PrmBegin>, <BitField (IODControlRes).ControlCommand_ReadyForRT_CLASS_3>, <BitField (IODControlRes).ControlCommand_ReadyForCompanion>, <BitField (IODControlRes).ControlCommand_Done>, <BitField (IODControlRes).ControlCommand_Release>, <BitField (IODControlRes).ControlCommand_ApplicationReady>, <BitField (IODControlRes).ControlCommand_PrmEnd>, <XShortField (IODControlRes).ControlBlockProperties>]
class scapy.contrib.pnio_rpc.IODReadReq(_pkt, /, *, block_type=9, block_length=None, block_version_high=1, block_version_low=0, seqNum=0, ARUUID=None, API=0, slotNumber=0, subslotNumber=0, padding=b'', index=0, recordDataLength=None, RWPadding=b'')[source]

Bases: Block

IODRead request block

aliastypes = [<class 'scapy.contrib.pnio_rpc.IODReadReq'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ShortField (IODReadReq).seqNum>, <UUIDField (IODReadReq).ARUUID>, <XIntField (IODReadReq).API>, <XShortField (IODReadReq).slotNumber>, <XShortField (IODReadReq).subslotNumber>, <StrFixedLenField (IODReadReq).padding>, <XShortEnumField (IODReadReq).index>, <LenField (IODReadReq).recordDataLength>, <StrFixedLenField (IODReadReq).RWPadding>]
get_response()[source]
payload_length()[source]
class scapy.contrib.pnio_rpc.IODReadRes(_pkt, /, *, block_type=32777, block_length=None, block_version_high=1, block_version_low=0, seqNum=0, ARUUID=None, API=0, slotNumber=0, subslotNumber=0, padding=b'', index=0, recordDataLength=None, additionalValue1=0, additionalValue2=0, RWPadding=b'')[source]

Bases: Block

IODRead response block

aliastypes = [<class 'scapy.contrib.pnio_rpc.IODReadRes'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ShortField (IODReadRes).seqNum>, <UUIDField (IODReadRes).ARUUID>, <XIntField (IODReadRes).API>, <XShortField (IODReadRes).slotNumber>, <XShortField (IODReadRes).subslotNumber>, <StrFixedLenField (IODReadRes).padding>, <XShortEnumField (IODReadRes).index>, <LenField (IODReadRes).recordDataLength>, <XShortField (IODReadRes).additionalValue1>, <XShortField (IODReadRes).additionalValue2>, <StrFixedLenField (IODReadRes).RWPadding>]
class scapy.contrib.pnio_rpc.IODWriteMultipleReq(_pkt, /, *, block_type=8, block_length=None, block_version_high=1, block_version_low=0, seqNum=0, ARUUID=None, API=4294967295, slotNumber=65535, subslotNumber=65535, padding=b'', index=57408, recordDataLength=None, RWPadding=b'', blocks=[])[source]

Bases: Block

IODWriteMultiple request

aliastypes = [<class 'scapy.contrib.pnio_rpc.IODWriteMultipleReq'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ShortField (IODWriteMultipleReq).seqNum>, <UUIDField (IODWriteMultipleReq).ARUUID>, <XIntField (IODWriteMultipleReq).API>, <XShortField (IODWriteMultipleReq).slotNumber>, <XShortField (IODWriteMultipleReq).subslotNumber>, <StrFixedLenField (IODWriteMultipleReq).padding>, <XShortEnumField (IODWriteMultipleReq).index>, <FieldLenField (IODWriteMultipleReq).recordDataLength>, <StrFixedLenField (IODWriteMultipleReq).RWPadding>, <FieldListField (IODWriteMultipleReq).blocks>]
get_response()[source]

Generate the response block of this request. Careful: it only sets the fields which can be set from the request

post_build(p, pay)[source]
class scapy.contrib.pnio_rpc.IODWriteMultipleRes(_pkt, /, *, block_type=32776, block_length=None, block_version_high=1, block_version_low=0, seqNum=0, ARUUID=None, API=4294967295, slotNumber=65535, subslotNumber=65535, padding=b'', index=57408, recordDataLength=None, additionalValue1=0, additionalValue2=0, status=0, RWPadding=b'', blocks=[])[source]

Bases: Block

IODWriteMultiple response

aliastypes = [<class 'scapy.contrib.pnio_rpc.IODWriteMultipleRes'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ShortField (IODWriteMultipleRes).seqNum>, <UUIDField (IODWriteMultipleRes).ARUUID>, <XIntField (IODWriteMultipleRes).API>, <XShortField (IODWriteMultipleRes).slotNumber>, <XShortField (IODWriteMultipleRes).subslotNumber>, <StrFixedLenField (IODWriteMultipleRes).padding>, <XShortEnumField (IODWriteMultipleRes).index>, <FieldLenField (IODWriteMultipleRes).recordDataLength>, <XShortField (IODWriteMultipleRes).additionalValue1>, <XShortField (IODWriteMultipleRes).additionalValue2>, <IntEnumField (IODWriteMultipleRes).status>, <StrFixedLenField (IODWriteMultipleRes).RWPadding>, <FieldListField (IODWriteMultipleRes).blocks>]
post_build(p, pay)[source]
class scapy.contrib.pnio_rpc.IODWriteReq(_pkt, /, *, block_type=8, block_length=None, block_version_high=1, block_version_low=0, seqNum=0, ARUUID=None, API=0, slotNumber=0, subslotNumber=0, padding=b'', index=0, recordDataLength=None, RWPadding=b'')[source]

Bases: Block

IODWrite request block

aliastypes = [<class 'scapy.contrib.pnio_rpc.IODWriteReq'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ShortField (IODWriteReq).seqNum>, <UUIDField (IODWriteReq).ARUUID>, <XIntField (IODWriteReq).API>, <XShortField (IODWriteReq).slotNumber>, <XShortField (IODWriteReq).subslotNumber>, <StrFixedLenField (IODWriteReq).padding>, <XShortEnumField (IODWriteReq).index>, <LenField (IODWriteReq).recordDataLength>, <StrFixedLenField (IODWriteReq).RWPadding>]
get_response()[source]

Generate the response block of this request. Careful: it only sets the fields which can be set from the request

payload_guess: List[Tuple[Dict[str, Any], Type[Packet]]] = [({'index': 256}, <class 'scapy.contrib.pnio_rpc.FParametersBlock'>)]
payload_length()[source]
class scapy.contrib.pnio_rpc.IODWriteRes(_pkt, /, *, block_type=32776, block_length=None, block_version_high=1, block_version_low=0, seqNum=0, ARUUID=None, API=0, slotNumber=0, subslotNumber=0, padding=b'', index=0, recordDataLength=None, additionalValue1=0, additionalValue2=0, status=0, RWPadding=b'')[source]

Bases: Block

IODWrite response block

aliastypes = [<class 'scapy.contrib.pnio_rpc.IODWriteRes'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ShortField (IODWriteRes).seqNum>, <UUIDField (IODWriteRes).ARUUID>, <XIntField (IODWriteRes).API>, <XShortField (IODWriteRes).slotNumber>, <XShortField (IODWriteRes).subslotNumber>, <StrFixedLenField (IODWriteRes).padding>, <XShortEnumField (IODWriteRes).index>, <LenField (IODWriteRes).recordDataLength>, <XShortField (IODWriteRes).additionalValue1>, <XShortField (IODWriteRes).additionalValue2>, <IntEnumField (IODWriteRes).status>, <StrFixedLenField (IODWriteRes).RWPadding>]
class scapy.contrib.pnio_rpc.MaintenanceItem(_pkt, /, *, UserStructureIdentifier=0, block_type=None, block_length=None, block_version_high=1, block_version_low=0, padding=b'', MaintenanceStatus=0)[source]

Bases: AlarmItem

aliastypes = [<class 'scapy.contrib.pnio_rpc.MaintenanceItem'>, <class 'scapy.contrib.pnio_rpc.AlarmItem'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (MaintenanceItem).UserStructureIdentifier>, <ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (MaintenanceItem).padding>, <XIntField (MaintenanceItem).MaintenanceStatus>]
class scapy.contrib.pnio_rpc.NDRData(_pkt, /, *, args_length=None, max_count=None, offset=0, actual_count=None, blocks=[])[source]

Bases: Packet

Base NDRData to centralize some fields. It can’t be instantiated

aliastypes = [<class 'scapy.contrib.pnio_rpc.NDRData'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <PacketListField (NDRData,PNIOServiceReqPDU,PNIOServiceResPDU).blocks>]
class scapy.contrib.pnio_rpc.PDPortDataAdjust(_pkt, /, *, block_type=514, block_length=None, block_version_high=1, block_version_low=0, padding=b'', slotNumber=0, subslotNumber=0, blocks=[])[source]

Bases: Block

aliastypes = [<class 'scapy.contrib.pnio_rpc.PDPortDataAdjust'>, <class 'scapy.contrib.pnio_rpc.Block'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (PDPortDataAdjust).padding>, <XShortField (PDPortDataAdjust).slotNumber>, <XShortField (PDPortDataAdjust).subslotNumber>, <PacketListField (PDPortDataAdjust).blocks>]
class scapy.contrib.pnio_rpc.PE_AlarmItem(_pkt, /, *, UserStructureIdentifier=0, block_type=None, block_length=None, block_version_high=1, block_version_low=0, PE_OperationalMode=0)[source]

Bases: AlarmItem

aliastypes = [<class 'scapy.contrib.pnio_rpc.PE_AlarmItem'>, <class 'scapy.contrib.pnio_rpc.AlarmItem'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (PE_AlarmItem).UserStructureIdentifier>, <ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <ByteEnumField (PE_AlarmItem).PE_OperationalMode>]
class scapy.contrib.pnio_rpc.PNIORealTimeAcyclicPDUHeader(_pkt, /, *, AlarmDstEndpoint=0, AlarmSrcEndpoint=0, PDUTypeType=0, PDUTypeVersion=0, AddFlags=0, SendSeqNum=0, AckSeqNum=0, VarPartLen=0)[source]

Bases: Packet

aliastypes = [<class 'scapy.contrib.pnio_rpc.PNIORealTimeAcyclicPDUHeader'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AlarmDstEndpoint>, <ShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AlarmSrcEndpoint>, <BitEnumField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).PDUTypeType>, <BitEnumField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).PDUTypeVersion>, <BitField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AddFlags>, <XShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).SendSeqNum>, <XShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).AckSeqNum>, <XShortField (PNIORealTimeAcyclicPDUHeader,Alarm_Low,Alarm_High).VarPartLen>]
class scapy.contrib.pnio_rpc.PNIOServiceReqPDU(_pkt, /, *, args_max=None, args_length=None, max_count=None, offset=0, actual_count=None, blocks=[])[source]

Bases: Packet

PNIO PDU for RPC Request

aliastypes = [<class 'scapy.contrib.pnio_rpc.PNIOServiceReqPDU'>, <class 'scapy.packet.Packet'>]
classmethod can_handle(pkt, rpc)[source]

heuristic guess_payload_class

fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <PacketListField (NDRData,PNIOServiceReqPDU,PNIOServiceResPDU).blocks>]
class scapy.contrib.pnio_rpc.PNIOServiceResPDU(_pkt, /, *, status=0, args_length=None, max_count=None, offset=0, actual_count=None, blocks=[])[source]

Bases: Packet

PNIO PDU for RPC Response

aliastypes = [<class 'scapy.contrib.pnio_rpc.PNIOServiceResPDU'>, <class 'scapy.packet.Packet'>]
classmethod can_handle(pkt, rpc)[source]

heuristic guess_payload_class

fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <scapy.contrib.rtps.common_types.EField object>, <PacketListField (NDRData,PNIOServiceReqPDU,PNIOServiceResPDU).blocks>]
class scapy.contrib.pnio_rpc.PRAL_AlarmItem(_pkt, /, *, UserStructureIdentifier=0, ChannelNumber=0, PRAL_ChannelProperties=0, PRAL_Reason=0, PRAL_ExtReason=0, PRAL_ReasonAddValue=b'')[source]

Bases: AlarmItem

aliastypes = [<class 'scapy.contrib.pnio_rpc.PRAL_AlarmItem'>, <class 'scapy.contrib.pnio_rpc.AlarmItem'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (PRAL_AlarmItem).UserStructureIdentifier>, <XShortField (PRAL_AlarmItem).ChannelNumber>, <XShortField (PRAL_AlarmItem).PRAL_ChannelProperties>, <XShortField (PRAL_AlarmItem).PRAL_Reason>, <XShortField (PRAL_AlarmItem).PRAL_ExtReason>, <StrLenField (PRAL_AlarmItem).PRAL_ReasonAddValue>]
class scapy.contrib.pnio_rpc.PadFieldWithLen(fld: Field[Any, Any] | _FieldContainer, align: int, padwith: bytes | None = None)[source]

Bases: PadField

PadField which handles the i2len function to include padding

fld
i2len(pkt, val)[source]

get the length of the field, including the padding length

class scapy.contrib.pnio_rpc.RS_AlarmItem(_pkt, /, *, UserStructureIdentifier=0, RS_AlarmInfo=0)[source]

Bases: AlarmItem

aliastypes = [<class 'scapy.contrib.pnio_rpc.RS_AlarmItem'>, <class 'scapy.contrib.pnio_rpc.AlarmItem'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (RS_AlarmItem).UserStructureIdentifier>, <XShortField (RS_AlarmItem).RS_AlarmInfo>]
class scapy.contrib.pnio_rpc.UploadRetrievalItem(_pkt, /, *, UserStructureIdentifier=0, block_type=None, block_length=None, block_version_high=1, block_version_low=0, padding=b'', URRecordIndex=0, URRecordLength=0)[source]

Bases: AlarmItem

aliastypes = [<class 'scapy.contrib.pnio_rpc.UploadRetrievalItem'>, <class 'scapy.contrib.pnio_rpc.AlarmItem'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (UploadRetrievalItem).UserStructureIdentifier>, <ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (UploadRetrievalItem).padding>, <XIntField (UploadRetrievalItem).URRecordIndex>, <XIntField (UploadRetrievalItem).URRecordLength>]
scapy.contrib.pnio_rpc.dce_rpc_endianness(pkt)[source]

determine the symbol for the endianness of a the DCE/RPC

class scapy.contrib.pnio_rpc.iParameterItem(_pkt, /, *, UserStructureIdentifier=0, block_type=None, block_length=None, block_version_high=1, block_version_low=0, padding=b'', iPar_Req_Header=0, Max_Segm_Size=0, Transfer_Index=0, Total_iPar_Size=0)[source]

Bases: AlarmItem

aliastypes = [<class 'scapy.contrib.pnio_rpc.iParameterItem'>, <class 'scapy.contrib.pnio_rpc.AlarmItem'>, <class 'scapy.packet.Packet'>]
fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<XShortField (iParameterItem).UserStructureIdentifier>, <ShortEnumField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_type>, <ShortField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_length>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_high>, <ByteField (BlockHeader,Block,IODControlReq,IODControlRes,IODWriteReq,IODWriteRes,IODReadReq,IODReadRes,IODWriteMultipleReq,IODWriteMultipleRes,IM0Block,IM1Block,IM2Block,IM3Block,IM4Block,ARBlockReq,ARBlockRes,IOCRBlockReq,IOCRBlockRes,AdjustLinkState,AdjustPeerToPeerBoundary,AdjustDomainBoundary,AdjustMulticastBoundary,AdjustMauType,AdjustMauTypeExtension,AdjustDCPBoundary,PDPortDataAdjust,ExpectedSubmoduleBlockReq,AlarmCRBlockReq,AlarmCRBlockRes,MaintenanceItem,UploadRetrievalItem,iParameterItem,PE_AlarmItem,AlarmNotificationPDU,AlarmNotification_High,AlarmNotification_Low).block_version_low>, <StrFixedLenField (iParameterItem).padding>, <XIntField (iParameterItem).iPar_Req_Header>, <XIntField (iParameterItem).Max_Segm_Size>, <XIntField (iParameterItem).Transfer_Index>, <XIntField (iParameterItem).Total_iPar_Size>]