37 lines
926 B
C++
37 lines
926 B
C++
#ifndef I_USB_H
|
|
#define I_USB_H
|
|
#include <iostream>
|
|
#include "predefine.h"
|
|
#include "callbackdefines.h"
|
|
|
|
|
|
struct Usb_endpoint{
|
|
std::uint8_t bulk_in;
|
|
std::uint8_t bulk_out;
|
|
std::uint8_t int_in;
|
|
Usb_endpoint(uint8_t b_in,uint8_t b_out,uint8_t i_in):
|
|
bulk_in(b_in),bulk_out(b_out),int_in(i_in){}
|
|
bool isnull()
|
|
{
|
|
return (bulk_in*bulk_out*int_in) == 0;
|
|
}
|
|
};
|
|
|
|
class IUsb
|
|
{
|
|
public:
|
|
virtual ~IUsb() {}
|
|
virtual bool open() = 0;
|
|
virtual bool close() = 0;
|
|
virtual bool is_open() = 0;
|
|
virtual void set_timeout(int timeout) = 0;
|
|
virtual void set_usbcallback(usbcallback usbcall=0,void* usrdata=0)=0;
|
|
virtual bool is_connected()=0;
|
|
virtual int read_bulk(void* data, int len) = 0;
|
|
virtual int write_bulk(void* data, int len) = 0;
|
|
virtual int read_int(void* data, int len) = 0;
|
|
virtual int control_msg(int rtype, int req, int value, int index, int len, void* data) = 0;
|
|
};
|
|
|
|
#endif
|