📄 linux.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 + -