📄 device.h
字号:
//device functions
struct file_extension;
#define RECVSIZE 4096
#define RECVPKT 64
#define SENDPKT 64
DWORD WINAPI notifyevent(void*);
struct device_extension {
// functions
BOOL init();
BOOL deinit();
BOOL reset(); //reset device_extension
BOOL open();
ULONG close();
BOOL setlinestate(int, int);
BOOL sendbreak(int);
static DWORD WINAPI classwrap(void*);
DWORD classthread();
static DWORD WINAPI recvwrap(void*);
DWORD recvthread();
BOOL evaluateevent(DWORD);
DWORD comstat(COMSTAT* buf);
BOOL applydcb();
file_extension* list; //file_extension MUST be top of fields
//initialize at DeviceAttach
HANDLE ud; //returned by activate_device
USB_HANDLE uh;
USB_FUNCS const *uf;
int usbmode; //1=ACM/2=PL2303
int classif; //interface number
const USB_ENDPOINT *classendp, *recvendp, *sendendp;
USB_PIPE classpipe, recvpipe, sendpipe;
BYTE* recvbuf; //receive buffer
int recvin; //data-in pointer
int recvout; //data-out pointer
//initialize at COM_Init
COMMTIMEOUTS timeout;
//initialize at first COM_Open
DCB dcb;
DWORD errors; //CE_RXOVER only
DWORD lineinor; //all [OR]ed of linein
DWORD linein; //D15..0=SERIAL_STATE, D16=NETWORK_CONNECTION
DWORD lineout;
HANDLE writeevent;
long writeuse; //0=normal/1=using
HANDLE readevent; //event recvthread->read
long readuse; //0=normal/1=using
CRITICAL_SECTION flowcs; //used to block send data after C-s
long sendxoff; //1=xoffchar received
long recvflow; //1=recv flow stopped
CRITICAL_SECTION listcs;
int listread;
HANDLE listlock;
//recvbuf follows...
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -