; ><USBLibrary$Dir>.USBMsg
;
; (c) 2002 Simtec Electronics
;
; This Library file is part of the Simtec Electronics USB Stack
; development suite. Specific licence is granted to use this file
; by third parties for the development of USB device drivers.
;
; this file is autogenerated from the relevant C headers, and was
; converted Tue Dec  2 13:38:03 2003 from:
;    usb/msg.h ($Id: class.h,v 1.4 2003/08/06 15:56:11 ben Exp $)
;

; Message class definitions from enum usbmsg_class

                                  USBMSG_CLASS_HUB * 0x00000000
                             USBMSG_CLASS_POWERCAP * 0x00000001
                               USBMSG_CLASS_NEWDEV * 0x00000002
                         USBMSG_CLASS_CONFIGCHANGE * 0x00000003
                       USBMSG_CLASS_CLAIMINTERFACE * 0x00000004
                       USBMSG_CLASS_PIPE_EXCLUSIVE * 0x00000005
                             USBMSG_CLASS_CAPACITY * 0x00000006
                           USBMSG_CLASS_CONTROLLER * 0x00000007
                                  USBMSG_CLASS_LOG * 0x00000008
                        USBMSG_CLASS_UNCLAIMED_DEV * 0x00000009
                            USBMSG_CLASS_SETCONFIG * 0x0000000a
                                  USBMSG_CLASS_MAX * 0x0000000e
                                 USBMSG_CLASS_USER * 0x80000000
; End of class definitions

; starting structure 'usbmsg_hdr'
; structure is 8 bytes long (max)

usbmsg_hdr_sizeof * 0x8

                                  usbmsg_hdr_class * 0x0 ; 4 bytes long
                                   usbmsg_hdr_size * 0x4 ; 4 bytes long
; finished structure 'usbmsg_hdr'

; definitions for class usbmsg_capacity
                             USBMSG_CAPACITY_CLAIM * 0x00000000
                           USBMSG_CAPACITY_RELEASE * 0x00000001
                              USBMSG_CAPACITY_TEST * 0x00000002

; starting structure 'usbmsg_capacity'
; structure is 24 bytes long (max)

usbmsg_capacity_sizeof * 0x18

                                usbmsg_capacity_op * 0x0 ; 4 bytes long
                              usbmsg_capacity_host * 0x4 ; 4 bytes long
                             usbmsg_capacity_speed * 0x8 ; 4 bytes long
                              usbmsg_capacity_type * 0xc ; 4 bytes long
                           usbmsg_capacity_maxdata * 0x10 ; 4 bytes long
                            usbmsg_capacity_repeat * 0x14 ; 4 bytes long
; finished structure 'usbmsg_capacity'

; definitions for usbmsg_hub

; values for type field...
                             USBMSG_HUB_OC_OCCURED * 0x00000000
                             USBMSG_HUB_OC_CLEARED * 0x00000001
                          USBMSG_HUB_DEVICE_ATTACH * 0x00000002
                          USBMSG_HUB_DEVICE_REMOVE * 0x00000003
                        USBMSG_HUB_DEVICE_DISABLED * 0x00000004
                           USBMSG_HUB_DEVICE_RESET * 0x00000005
; starting structure 'usbmsg_hub'
; structure is 24 bytes long (max)

usbmsg_hub_sizeof * 0x18

                                   usbmsg_hub_type * 0x0 ; 4 bytes long
                         usbmsg_hub_controller_ref * 0x4 ; 4 bytes long
                             usbmsg_hub_device_ref * 0x8 ; 4 bytes long
                                   usbmsg_hub_port * 0xc ; 4 bytes long
                           usbmsg_hub_attached_ref * 0x10 ; 4 bytes long
                        usbmsg_hub_attached_number * 0x14 ; 4 bytes long
; finished structure 'usbmsg_hub'

; starting structure 'usbmsg_pipeexclusive'
; structure is 16 bytes long (max)

usbmsg_pipeexclusive_sizeof * 0x10

               usbmsg_pipeexclusive_controller_ref * 0x0 ; 4 bytes long
                   usbmsg_pipeexclusive_device_ref * 0x4 ; 4 bytes long
         usbmsg_pipeexclusive_default_endpoint_ref * 0x8 ; 4 bytes long
                           usbmsg_pipeexclusive_ok * 0xc ; 4 bytes long
; finished structure 'usbmsg_pipeexclusive'

; starting structure 'usbmsg_claiminterface'
; structure is 16 bytes long (max)

usbmsg_claiminterface_sizeof * 0x10

                          usbmsg_claiminterface_ok * 0x0 ; 4 bytes long
                   usbmsg_claiminterface_interface * 0x4 ; 4 bytes long
              usbmsg_claiminterface_controller_ref * 0x8 ; 4 bytes long
                  usbmsg_claiminterface_device_ref * 0xc ; 4 bytes long
