### ms-tpmvsc.idl
"""
RPC definitions for the following interfaces:
- ITpmVirtualSmartCardManagerStatusCallback (v0.0): 1A1BB35F-ABB8-451C-A1AE-33D98F1BEF4A
- ITpmVirtualSmartCardManager (v0.0): None
- ITpmVirtualSmartCardManager2 (v0.0): None
- ITpmVirtualSmartCardManager3 (v0.0): None
This file is auto-generated by midl-to-scapy, do not modify.
"""

from enum import IntEnum
import uuid


from scapy.layers.dcerpc import (
    NDRPacket,
    DceRpcOp,
    NDRIntEnumField,
    NDRIntField,
    register_com_interface,
)


class TPMVSCMGR_STATUS(IntEnum):
    TPMVSCMGR_STATUS_VTPMSMARTCARD_INITIALIZING = 1
    TPMVSCMGR_STATUS_VTPMSMARTCARD_CREATING = 2
    TPMVSCMGR_STATUS_VTPMSMARTCARD_DESTROYING = 3
    TPMVSCMGR_STATUS_VGIDSSIMULATOR_INITIALIZING = 4
    TPMVSCMGR_STATUS_VGIDSSIMULATOR_CREATING = 5
    TPMVSCMGR_STATUS_VGIDSSIMULATOR_DESTROYING = 6
    TPMVSCMGR_STATUS_VREADER_INITIALIZING = 7
    TPMVSCMGR_STATUS_VREADER_CREATING = 8
    TPMVSCMGR_STATUS_VREADER_DESTROYING = 9
    TPMVSCMGR_STATUS_GENERATE_WAITING = 10
    TPMVSCMGR_STATUS_GENERATE_AUTHENTICATING = 11
    TPMVSCMGR_STATUS_GENERATE_RUNNING = 12
    TPMVSCMGR_STATUS_CARD_CREATED = 13
    TPMVSCMGR_STATUS_CARD_DESTROYED = 14


class ReportProgress_Request(NDRPacket):
    fields_desc = [NDRIntEnumField("Status", 0, TPMVSCMGR_STATUS)]


class ReportProgress_Response(NDRPacket):
    fields_desc = [NDRIntField("status", 0)]


class TPMVSCMGR_ERROR(IntEnum):
    TPMVSCMGR_ERROR_IMPERSONATION = 1
    TPMVSCMGR_ERROR_PIN_COMPLEXITY = 2
    TPMVSCMGR_ERROR_READER_COUNT_LIMIT = 3
    TPMVSCMGR_ERROR_TERMINAL_SERVICES_SESSION = 4
    TPMVSCMGR_ERROR_VTPMSMARTCARD_INITIALIZE = 5
    TPMVSCMGR_ERROR_VTPMSMARTCARD_CREATE = 6
    TPMVSCMGR_ERROR_VTPMSMARTCARD_DESTROY = 7
    TPMVSCMGR_ERROR_VGIDSSIMULATOR_INITIALIZE = 8
    TPMVSCMGR_ERROR_VGIDSSIMULATOR_CREATE = 9
    TPMVSCMGR_ERROR_VGIDSSIMULATOR_DESTROY = 10
    TPMVSCMGR_ERROR_VGIDSSIMULATOR_WRITE_PROPERTY = 11
    TPMVSCMGR_ERROR_VGIDSSIMULATOR_READ_PROPERTY = 12
    TPMVSCMGR_ERROR_VREADER_INITIALIZE = 13
    TPMVSCMGR_ERROR_VREADER_CREATE = 14
    TPMVSCMGR_ERROR_VREADER_DESTROY = 15
    TPMVSCMGR_ERROR_GENERATE_LOCATE_READER = 16
    TPMVSCMGR_ERROR_GENERATE_FILESYSTEM = 17
    TPMVSCMGR_ERROR_CARD_CREATE = 18
    TPMVSCMGR_ERROR_CARD_DESTROY = 19


class ReportError_Request(NDRPacket):
    fields_desc = [NDRIntEnumField("Error", 0, TPMVSCMGR_ERROR)]


class ReportError_Response(NDRPacket):
    fields_desc = [NDRIntField("status", 0)]


ITPMVIRTUALSMARTCARDMANAGERSTATUSCALLBACK_OPNUMS = {
    0: DceRpcOp(ReportProgress_Request, ReportProgress_Response),
    1: DceRpcOp(ReportError_Request, ReportError_Response),
}
register_com_interface(
    name="ITpmVirtualSmartCardManagerStatusCallback",
    uuid=uuid.UUID("1A1BB35F-ABB8-451C-A1AE-33D98F1BEF4A"),
    opnums=ITPMVIRTUALSMARTCARDMANAGERSTATUSCALLBACK_OPNUMS,
)
