USB_Structs_H.LST
上传用户:gxz1972
上传日期:2019-09-13
资源大小:323k
文件大小:7k
源码类别:

传真(Fax)编程

开发平台:

C/C++

  1. C51 COMPILER V7.02b   USB_STRUCTS_H                                                        08/06/2007 14:02:46 PAGE 1   
  2. C51 COMPILER V7.02b, COMPILATION OF MODULE USB_STRUCTS_H
  3. OBJECT MODULE PLACED IN USB_Structs_H.OBJ
  4. COMPILER INVOKED BY: C:KeilC51BINc51.exe USB_Structs_H.h DB OE
  5. stmt level    source
  6.    1          //-----------------------------------------------------------------------------
  7.    2          // USB_Structs.h
  8.    3          //-----------------------------------------------------------------------------
  9.    4          //-----------------------------------------------------------------------------
  10.    5          // Copyright 2007 Vson Technology, Inc.
  11.    6          // http://www.usbmcu.com
  12.    7          //
  13.    8          // Program Description:
  14.    9          //
  15.   10          //
  16.   11          //
  17.   12          //
  18.   13          //
  19.   14          // MCU:            C8051F347
  20.   15          // Tool chain:     Keil C51 7.50 / Keil EVAL C51
  21.   16          //                 Silicon Laboratories IDE version 2.6
  22.   17          // Command Line:   
  23.   18          // Project Name:   TR1000
  24.   19          //
  25.   20          //
  26.   21          // Release 1.0
  27.   22          //    -All changes by Brian Cai
  28.   23          //    -24 JUL 2007
  29.   24          //
  30.   25          //
  31.   26          
  32.   27          #include "USB_Config_H.h"
  33.   28          #include "USB_Descriptors_H.h"
  34.   29          
  35.   30          
  36.   31          
  37.   32          #ifndef  _USB_STRUCTS_H_
  38.   33          #define  _USB_STRUCTS_H_
  39.   34          
  40.   35          
  41.   36          //-----------------------------------------------------------------------------
  42.   37          // Global Constants
  43.   38          //-----------------------------------------------------------------------------
  44.   39          /*
  45.   40          #ifndef _BYTE_DEF_
  46.   41          #define _BYTE_DEF_
  47.   42          typedef unsigned char BYTE;
  48.   43          #endif   /* _BYTE_DEF_ */
  49.   44          /*
  50.   45          #ifndef _UINT_DEF_
  51.   46          #define _UINT_DEF_
  52.   47          typedef unsigned int UINT;
  53.   48          #endif   /*_UINT_DEF_*/
  54.   49          
  55.   50          #ifndef _WORD_DEF_
  56.   51          #define _WORD_DEF_
  57.   52          
  58.   53          typedef union {unsigned int i; unsigned char c[2];} WORD;
  59.   54          #endif   /* _WORD_DEF_ */
  60.   55          
  61. C51 COMPILER V7.02b   USB_STRUCTS_H                                                        08/06/2007 14:02:46 PAGE 2   
  62.   56          typedef struct IF_STATUS {
  63.   57             BYTE bNumAlts;             // Number of alternate choices for this
  64. *** ERROR C141 IN LINE 57 OF USB_STRUCTS_H.H: syntax error near 'BYTE'
  65. *** ERROR C129 IN LINE 57 OF USB_STRUCTS_H.H: missing ';' before 'bNumAlts'
  66.   58                                        // interface
  67.   59             BYTE bCurrentAlt;          // Current alternate setting for this interface
  68.   60                                        // zero means this interface does not exist
  69.   61                                        // or the device is not configured
  70.   62             BYTE bIfNumber;            // Interface number for this interface
  71.   63                                        // descriptor
  72.   64             } IF_STATUS;
  73.   65          typedef IF_STATUS * PIF_STATUS;
  74.   66          
  75.   67          
  76.   68          // Configuration status - only valid in configured state
  77.   69          // This data structure assumes a maximum of 2 interfaces for any given
  78.   70          // configuration, and a maximum of 4 interface descriptors (including
  79.   71          // all alternate settings).
  80.   72          typedef struct DEVICE_STATUS {
  81.   73             BYTE bCurrentConfig;       // Index number for the selected config
  82.   74             BYTE bDevState;            // Current device state
  83.   75             BYTE bRemoteWakeupSupport; // Does this device support remote wakeup?
  84.   76             BYTE bRemoteWakeupStatus;  // Device remote wakeup enabled/disabled
  85.   77             BYTE bSelfPoweredStatus;   // Device self- or bus-powered
  86.   78             BYTE bNumInterf;           // Number of interfaces for this configuration
  87.   79             BYTE bTotalInterfDsc;      // Total number of interface descriptors for
  88.   80                                        // this configuration (includes alt.
  89.   81                                        // descriptors)
  90.   82             BYTE* pConfig;             // Points to selected configuration desc
  91.   83             IF_STATUS IfStatus[MAX_IF];// Array of interface status structures
  92.   84             } DEVICE_STATUS;
  93.   85          typedef DEVICE_STATUS * PDEVICE_STATUS;
  94.   86          
  95.   87          // Control endpoint command (from host)
  96.   88          typedef struct EP0_COMMAND {
  97.   89             BYTE  bmRequestType;       // Request type
  98.   90             BYTE  bRequest;            // Specific request
  99.   91             WORD  wValue;              // Misc field
  100.   92             WORD  wIndex;              // Misc index
  101.   93             WORD  wLength;             // Length of the data segment for this request
  102.   94            } EP0_COMMAND;
  103.   95          
  104.   96          // Endpoint status (used for IN, OUT, and Endpoint0)
  105.   97          typedef struct EP_STATUS {
  106.   98             BYTE  bEp;                 // Endpoint number (address)
  107.   99             UINT  uNumBytes;           // Number of bytes available to transmit
  108.  100             UINT  uMaxP;               // Maximum packet size
  109.  101             BYTE  bEpState;            // Endpoint state
  110.  102             void *pData;               // Pointer to data to transmit
  111.  103             WORD  wData;               // Storage for small data packets
  112.  104             } EP_STATUS;
  113.  105          typedef EP_STATUS * PEP_STATUS;
  114.  106          
  115.  107          // Descriptor structure
  116.  108          // This structure contains all usb descriptors for the device.
  117.  109          // The descriptors are held in array format, and are accessed with the offsets
  118.  110          // defined in the header file "usb_desc.h". The constants used in the
  119.  111          // array declarations are also defined in header file "usb_desc.h".
  120.  112          typedef struct DESCRIPTORS {
  121.  113             BYTE bStdDevDsc[STD_DSC_SIZE];
  122.  114             BYTE bCfg1[CFG_DSC_SIZE + IF_DSC_SIZE*CFG1_IF_DSC + EP_DSC_SIZE*CFG1_EP_DSC];
  123.  115          } DESCRIPTORS;
  124. C51 COMPILER V7.02b   USB_STRUCTS_H                                                        08/06/2007 14:02:46 PAGE 3   
  125.  116          
  126.  117          
  127.  118          
  128.  119          #endif   // USB_STRUCTS_H
  129.  120          
  130.  121          //-----------------------------------------------------------------------------
  131.  122          // End Of File
  132.  123          //-----------------------------------------------------------------------------
  133. C51 COMPILATION COMPLETE.  0 WARNING(S),  2 ERROR(S)