30#if defined(HAVE_HIDAPI)
32#include <boost/optional/optional.hpp>
33#include <hidapi/hidapi.h>
53 struct hid_conn_params {
57 unsigned short usage_page;
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);
85 hid_device_info *find_device(hid_device_info *devices_list, boost::optional<int> interface_number, boost::optional<unsigned short> usage_page);
88 bool hid_verbose =
false;
90 static const unsigned short DEFAULT_CHANNEL = 0x0001;
91 static const unsigned char DEFAULT_TAG = 0x01;
92 static const unsigned int DEFAULT_PACKET_SIZE = 64;
93 static const unsigned int DEFAULT_TIMEOUT = 120000;
95 device_io_hid(
unsigned short channel,
unsigned char tag,
unsigned int packet_zize,
unsigned int timeout);
100 void connect(
void *params);
101 void connect(
const std::vector<hid_conn_params> &
conn);
102 hid_device *connect(
unsigned int vid,
unsigned int pid, boost::optional<int> interface_number, boost::optional<unsigned short> usage_page);
103 bool connected()
const;
104 int exchange(
unsigned char *command,
unsigned int cmd_len,
unsigned char *response,
unsigned int max_resp_len,
bool user_input);
Definition device_io.hpp:39
std::unique_ptr< test_connection > conn(new test_connection(io_service, m_handler_config))
static void init()
Definition logging.cpp:42
static int mode
Definition mdb_dump.c:26
Definition device_io.hpp:37
release(ctx, str device, version, git_tag, release_missing, dry_run, soon, force, add_all, verbose)
Definition support.py:316
const char * buf
Definition slow_memmem.cpp:73
const char * tag
Definition testobsdrdr.c:19
std::string data
Definition base58.cpp:37