30 #if defined(HAVE_HIDAPI) 32 #include <hidapi/hidapi.h> 52 struct hid_conn_params {
55 unsigned int interface_number;
56 unsigned int usage_page;
57 bool interface_OR_page ;
61 class device_io_hid: device_io {
67 unsigned short channel;
69 unsigned int packet_size;
74 hid_device *usb_device;
76 void io_hid_log(
int read,
unsigned char* buf,
int buf_len);
79 void io_hid_open(
int vid,
int pid,
int mode);
80 void io_hid_close (
void);
82 unsigned int wrapCommand(
const unsigned char *command,
size_t command_len,
unsigned char *out,
size_t out_len);
83 unsigned int unwrapReponse(
const unsigned char *data,
size_t data_len,
unsigned char *out,
size_t out_len);
87 bool hid_verbose =
false;
89 const unsigned int OR_SELECT = 1;
90 const unsigned int AND_SELECT = 2;
92 const unsigned char DEFAULT_CHANNEL = 0x0001;
93 const unsigned char DEFAULT_TAG = 0x01;
94 const unsigned int DEFAULT_PACKET_SIZE = 64;
95 const unsigned int DEFAULT_TIMEOUT = 120000;
97 device_io_hid(
unsigned short channel,
unsigned char tag,
unsigned int packet_zize,
unsigned int timeout);
102 void connect(
void *params);
103 void connect(
unsigned int vid,
unsigned int pid,
unsigned int interface_number,
unsigned int usage_page,
bool interface_OR_page );
104 bool connected()
const;
105 int exchange(
unsigned char *command,
unsigned int cmd_len,
unsigned char *response,
unsigned int max_resp_len);
112 #endif //#if defined(HAVE_HIDAPI)
static void init(std::string cache_filename)
Definition: blockchain_blackball.cpp:223
Definition: device.cpp:38