"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class ArmV7mCpuState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    PC_FIELD_NUMBER: builtins.int
    LR_FIELD_NUMBER: builtins.int
    PSR_FIELD_NUMBER: builtins.int
    MSP_FIELD_NUMBER: builtins.int
    PSP_FIELD_NUMBER: builtins.int
    EXC_RETURN_FIELD_NUMBER: builtins.int
    CFSR_FIELD_NUMBER: builtins.int
    MSPLIM_FIELD_NUMBER: builtins.int
    PSPLIM_FIELD_NUMBER: builtins.int
    MMFAR_FIELD_NUMBER: builtins.int
    BFAR_FIELD_NUMBER: builtins.int
    ICSR_FIELD_NUMBER: builtins.int
    HFSR_FIELD_NUMBER: builtins.int
    SHCSR_FIELD_NUMBER: builtins.int
    CONTROL_FIELD_NUMBER: builtins.int
    R0_FIELD_NUMBER: builtins.int
    R1_FIELD_NUMBER: builtins.int
    R2_FIELD_NUMBER: builtins.int
    R3_FIELD_NUMBER: builtins.int
    R4_FIELD_NUMBER: builtins.int
    R5_FIELD_NUMBER: builtins.int
    R6_FIELD_NUMBER: builtins.int
    R7_FIELD_NUMBER: builtins.int
    R8_FIELD_NUMBER: builtins.int
    R9_FIELD_NUMBER: builtins.int
    R10_FIELD_NUMBER: builtins.int
    R11_FIELD_NUMBER: builtins.int
    R12_FIELD_NUMBER: builtins.int
    pc: builtins.int = ...
    lr: builtins.int = ...
    psr: builtins.int = ...
    msp: builtins.int = ...
    psp: builtins.int = ...
    exc_return: builtins.int = ...
    cfsr: builtins.int = ...
    msplim: builtins.int = ...
    psplim: builtins.int = ...
    mmfar: builtins.int = ...
    bfar: builtins.int = ...
    icsr: builtins.int = ...
    hfsr: builtins.int = ...
    shcsr: builtins.int = ...
    control: builtins.int = ...
    # General purpose registers.
    r0: builtins.int = ...
    r1: builtins.int = ...
    r2: builtins.int = ...
    r3: builtins.int = ...
    r4: builtins.int = ...
    r5: builtins.int = ...
    r6: builtins.int = ...
    r7: builtins.int = ...
    r8: builtins.int = ...
    r9: builtins.int = ...
    r10: builtins.int = ...
    r11: builtins.int = ...
    r12: builtins.int = ...
    def __init__(self,
        *,
        pc : typing.Optional[builtins.int] = ...,
        lr : typing.Optional[builtins.int] = ...,
        psr : typing.Optional[builtins.int] = ...,
        msp : typing.Optional[builtins.int] = ...,
        psp : typing.Optional[builtins.int] = ...,
        exc_return : typing.Optional[builtins.int] = ...,
        cfsr : typing.Optional[builtins.int] = ...,
        msplim : typing.Optional[builtins.int] = ...,
        psplim : typing.Optional[builtins.int] = ...,
        mmfar : typing.Optional[builtins.int] = ...,
        bfar : typing.Optional[builtins.int] = ...,
        icsr : typing.Optional[builtins.int] = ...,
        hfsr : typing.Optional[builtins.int] = ...,
        shcsr : typing.Optional[builtins.int] = ...,
        control : typing.Optional[builtins.int] = ...,
        r0 : typing.Optional[builtins.int] = ...,
        r1 : typing.Optional[builtins.int] = ...,
        r2 : typing.Optional[builtins.int] = ...,
        r3 : typing.Optional[builtins.int] = ...,
        r4 : typing.Optional[builtins.int] = ...,
        r5 : typing.Optional[builtins.int] = ...,
        r6 : typing.Optional[builtins.int] = ...,
        r7 : typing.Optional[builtins.int] = ...,
        r8 : typing.Optional[builtins.int] = ...,
        r9 : typing.Optional[builtins.int] = ...,
        r10 : typing.Optional[builtins.int] = ...,
        r11 : typing.Optional[builtins.int] = ...,
        r12 : typing.Optional[builtins.int] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"bfar",b"bfar",u"cfsr",b"cfsr",u"control",b"control",u"exc_return",b"exc_return",u"hfsr",b"hfsr",u"icsr",b"icsr",u"lr",b"lr",u"mmfar",b"mmfar",u"msp",b"msp",u"msplim",b"msplim",u"pc",b"pc",u"psp",b"psp",u"psplim",b"psplim",u"psr",b"psr",u"r0",b"r0",u"r1",b"r1",u"r10",b"r10",u"r11",b"r11",u"r12",b"r12",u"r2",b"r2",u"r3",b"r3",u"r4",b"r4",u"r5",b"r5",u"r6",b"r6",u"r7",b"r7",u"r8",b"r8",u"r9",b"r9",u"shcsr",b"shcsr"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"bfar",b"bfar",u"cfsr",b"cfsr",u"control",b"control",u"exc_return",b"exc_return",u"hfsr",b"hfsr",u"icsr",b"icsr",u"lr",b"lr",u"mmfar",b"mmfar",u"msp",b"msp",u"msplim",b"msplim",u"pc",b"pc",u"psp",b"psp",u"psplim",b"psplim",u"psr",b"psr",u"r0",b"r0",u"r1",b"r1",u"r10",b"r10",u"r11",b"r11",u"r12",b"r12",u"r2",b"r2",u"r3",b"r3",u"r4",b"r4",u"r5",b"r5",u"r6",b"r6",u"r7",b"r7",u"r8",b"r8",u"r9",b"r9",u"shcsr",b"shcsr"]) -> None: ...
global___ArmV7mCpuState = ArmV7mCpuState

# This message overlays the pw.snapshot.Snapshot proto. It's valid to encode
# this message to the same sink that a Snapshot proto is being written to.
class SnapshotCpuStateOverlay(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    ARMV7M_CPU_STATE_FIELD_NUMBER: builtins.int
    # TODO(amontanez): Rename this to be Cortex-M arch generic, e.g.:
    #   optional CpuState cpu_state = 20;
    @property
    def armv7m_cpu_state(self) -> global___ArmV7mCpuState: ...
    def __init__(self,
        *,
        armv7m_cpu_state : typing.Optional[global___ArmV7mCpuState] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"armv7m_cpu_state",b"armv7m_cpu_state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"armv7m_cpu_state",b"armv7m_cpu_state"]) -> None: ...
global___SnapshotCpuStateOverlay = SnapshotCpuStateOverlay
