libusb API主要分成两级,一级是围绕libusb_context进行操作的API级,一级是围绕libusb_device和libusb_device_handle操作的设备级。这节我们先介绍一下API级上的基本操作。
1. API的打开与初始化
使用libusb前,必须首先打开API并获取API上下文libusb_context。
libusb的初始化函数有两个版本
旧版:
int libusb_init(libusb_context **ctx);
新版:
int libusb_init_context(libusb_context ** ctx, const struct libusb_init_option options[], int num_options)
其中:
ctx:可以传入libusb_context指针用于获取初始化后的上下文。也可以传入NULL,这样就会初始化默认上下文。后续接口可以都传入NULL,表示使用此默认上下文。
返回值:LIBUSB_SUCCESS表示成功,否则返回LIBUSB_ERROR_XXX的错误码
新版本主要加入全局设定的参数libusb_init_option,可以设定如下参数:
LIBUSB_OPTION_LOG_LEVEL:用于设定libusb的log等级libusb_log_level</