?? usbhidcalls.h
字號:
/* Name: usbcalls.h * Project: usbcalls library * Author: Christian Starkjohann * Creation Date: 2006-02-02 * Tabsize: 4 * Copyright: (c) 2006 by OBJECTIVE DEVELOPMENT Software GmbH * License: Proprietary, free under certain conditions. See Documentation. * This Revision: $Id: usbcalls.h 125 2006-02-12 14:39:44Z cs $ */#ifndef __usbcalls_h_INCLUDED__#define __usbcalls_h_INCLUDED__/*General Description:This module implements an abstraction layer for access to USB/HID communicationfunctions. An implementation based on libusb (portable to Linux, FreeBSD andMac OS X) and a native implementation for Windows are provided.*//* ------------------------------------------------------------------------ */#define USB_HID_REPORT_TYPE_INPUT 1#define USB_HID_REPORT_TYPE_OUTPUT 2#define USB_HID_REPORT_TYPE_FEATURE 3/* Numeric constants for 'reportType' parameters */#define USB_ERROR_NONE 0#define USB_ERROR_ACCESS 1#define USB_ERROR_NOTFOUND 2#define USB_ERROR_BUSY 16#define USB_ERROR_IO 5/* These are the error codes which can be returned by functions of this * module. *//* ------------------------------------------------------------------------ */typedef void usbDevice_t;/* This type represents a USB device internally. Only opaque pointers to this * type are available outside the module implementation. *//* ------------------------------------------------------------------------ */extern int usbOpenDevice(usbDevice_t **device, int vendor, char *vendorName, int product, char *productName, int usesReportIDs);/* This function opens a USB device. 'vendor' and 'product' are the numeric * Vendor-ID and Product-ID of the device we want to open. If 'vendorName' and * 'productName' are both not NULL, only devices with matching manufacturer- * and product name strings are accepted. If the device uses report IDs, * 'usesReportIDs' must be set to a non-zero value. * Returns: If a matching device has been found, USB_ERROR_NONE is returned and * '*device' is set to an opaque pointer representing the device. The device * must be closed with usbCloseDevice(). If the device has not been found or * opening failed, an error code is returned. */extern void usbCloseDevice(usbDevice_t *device);/* Every device opened with usbOpenDevice() must be closed with this function. */extern int usbSetReport(usbDevice_t *device, int reportType, char *buffer, int len);/* This function sends a report to the device. 'reportType' specifies the type * of report (see USB_HID_REPORT_TYPE* constants). The report ID must be in the * first byte of buffer and the length 'len' of the report is specified * including this report ID. If no report IDs are used, buffer[0] must be set * to 0 (dummy report ID). * Returns: 0 on success, an error code otherwise. */extern int usbGetReport(usbDevice_t *device, int reportType, int reportNumber, char *buffer, int *len);/* This function obtains a report from the device. 'reportType' specifies the * type of report (see USB_HID_REPORT_TYPE* constants). The requested report ID * is passed in 'reportID'. The caller must pass a buffer of the size of the * expected report in 'buffer' and initialize the variable in '*len' to the * total size of this buffer. Upon successful return, the report (prefixed with * a report ID) is in 'buffer' and the actual length of the report is returned * in '*len'. * Returns: 0 on success, an error code otherwise. *//* ------------------------------------------------------------------------ */#endif /* __usbcalls_h_INCLUDED__ */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -