uint8_t usbSetIdle (void) { if (hidProtocol[INTERFACE_OFFSET(tSetupPacket.wIndex)] == USB_REQ_HID_BOOT_PROTOCOL){ hidIdleRate[INTERFACE_OFFSET(tSetupPacket.wIndex)] = tSetupPacket.wValue >> 8; usbSendZeroLengthPacketOnIEP0(); } else {
uint8_t usbGetReportDescriptor (void) { wBytesRemainingOnIEP0 = report_desc_size[INTERFACE_OFFSET(tSetupPacket.wIndex)]; usbSendDataPacketOnEP0(report_desc[INTERFACE_OFFSET(tSetupPacket.wIndex)]); return (FALSE); }
uint8_t usbGetHidDescriptor (void) { usbClearOEP0ByteCount(); wBytesRemainingOnIEP0 = 9; #ifdef NON_COMPOSITE_MULTIPLE_INTERFACES usbSendDataPacketOnEP0((uint8_t*)&abromConfigurationDescriptorGroupHID.stHid[ INTERFACE_OFFSET(tSetupPacket.wIndex)].blength_hid_descriptor); #else usbSendDataPacketOnEP0((uint8_t*)&abromConfigurationDescriptorGroup.stHid[ INTERFACE_OFFSET(tSetupPacket.wIndex)].blength_hid_descriptor); #endif return (FALSE); }
BYTE usbGetHidDescriptor (VOID) { usbClearOEP0ByteCount(); wBytesRemainingOnIEP0 = 9; usbSendDataPacketOnEP0((PBYTE)&abromConfigurationDescriptorGroup.stHid[ INTERFACE_OFFSET(tSetupPacket.wIndex)].blength_hid_descriptor); return (FALSE); }
uint8_t usbSetProtocol (void) { uint8_t bWakeUp = FALSE; hidProtocol[INTERFACE_OFFSET(tSetupPacket.wIndex)] = (uint8_t)tSetupPacket.wValue; //tSetupPacket.wValue = USB_REQ_HID_BOOT_PROTOCOL or USB_REQ_HID_REPORT_PROTOCOL bWakeUp = USBHID_handleBootProtocol((uint8_t)tSetupPacket.wValue, tSetupPacket.wIndex); usbSendZeroLengthPacketOnIEP0(); return (bWakeUp); }
uint8_t usbGetProtocol (void) { usbSendDataPacketOnEP0(&hidProtocol[INTERFACE_OFFSET(tSetupPacket.wIndex)]); return (FALSE); }
* in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ /* RunnableMixin.cpp Provides a mixin nsIRunnable implementation. by Patrick C. Beard. */ #include "RunnableMixin.h" const InterfaceInfo RunnableMixin::sInterfaces[] = { { NS_IRUNNABLE_IID, INTERFACE_OFFSET(RunnableMixin, nsIRunnable) }, }; const UInt32 RunnableMixin::kInterfaceCount = sizeof(sInterfaces) / sizeof(InterfaceInfo); RunnableMixin::RunnableMixin() : SupportsMixin(this, sInterfaces, kInterfaceCount) { }