27 dev->m_reportDescriptorStart = NULL;
28 dev->m_reportDescriptorEnd = NULL;
31 for ( devDescCur = devDescStart; devDescCur < devDescEnd;
34 bLength = devDescCur->bLength;
37 if ( (u8 *)devDescEnd - (u8 *)devDescCur < (
int)bLength )
39 switch ( devDescCur->bDescriptorType )
73 if ( (
int)bLength >= 9 )
76 cfgNum = usbConfigDescriptor->bConfigurationValue;
80 if ( (
int)bLength >= 9 )
83 ifNum = usbInterfaceDescriptor->bInterfaceNumber;
88 for ( i = 0; i < usbHidDescriptor->bNumDescriptors; i += 1 )
90 if ( usbHidDescriptor->items[i].bDescriptorType == 0x22 )
93 usbHidDescriptor->items[i].wDescriptorLengthLb + (usbHidDescriptor->items[i].wDescriptorLengthHb << 8);
98 hidDescriptor->m_ifNum = ifNum;
99 hidDescriptor->m_length = wItemLength;
100 hidDescriptor->m_cfgNum = cfgNum;
101 hidDescriptor->m_prev = dev->m_reportDescriptorEnd;
102 if ( dev->m_reportDescriptorEnd )
103 dev->m_reportDescriptorEnd->m_next = hidDescriptor;
105 dev->m_reportDescriptorStart = hidDescriptor;
106 hidDescriptor->m_next = NULL;
107 dev->m_reportDescriptorEnd = hidDescriptor;
int CpuResumeIntr(int state)
int CpuSuspendIntr(int *state)