; finished structure 'usbmsg_claiminterface'

; type field for usbmsg_configchange
                        USBMSG_CONFIGCHANGE_CONFIG * 0x00000000
                     USBMSG_CONFIGCHANGE_INTERFACE * 0x00000001

; starting structure 'usbmsg_configchange'
; structure is 20 bytes long (max)

usbmsg_configchange_sizeof * 0x14

                          usbmsg_configchange_type * 0x0 ; 4 bytes long
                            usbmsg_configchange_ok * 0x4 ; 4 bytes long
                     usbmsg_configchange_interface * 0x8 ; 4 bytes long
                usbmsg_configchange_controller_ref * 0xc ; 4 bytes long
                    usbmsg_configchange_device_ref * 0x10 ; 4 bytes long
; finished structure 'usbmsg_configchange'

; type usbmsg_class_powercap
                              USBMSG_POWERCAP_TEST * 0x00000000

; starting structure 'usbmsg_powercap'
; structure is 20 bytes long (max)

usbmsg_powercap_sizeof * 0x14

                              usbmsg_powercap_type * 0x0 ; 4 bytes long
                              usbmsg_powercap_type * 0x0 ; 4 bytes long
; finished structure 'usbmsg_powercap'

; new device message class, usbmsg_new_device

; type field constants

                       USBMSG_NEWDEV_CURRENTDRIVER * 0x00000000
                           USBMSG_NEWDEV_NEWDRIVER * 0x00000001

; try field constants
                          USBMSG_NEWDEV_TRY_VENDOR * 0x00000000
                           USBMSG_NEWDEV_TRY_CLASS * 0x00000001

; starting structure 'usbmsg_new_device'
; structure is 2100 bytes long (max)

usbmsg_new_device_sizeof * 0x834

                            usbmsg_new_device_type * 0x0 ; 4 bytes long
                             usbmsg_new_device_try * 0x4 ; 4 bytes long
                       usbmsg_new_device_vendor_id * 0x8 ; 4 bytes long
                      usbmsg_new_device_product_id * 0xc ; 4 bytes long
                usbmsg_new_device_interface_number * 0x10 ; 4 bytes long
                 usbmsg_new_device_interface_class * 0x14 ; 4 bytes long
              usbmsg_new_device_interface_subclass * 0x18 ; 4 bytes long
              usbmsg_new_device_interface_protocol * 0x1c ; 4 bytes long
             usbmsg_new_device_interface_endpoints * 0x20 ; 4 bytes long
; pointer to character strings...
                 usbmsg_new_device_controller_name * 0x24 ; 4 bytes long
                   usbmsg_new_device_serial_number * 0x28 ; 4 bytes long
                   usbmsg_new_device_device_number * 0x2c ; 4 bytes long

; endpoints is the start of a list of endpoints for this interface
; of the type usb_newdev_endpoint
                       usbmsg_new_device_endpoints * 0x34 ; 2048 bytes long
; finished structure 'usbmsg_new_device'

; entries for endpoints in usbmsg_new_device
; starting structure 'usb_newdev_endpoint'
; structure is 8 bytes long (max)

usb_newdev_endpoint_sizeof * 0x8

                     usb_newdev_endpoint_reference * 0x0 ; 4 bytes long
                        usb_newdev_endpoint_number * 0x4 ; 4 bytes long
; finished structure 'usb_newdev_endpoint'

; class usbmsg_controller

; values for the type field
                        USBMSG_CONTROLLER_STARTING * 0x00000000
                        USBMSG_CONTROLLER_STOPPING * 0x00000001

; starting structure 'usbmsg_controller'
; structure is 8 bytes long (max)

usbmsg_controller_sizeof * 0x8

                            usbmsg_controller_type * 0x0 ; 4 bytes long
                              usbmsg_controller_hc * 0x4 ; 4 bytes long
; finished structure 'usbmsg_controller'

; log message class, usbmsg_class_log

; type field values
                                USBMSG_LOG_RESTART * 0x00000000

; starting structure 'usbmsg_log'
; structure is 4 bytes long (max)

usbmsg_log_sizeof * 0x4

                                   usbmsg_log_type * 0x0 ; 4 bytes long
; finished structure 'usbmsg_log'

; device manager message class

; device filter for use with devmgr find
; starting structure 'usbmsg_device_filter'
; structure is 28 bytes long (max)

