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

📄 device.h

📁 HPC上的RS232 USB Driver .该软件比PL2303专用驱动强
💻 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 + -