# Path: umap2/core/usb.py
# class DescriptorType(object):
#     device = 0x01
#     configuration = 0x02
#     string = 0x03
#     interface = 0x04
#     endpoint = 0x05
#     device_qualifier = 0x06
#     other_speed_configuration = 0x07
#     interface_power = 0x08
#     bos = 0x0f
#     device_capability = 0x10
#     hid = 0x21
#     report = 0x22
#     cs_interface = 0x24
#     cs_endpoint = 0x25
#     hub = 0x29


from umap2.core.usb import DescriptorType
from kitty.model import LE16, UInt8, BitField, String, RandomBytes
from kitty.model import Template, Container, List
from kitty.model import ElementCount, SizeInBytes
from kitty.model import StrEncodeEncoder, ENC_INT_LE
from generic import Descriptor, SubDescriptor
'''
Tempaltes related to generic enumeration stage
'''
# fields
# containers
# dynamic fields
# encoders


# Device descriptor
# Section 9.6.1, page 261
device_descriptor = Descriptor(
    name='device_descriptor',

# Path: umap2/core/usb.py
# class DescriptorType(object):
#     device = 0x01
#     configuration = 0x02
#     string = 0x03
#     interface = 0x04
#     endpoint = 0x05
#     device_qualifier = 0x06
#     other_speed_configuration = 0x07
#     interface_power = 0x08
#     bos = 0x0f
#     device_capability = 0x10
#     hid = 0x21
#     report = 0x22
#     cs_interface = 0x24
#     cs_endpoint = 0x25
#     hub = 0x29


# Path: umap2/fuzz/templates/enum.py
from umap2.core.usb import DescriptorType
from kitty.model import LE16, UInt8, BitField, String, RandomBytes
from kitty.model import Template, Container, List
from kitty.model import ElementCount, SizeInBytes
from kitty.model import StrEncodeEncoder, ENC_INT_LE
from generic import Descriptor, SubDescriptor

'''
Tempaltes related to generic enumeration stage
'''
# fields
# containers
# dynamic fields
# encoders


# Device descriptor
# Section 9.6.1, page 261
device_descriptor = Descriptor(
    name='device_descriptor',

    descriptor_type=DescriptorType.device,