usbmsg_device_filter_sizeof * 0x1c

        usbmsg_device_filter_check_interface_class * 0x0 ; 1 bytes long
     usbmsg_device_filter_check_interface_subclass * 0x1 ; 1 bytes long
     usbmsg_device_filter_check_interface_protocol * 0x2 ; 1 bytes long
              usbmsg_device_filter_check_vendor_id * 0x3 ; 1 bytes long
             usbmsg_device_filter_check_product_id * 0x4 ; 1 bytes long
              usbmsg_device_filter_interface_class * 0x8 ; 4 bytes long
           usbmsg_device_filter_interface_subclass * 0xc ; 4 bytes long
           usbmsg_device_filter_interface_protocol * 0x10 ; 4 bytes long
                    usbmsg_device_filter_vendor_id * 0x14 ; 4 bytes long
                   usbmsg_device_filter_product_id * 0x18 ; 4 bytes long
; finished structure 'usbmsg_device_filter'

; type fields for the devmgr message
                                USBMSG_DEVMGR_FIND * 0x00000000
                             USBMSG_DEVMGR_RELEASE * 0x00000001
                               USBMSG_DEVMGR_CLAIM * 0x00000002
                                USBMSG_DEVMGR_DROP * 0x00000003
; result codes from devmgr / devmgr functions

                              USB_DEVMGR_RESULT_OK * 0x00000000
                   USB_DEVMGR_RESULT_NOT_AVAILABLE * 0x00819bf0
                        USB_DEVMGR_RESULT_NODEVICE * 0x00819b17
                  USB_DEVMGR_RESULT_ALREADYCLAIMED * 0x00819bf2
                USB_DEVMGR_RESULT_INVALID_ARGUMENT * 0x00819b02
; starting structure 'usbmsg_devmgr'
; structure is 28 bytes long (max)

usbmsg_devmgr_sizeof * 0x1c

                                usbmsg_devmgr_type * 0x0 ; 4 bytes long
                                usbmsg_devmgr_data * 0x4 ; 24 bytes long
; fields used with the find type
                      usbmsg_devmgr_data_find_size * 0x4 ; 4 bytes long
                      usbmsg_devmgr_data_find_skip * 0x8 ; 4 bytes long
                    usbmsg_devmgr_data_find_result * 0xc ; 4 bytes long
                      usbmsg_devmgr_data_find_done * 0x10 ; 4 bytes long
                   usbmsg_devmgr_data_find_filters * 0x14 ; 4 bytes long
                   usbmsg_devmgr_data_find_devices * 0x18 ; 4 bytes long
; fields used with the release type
                 usbmsg_devmgr_data_release_device * 0x4 ; 4 bytes long
              usbmsg_devmgr_data_release_advertise * 0x8 ; 4 bytes long
; fields used with the claim type
                 usbmsg_devmgr_data_release_device * 0x4 ; 4 bytes long
              usbmsg_devmgr_data_release_advertise * 0x8 ; 4 bytes long
; finished structure 'usbmsg_devmgr'
; setconfig message type, usbmsg_class_setconfig

; values for the type field
                             USBMSG_SETCONFIG_NONE * 0x00000000
                        USBMSG_SETCONFIG_INTERFACE * 0x00000001
; starting structure 'usbmsg_setconfig'
; structure is 20 bytes long (max)

usbmsg_setconfig_sizeof * 0x14


; first three fields are common to all types
                             usbmsg_setconfig_type * 0x0 ; 4 bytes long
                           usbmsg_setconfig_device * 0x4 ; 4 bytes long
                             usbmsg_setconfig_wait * 0x8 ; 4 bytes long
; next fields depend on the type...

; interface setting
         usbmsg_setconfig_data_interface_interface * 0xc ; 4 bytes long
           usbmsg_setconfig_data_interface_setting * 0x10 ; 4 bytes long
; finished structure 'usbmsg_setconfig'

; Result codes from setconfig
                 USB_SETCONFIG_RESULT_NOTAVAILABLE * 0x00819b13
                           USB_SETCONFIG_RESULT_OK * 0x00000001
                      USB_SETCONFIG_RESULT_RUNNING * 0x00819b14
                       USB_SETCONFIG_RESULT_FAILED * 0x00819b15
                  USB_SETCONFIG_RESULT_NORESOURCES * 0x00819b16
                 USB_SETCONFIG_RESULT_UNKNOWN_TYPE * 0x00819b02
               USB_SETCONFIG_RESULT_DEVICENOTFOUND * 0x00819b17

; Operations codes to USB_MsgOp
                                    USB_MSGOP_NONE * 0x00000000
                                USB_MSGOP_REGISTER * 0x00000001
                              USB_MSGOP_DEREGISTER * 0x00000002
                                  USB_MSGOP_FILTER * 0x00000003
                               USB_MSGOP_FILTERALL * 0x00000004

; End of file
; the end
