📄 dabusb.h
字号:
#define _BULK_DATA_LEN 64typedef struct{ unsigned char data[_BULK_DATA_LEN]; unsigned int size; unsigned int pipe;}bulk_transfer_t,*pbulk_transfer_t;#define DABUSB_MINOR 240 /* some unassigned USB minor */#define DABUSB_VERSION 0x1000#define IOCTL_DAB_BULK _IOWR('d', 0x30, bulk_transfer_t)#define IOCTL_DAB_OVERRUNS _IOR('d', 0x15, int)#define IOCTL_DAB_VERSION _IOR('d', 0x3f, int) #ifdef __KERNEL__typedef enum { _stopped=0, _started } driver_state_t;typedef struct{ struct semaphore mutex; struct usb_device *usbdev; wait_queue_head_t wait; wait_queue_head_t remove_ok; spinlock_t lock; atomic_t pending_io; driver_state_t state; int remove_pending; int got_mem; int total_buffer_size; unsigned int overruns; int readptr; int opened; struct list_head free_buff_list; struct list_head rec_buff_list;} dabusb_t,*pdabusb_t;typedef struct { pdabusb_t s; purb_t purb; struct list_head buff_list;} buff_t,*pbuff_t;typedef struct{ wait_queue_head_t wait;} bulk_completion_context_t, *pbulk_completion_context_t;#define _DABUSB_IF 2#define _DABUSB_ISOPIPE 0x09#define _ISOPIPESIZE 16384#define _BULK_DATA_LEN 64// Vendor specific request code for Anchor Upload/Download// This one is implemented in the core#define ANCHOR_LOAD_INTERNAL 0xA0// EZ-USB Control and Status Register. Bit 0 controls 8051 reset#define CPUCS_REG 0x7F92#define _TOTAL_BUFFERS 384#define MAX_INTEL_HEX_RECORD_LENGTH 16#ifndef _BYTE_DEFINED#define _BYTE_DEFINEDtypedef unsigned char BYTE;#endif // !_BYTE_DEFINED#ifndef _WORD_DEFINED#define _WORD_DEFINEDtypedef unsigned short WORD;#endif // !_WORD_DEFINEDtypedef struct _INTEL_HEX_RECORD{ BYTE Length; WORD Address; BYTE Type; BYTE Data[MAX_INTEL_HEX_RECORD_LENGTH];} INTEL_HEX_RECORD, *PINTEL_HEX_RECORD;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -