⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linux.h

📁 usb user mode lib
💻 H
字号:
#ifndef __LINUX_H__#define __LINUX_H__#include <unistd.h>#include <sys/stat.h>#include <sys/ioctl.h>struct usb_ctrltransfer {	/* keep in sync with usbdevice_fs.h:usbdevfs_ctrltransfer */	u_int8_t  bRequestType;	u_int8_t  bRequest;	u_int16_t wValue;	u_int16_t wIndex;	u_int16_t wLength;	u_int32_t timeout;	/* in milliseconds */	/* pointer to data */	void *data;};struct usb_bulktransfer {	/* keep in sync with usbdevice_fs.h:usbdevfs_bulktransfer */	unsigned int ep;	unsigned int len;	unsigned int timeout;	/* in milliseconds */	/* pointer to data */	void *data;};struct usb_setinterface {	/* keep in sync with usbdevice_fs.h:usbdevfs_setinterface */	unsigned int interface;	unsigned int altsetting;};#define USB_MAXDRIVERNAME 255struct usb_getdriver {	unsigned int interface;	char driver[USB_MAXDRIVERNAME + 1];};#define USB_URB_DISABLE_SPD	1#define USB_URB_ISO_ASAP	2#define USB_URB_QUEUE_BULK	0x10#define USB_URB_TYPE_ISO	0#define USB_URB_TYPE_INTERRUPT	1#define USB_URB_TYPE_CONTROL	2#define USB_URB_TYPE_BULK	3struct usb_iso_packet_desc {	unsigned int length;	unsigned int actual_length;	unsigned int status;};struct usb_urb {	unsigned char type;	unsigned char endpoint;	int status;	unsigned int flags;	void *buffer;	int buffer_length;	int actual_length;	int start_frame;	int number_of_packets;	int error_count;	unsigned int signr;  /* signal to be sent on error, -1 if none should be sent */	void *usercontext;	struct usb_iso_packet_desc iso_frame_desc[0];};struct usb_ioctl {	int ifno;	/* interface 0..N ; negative numbers reserved */	int ioctl_code;	/* MUST encode size + direction of data so the			 * macros in <asm/ioctl.h> give correct values */	void *data;	/* param buffer (in, or out) */};#define IOCTL_USB_CONTROL	_IOWR('U', 0, struct usb_ctrltransfer)#define IOCTL_USB_BULK		_IOWR('U', 2, struct usb_bulktransfer)#define IOCTL_USB_RESETEP	_IOR('U', 3, unsigned int)#define IOCTL_USB_SETINTF	_IOR('U', 4, struct usb_setinterface)#define IOCTL_USB_SETCONFIG	_IOR('U', 5, unsigned int)#define IOCTL_USB_GETDRIVER	_IOW('U', 8, struct usb_getdriver)#define IOCTL_USB_SUBMITURB	_IOR('U', 10, struct usb_urb)#define IOCTL_USB_DISCARDURB	_IO('U', 11)#define IOCTL_USB_REAPURB	_IOW('U', 12, void *)#define IOCTL_USB_REAPURBNDELAY	_IOW('U', 13, void *)#define IOCTL_USB_CLAIMINTF	_IOR('U', 15, unsigned int)#define IOCTL_USB_RELEASEINTF	_IOR('U', 16, unsigned int)#define IOCTL_USB_IOCTL         _IOWR('U', 18, struct usb_ioctl)#define IOCTL_USB_RESET		_IO('U', 20)#define IOCTL_USB_CLEAR_HALT	_IOR('U', 21, unsigned int)#define IOCTL_USB_DISCONNECT	_IO('U', 22)	/* via IOCTL_USB_IOCTL */#define IOCTL_USB_CONNECT	_IO('U', 23)	/* via IOCTL_USB_IOCTL */#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -