SYMBOL INDEX (432 symbols across 32 files) FILE: build.rs function main (line 25) | fn main() { function compile_linux (line 48) | fn compile_linux() { function compile_freebsd (line 123) | fn compile_freebsd() { function compile_openbsd (line 129) | fn compile_openbsd() { function compile_illumos (line 135) | fn compile_illumos() { function compile_windows (line 174) | fn compile_windows() { function compile_macos (line 194) | fn compile_macos() { FILE: examples/co2mon.rs constant CODE_TEMPERATURE (line 14) | const CODE_TEMPERATURE: u8 = 0x42; constant CODE_CONCENTRATION (line 15) | const CODE_CONCENTRATION: u8 = 0x50; constant HID_TIMEOUT (line 16) | const HID_TIMEOUT: i32 = 5000; constant DEV_VID (line 17) | const DEV_VID: u16 = 0x04d9; constant DEV_PID (line 18) | const DEV_PID: u16 = 0xa052; constant PACKET_SIZE (line 19) | const PACKET_SIZE: usize = 8; type Packet (line 21) | type Packet = [u8; PACKET_SIZE]; type CO2Result (line 23) | enum CO2Result { function decode_temperature (line 30) | fn decode_temperature(value: u16) -> f32 { function decrypt (line 34) | fn decrypt(buf: Packet) -> Packet { function decode_buf (line 55) | fn decode_buf(buf: Packet) -> CO2Result { function invalid_data_err (line 85) | fn invalid_data_err(msg: impl Into) -> HidError { function main (line 91) | fn main() -> Result<(), HidError> { FILE: examples/dump_descriptors.rs function main (line 3) | fn main() { FILE: examples/logitech_gprox.rs function main (line 12) | fn main() -> Result<(), Box> { FILE: examples/lshid.rs function main (line 13) | fn main() { FILE: examples/open_first_device.rs function main (line 14) | fn main() { FILE: examples/readhid.rs function main (line 15) | fn main() { FILE: examples/static_lifetime_bound.rs function main (line 15) | fn main() { function requires_static_lt_bound (line 19) | fn requires_static_lt_bound(f: F) { function test_lt (line 23) | fn test_lt() -> Rc { FILE: src/error.rs type HidError (line 14) | pub enum HidError { method from (line 73) | fn from(e: std::io::Error) -> Self { method from (line 80) | fn from(e: nix::errno::Errno) -> Self { method fmt (line 41) | fn fmt(&self, f: &mut Formatter<'_>) -> Result { FILE: src/ffi.rs type HidBusType (line 10) | type HidBusType = crate::BusType; type HidDevice (line 11) | pub type HidDevice = c_void; type LibusbContext (line 12) | type LibusbContext = c_void; type HidDeviceInfo (line 15) | pub struct HidDeviceInfo { function hid_init (line 33) | pub fn hid_init() -> c_int; function hid_exit (line 34) | pub fn hid_exit() -> c_int; function hid_enumerate (line 35) | pub fn hid_enumerate(vendor_id: c_ushort, product_id: c_ushort) -> *mut ... function hid_free_enumeration (line 36) | pub fn hid_free_enumeration(hid_device_info: *mut HidDeviceInfo); function hid_open (line 37) | pub fn hid_open( function hid_open_path (line 42) | pub fn hid_open_path(path: *const c_char) -> *mut HidDevice; function hid_libusb_wrap_sys_device (line 44) | pub fn hid_libusb_wrap_sys_device(sys_dev: intptr_t, interface_num: c_in... function libusb_set_option (line 46) | pub fn libusb_set_option(ctx: *mut LibusbContext, option: c_int); function hid_write (line 47) | pub fn hid_write(device: *mut HidDevice, data: *const c_uchar, length: s... function hid_read_timeout (line 48) | pub fn hid_read_timeout( function hid_read (line 54) | pub fn hid_read(device: *mut HidDevice, data: *mut c_uchar, length: size... function hid_set_nonblocking (line 55) | pub fn hid_set_nonblocking(device: *mut HidDevice, nonblock: c_int) -> c... function hid_send_feature_report (line 56) | pub fn hid_send_feature_report( function hid_get_feature_report (line 61) | pub fn hid_get_feature_report( function hid_send_output_report (line 66) | pub fn hid_send_output_report( function hid_get_input_report (line 71) | pub fn hid_get_input_report( function hid_close (line 76) | pub fn hid_close(device: *mut HidDevice); function hid_get_manufacturer_string (line 77) | pub fn hid_get_manufacturer_string( function hid_get_product_string (line 82) | pub fn hid_get_product_string( function hid_get_serial_number_string (line 87) | pub fn hid_get_serial_number_string( function hid_get_device_info (line 92) | pub fn hid_get_device_info(device: *mut HidDevice) -> *mut HidDeviceInfo; function hid_get_indexed_string (line 93) | pub fn hid_get_indexed_string( function hid_get_report_descriptor (line 99) | pub fn hid_get_report_descriptor( function hid_error (line 104) | pub fn hid_error(device: *mut HidDevice) -> *const wchar_t; function hid_darwin_get_location_id (line 113) | pub fn hid_darwin_get_location_id(device: *mut HidDevice, location_id: *... function hid_darwin_set_open_exclusive (line 114) | pub fn hid_darwin_set_open_exclusive(open_exclusive: c_int); function hid_darwin_get_open_exclusive (line 115) | pub fn hid_darwin_get_open_exclusive() -> c_int; function hid_darwin_is_device_open_exclusive (line 116) | pub fn hid_darwin_is_device_open_exclusive(device: *mut HidDevice) -> c_... function hid_winapi_get_container_id (line 127) | pub fn hid_winapi_get_container_id( FILE: src/hidapi.rs constant STRING_BUF_LEN (line 17) | const STRING_BUF_LEN: usize = 128; type HidApiBackend (line 19) | pub struct HidApiBackend; method get_hid_device_info_vector (line 22) | pub fn get_hid_device_info_vector(vid: u16, pid: u16) -> HidResult HidResult { method open_serial (line 55) | pub fn open_serial(vid: u16, pid: u16, sn: &str) -> HidResult HidResult { method check_error (line 82) | pub fn check_error() -> HidResult { function wchar_to_string (line 95) | unsafe fn wchar_to_string(wstr: *const wchar_t) -> WcharString { function conv_hid_device_info (line 131) | pub unsafe fn conv_hid_device_info(src: *mut ffi::HidDeviceInfo) -> HidR... type HidDevice (line 148) | pub struct HidDevice { method from_raw (line 153) | pub fn from_raw(device: *mut ffi::HidDevice) -> Self { method check_size (line 177) | fn check_size(&self, res: i32) -> HidResult { method fmt (line 163) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method drop (line 169) | fn drop(&mut self) { method check_error (line 190) | fn check_error(&self) -> HidResult { method write (line 201) | fn write(&self, data: &[u8]) -> HidResult { method read (line 209) | fn read(&self, buf: &mut [u8]) -> HidResult { method read_timeout (line 214) | fn read_timeout(&self, buf: &mut [u8], timeout: i32) -> HidResult { method send_feature_report (line 226) | fn send_feature_report(&self, data: &[u8]) -> HidResult<()> { method get_feature_report (line 247) | fn get_feature_report(&self, buf: &mut [u8]) -> HidResult { method send_output_report (line 254) | fn send_output_report(&self, data: &[u8]) -> HidResult<()> { method get_input_report (line 272) | fn get_input_report(&self, data: &mut [u8]) -> HidResult { method set_blocking_mode (line 282) | fn set_blocking_mode(&self, blocking: bool) -> HidResult<()> { method get_manufacturer_string (line 298) | fn get_manufacturer_string(&self) -> HidResult> { method get_product_string (line 311) | fn get_product_string(&self) -> HidResult> { method get_serial_number_string (line 324) | fn get_serial_number_string(&self) -> HidResult> { method get_indexed_string (line 337) | fn get_indexed_string(&self, index: i32) -> HidResult> { method get_device_info (line 351) | fn get_device_info(&self) -> HidResult { method get_report_descriptor (line 362) | fn get_report_descriptor(&self, buf: &mut [u8]) -> HidResult { FILE: src/hidapi/macos.rs method get_location_id (line 7) | fn get_location_id(&self) -> HidResult { method is_open_exclusive (line 24) | fn is_open_exclusive(&self) -> HidResult { FILE: src/hidapi/windows.rs method get_container_id (line 10) | fn get_container_id(&self) -> HidResult { FILE: src/lib.rs type HidResult (line 126) | pub type HidResult = Result; constant MAX_REPORT_DESCRIPTOR_SIZE (line 127) | pub const MAX_REPORT_DESCRIPTOR_SIZE: usize = 4096; type ContextState (line 129) | struct ContextState { type InitState (line 134) | enum InitState { type HidApi (line 152) | pub struct HidApi { method new (line 161) | pub fn new() -> HidResult { method disable_device_discovery (line 210) | pub fn disable_device_discovery() { method new_without_enumerate (line 232) | pub fn new_without_enumerate() -> HidResult { method refresh_devices (line 240) | pub fn refresh_devices(&mut self) -> HidResult<()> { method reset_devices (line 247) | pub fn reset_devices(&mut self) -> HidResult<()> { method add_devices (line 254) | pub fn add_devices(&mut self, vid: u16, pid: u16) -> HidResult<()> { method device_list (line 262) | pub fn device_list(&self) -> impl Iterator { method open (line 271) | pub fn open(&self, vid: u16, pid: u16) -> HidResult { method open_serial (line 278) | pub fn open_serial(&self, vid: u16, pid: u16, sn: &str) -> HidResult HidResult { method wrap_sys_device (line 293) | pub fn wrap_sys_device(&self, sys_dev: isize, interface_num: i32) -> H... method check_error (line 317) | pub fn check_error(&self) -> HidResult { type WcharString (line 324) | enum WcharString { function from (line 332) | fn from(val: WcharString) -> Self { type BusType (line 343) | pub enum BusType { type DeviceInfo (line 357) | pub struct DeviceInfo { method path (line 374) | pub fn path(&self) -> &CStr { method vendor_id (line 378) | pub fn vendor_id(&self) -> u16 { method product_id (line 382) | pub fn product_id(&self) -> u16 { method serial_number (line 387) | pub fn serial_number(&self) -> Option<&str> { method serial_number_raw (line 394) | pub fn serial_number_raw(&self) -> Option<&[wchar_t]> { method release_number (line 401) | pub fn release_number(&self) -> u16 { method manufacturer_string (line 406) | pub fn manufacturer_string(&self) -> Option<&str> { method manufacturer_string_raw (line 413) | pub fn manufacturer_string_raw(&self) -> Option<&[wchar_t]> { method product_string (line 421) | pub fn product_string(&self) -> Option<&str> { method product_string_raw (line 428) | pub fn product_string_raw(&self) -> Option<&[wchar_t]> { method usage_page (line 437) | pub fn usage_page(&self) -> u16 { method usage (line 443) | pub fn usage(&self) -> u16 { method interface_number (line 447) | pub fn interface_number(&self) -> i32 { method bus_type (line 451) | pub fn bus_type(&self) -> BusType { method open_device (line 464) | pub fn open_device(&self, hidapi: &HidApi) -> HidResult { method fmt (line 478) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type HidDeviceBackendBase (line 487) | trait HidDeviceBackendBase { method check_error (line 489) | fn check_error(&self) -> HidResult; method write (line 490) | fn write(&self, data: &[u8]) -> HidResult; method read (line 491) | fn read(&self, buf: &mut [u8]) -> HidResult; method read_timeout (line 492) | fn read_timeout(&self, buf: &mut [u8], timeout: i32) -> HidResult; method send_feature_report (line 493) | fn send_feature_report(&self, data: &[u8]) -> HidResult<()>; method get_feature_report (line 494) | fn get_feature_report(&self, buf: &mut [u8]) -> HidResult; method send_output_report (line 495) | fn send_output_report(&self, data: &[u8]) -> HidResult<()>; method get_input_report (line 497) | fn get_input_report(&self, data: &mut [u8]) -> HidResult; method set_blocking_mode (line 498) | fn set_blocking_mode(&self, blocking: bool) -> HidResult<()>; method get_device_info (line 499) | fn get_device_info(&self) -> HidResult; method get_manufacturer_string (line 500) | fn get_manufacturer_string(&self) -> HidResult>; method get_product_string (line 501) | fn get_product_string(&self) -> HidResult>; method get_serial_number_string (line 502) | fn get_serial_number_string(&self) -> HidResult>; method get_report_descriptor (line 503) | fn get_report_descriptor(&self, buf: &mut [u8]) -> HidResult; method get_indexed_string (line 505) | fn get_indexed_string(&self, _index: i32) -> HidResult> { type HidDevice (line 512) | pub struct HidDevice { method from_backend (line 523) | fn from_backend(inner: Box) -> Self { method check_error (line 539) | pub fn check_error(&self) -> HidResult { method write (line 559) | pub fn write(&self, data: &[u8]) -> HidResult { method read (line 570) | pub fn read(&self, buf: &mut [u8]) -> HidResult { method read_timeout (line 582) | pub fn read_timeout(&self, buf: &mut [u8], timeout: i32) -> HidResult<... method send_feature_report (line 598) | pub fn send_feature_report(&self, data: &[u8]) -> HidResult<()> { method get_feature_report (line 610) | pub fn get_feature_report(&self, buf: &mut [u8]) -> HidResult { method send_output_report (line 627) | pub fn send_output_report(&self, data: &[u8]) -> HidResult<()> { method get_input_report (line 640) | pub fn get_input_report(&self, data: &mut [u8]) -> HidResult { method set_blocking_mode (line 649) | pub fn set_blocking_mode(&self, blocking: bool) -> HidResult<()> { method get_manufacturer_string (line 654) | pub fn get_manufacturer_string(&self) -> HidResult> { method get_product_string (line 659) | pub fn get_product_string(&self) -> HidResult> { method get_serial_number_string (line 664) | pub fn get_serial_number_string(&self) -> HidResult> { method get_indexed_string (line 669) | pub fn get_indexed_string(&self, index: i32) -> HidResult HidResult { method get_device_info (line 684) | pub fn get_device_info(&self) -> HidResult { method fmt (line 517) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { FILE: src/linux_native.rs constant BUS_USB (line 35) | const BUS_USB: u16 = 0x03; constant BUS_BLUETOOTH (line 36) | const BUS_BLUETOOTH: u16 = 0x05; constant BUS_I2C (line 37) | const BUS_I2C: u16 = 0x18; constant BUS_SPI (line 38) | const BUS_SPI: u16 = 0x1C; type HidApiBackend (line 40) | pub struct HidApiBackend; method get_hid_device_info_vector (line 43) | pub fn get_hid_device_info_vector(vid: u16, pid: u16) -> HidResult HidResult { method open_serial (line 70) | pub fn open_serial(vid: u16, pid: u16, sn: &str) -> HidResult HidResult { function device_to_hid_device_info (line 79) | fn device_to_hid_device_info(raw_device: &udev::Device) -> Option... type HidrawReportDescriptor (line 198) | struct HidrawReportDescriptor(Vec); method from_syspath (line 202) | pub fn from_syspath(syspath: &Path) -> HidResult { method from_slice (line 216) | pub fn from_slice(value: &[u8]) -> HidResult { method usages (line 220) | pub fn usages(&self) -> impl Iterator + '_ { type UsageIterator (line 229) | struct UsageIterator<'a> { type Item (line 235) | type Item = (u16, u16); method next (line 237) | fn next(&mut self) -> Option { function next_hid_usage (line 247) | fn next_hid_usage(cursor: &mut Cursor<&Vec>, mut usage_page: u16) ->... function hid_item_size (line 318) | fn hid_item_size(key: u8, cursor: &mut Cursor<&Vec>) -> Option<(usiz... function hid_report_bytes (line 340) | fn hid_report_bytes(cursor: &mut Cursor<&Vec>, num_bytes: usize) -> ... function attribute_as_wchar (line 348) | fn attribute_as_wchar(dev: &udev::Device, attr: &str) -> WcharString { function attribute_as_i32 (line 358) | fn attribute_as_i32(dev: &udev::Device, attr: &str) -> Option { function attribute_as_u16 (line 367) | fn attribute_as_u16(dev: &udev::Device, attr: &str) -> Option { function osstring_to_string (line 374) | fn osstring_to_string(s: OsString) -> WcharString { function parse_hid_vid_pid (line 403) | fn parse_hid_vid_pid(s: &str) -> Option<(u16, u16, u16)> { type HidDevice (line 413) | pub struct HidDevice { method open (line 423) | pub(crate) fn open(vid: u16, pid: u16, sn: Option<&str>) -> HidResult<... method open_path (line 442) | pub(crate) fn open_path(device_path: &CStr) -> HidResult { method info (line 473) | fn info(&self) -> HidResult> { method as_fd (line 485) | fn as_fd(&self) -> BorrowedFd<'_> { method write (line 491) | fn write(&self, data: &[u8]) -> HidResult { method read (line 499) | fn read(&self, buf: &mut [u8]) -> HidResult { method read_timeout (line 505) | fn read_timeout(&self, buf: &mut [u8], timeout: i32) -> HidResult { method send_feature_report (line 534) | fn send_feature_report(&self, data: &[u8]) -> HidResult<()> { method get_feature_report (line 558) | fn get_feature_report(&self, buf: &mut [u8]) -> HidResult { method send_output_report (line 571) | fn send_output_report(&self, buf: &[u8]) -> HidResult<()> { method get_input_report (line 591) | fn get_input_report(&self, data: &mut [u8]) -> HidResult { method set_blocking_mode (line 600) | fn set_blocking_mode(&self, blocking: bool) -> HidResult<()> { method get_manufacturer_string (line 605) | fn get_manufacturer_string(&self) -> HidResult> { method get_product_string (line 610) | fn get_product_string(&self) -> HidResult> { method get_serial_number_string (line 615) | fn get_serial_number_string(&self) -> HidResult> { method get_device_info (line 620) | fn get_device_info(&self) -> HidResult { method get_report_descriptor (line 637) | fn get_report_descriptor(&self, buf: &mut [u8]) -> HidResult { function test_parse_hid_vid_pid (line 653) | fn test_parse_hid_vid_pid() { function test_hidraw_report_descriptor_1 (line 660) | fn test_hidraw_report_descriptor_1() { function test_hidraw_report_descriptor_2 (line 669) | fn test_hidraw_report_descriptor_2() { function invalid_string_conversion (line 679) | fn invalid_string_conversion() { FILE: src/linux_native/ioctl.rs constant HIDRAW_IOC_MAGIC (line 6) | const HIDRAW_IOC_MAGIC: u8 = b'H'; constant HIDRAW_IOC_GRDESCSIZE (line 7) | const HIDRAW_IOC_GRDESCSIZE: u8 = 0x01; constant HIDRAW_SET_FEATURE (line 8) | const HIDRAW_SET_FEATURE: u8 = 0x06; constant HIDRAW_GET_FEATURE (line 9) | const HIDRAW_GET_FEATURE: u8 = 0x07; constant HIDRAW_SET_OUTPUT (line 10) | const HIDRAW_SET_OUTPUT: u8 = 0x0b; constant HIDRAW_GET_INPUT (line 11) | const HIDRAW_GET_INPUT: u8 = 0x0a; FILE: src/macos.rs method set_open_exclusive (line 14) | pub fn set_open_exclusive(&self, exclusive: bool) { method get_open_exclusive (line 19) | pub fn get_open_exclusive(&self) -> bool { method get_location_id (line 26) | pub fn get_location_id(&self) -> HidResult { method is_open_exclusive (line 31) | pub fn is_open_exclusive(&self) -> HidResult { FILE: src/windows.rs method get_container_id (line 10) | pub fn get_container_id(&self) -> HidResult { FILE: src/windows_native/descriptor/encoder.rs function encode_descriptor (line 6) | pub fn encode_descriptor( type DescriptorWriter (line 394) | struct DescriptorWriter(Vec); method write (line 398) | fn write(&mut self, item: Items, data: impl Into) -> WinResult<()> { method finish (line 439) | fn finish(self) -> Vec { FILE: src/windows_native/descriptor/mod.rs function get_descriptor (line 19) | pub fn get_descriptor(pp_data: &PreparsedData) -> WinResult> { function get_descriptor_ptr (line 23) | unsafe fn get_descriptor_ptr(pp_data: *const c_void) -> WinResult( function reconstruct_descriptor (line 61) | fn reconstruct_descriptor( function search_list (line 623) | fn search_list( FILE: src/windows_native/descriptor/tests.rs function test_01 (line 5) | fn test_01() { function test_02 (line 9) | fn test_02() { function test_03 (line 13) | fn test_03() { function test_04 (line 17) | fn test_04() { function test_05 (line 21) | fn test_05() { function test_06 (line 25) | fn test_06() { function test_07 (line 29) | fn test_07() { function test_08 (line 33) | fn test_08() { function test_09 (line 37) | fn test_09() { function test_10 (line 41) | fn test_10() { function test_11 (line 45) | fn test_11() { function test_12 (line 49) | fn test_12() { function test_13 (line 53) | fn test_13() { function test_14 (line 57) | fn test_14() { function test_15 (line 61) | fn test_15() { function test_16 (line 65) | fn test_16() { function test_17 (line 69) | fn test_17() { function test_18 (line 73) | fn test_18() { function test_19 (line 77) | fn test_19() { function test_20 (line 81) | fn test_20() { function test_21 (line 85) | fn test_21() { function test_22 (line 89) | fn test_22() { function test_23 (line 93) | fn test_23() { function test_24 (line 97) | fn test_24() { function execute_testcase (line 101) | fn execute_testcase(filename: &str) { function decode_hex (line 111) | fn decode_hex(hex: &str) -> Vec { FILE: src/windows_native/descriptor/typedefs.rs type Usage (line 19) | pub type Usage = u16; type LinkCollectionNode (line 24) | pub struct LinkCollectionNode { method is_alias (line 35) | pub fn is_alias(&self) -> bool { method collection_type (line 38) | pub fn collection_type(&self) -> u8 { type CapsInfo (line 46) | pub struct CapsInfo { type UnknownToken (line 56) | pub struct UnknownToken { type Button (line 64) | pub struct Button { type NotButton (line 71) | pub struct NotButton { type Range (line 89) | pub struct Range { type NotRange (line 102) | pub struct NotRange { type Caps (line 123) | pub struct Caps { method is_button_cap (line 146) | pub fn is_button_cap(&self) -> bool { method is_range (line 149) | pub fn is_range(&self) -> bool { method is_alias (line 152) | pub fn is_alias(&self) -> bool { method is_string_range (line 155) | pub fn is_string_range(&self) -> bool { method is_designator_range (line 158) | pub fn is_designator_range(&self) -> bool { method range (line 162) | pub fn range(&self) -> Range { method not_range (line 167) | pub fn not_range(&self) -> NotRange { method button (line 172) | pub fn button(&self) -> Button { method not_button (line 177) | pub fn not_button(&self) -> NotButton { method get_bit_range (line 182) | pub fn get_bit_range(&self) -> BitRange { type HidpPreparsedData (line 194) | pub struct HidpPreparsedData { FILE: src/windows_native/descriptor/types.rs type ReportType (line 7) | pub enum ReportType { method values (line 13) | pub const fn values() -> impl IntoIterator { type Error (line 74) | type Error = (); method try_from (line 76) | fn try_from(value: MainItems) -> Result { type Items (line 20) | pub enum Items { type MainItems (line 52) | pub enum MainItems { method from (line 64) | fn from(value: ReportType) -> Self { type BitRange (line 87) | pub struct BitRange { method merge (line 93) | pub fn merge(self, other: BitRange) -> BitRange { type ItemNodeType (line 102) | pub enum ItemNodeType { type MainItemNode (line 109) | pub struct MainItemNode { method new (line 120) | pub fn new( FILE: src/windows_native/dev_node.rs type DevNode (line 12) | pub struct DevNode(u32); method from_device_id (line 15) | pub fn from_device_id(device_id: &U16Str) -> WinResult { method parent (line 23) | pub fn parent(self) -> WinResult { method get_property_size (line 30) | fn get_property_size( method get_property (line 54) | pub fn get_property(self, property_key: impl Proper... FILE: src/windows_native/device_info.rs constant PKEY_DeviceInterface_Bluetooth_DeviceAddress (line 23) | const PKEY_DeviceInterface_Bluetooth_DeviceAddress: PROPERTYKEY = PROPER... constant PKEY_DeviceInterface_Bluetooth_Manufacturer (line 28) | const PKEY_DeviceInterface_Bluetooth_Manufacturer: PROPERTYKEY = PROPERT... constant PKEY_DeviceInterface_Bluetooth_ModelNumber (line 33) | const PKEY_DeviceInterface_Bluetooth_ModelNumber: PROPERTYKEY = PROPERTY... function read_string (line 38) | fn read_string( function get_device_info (line 61) | pub fn get_device_info(path: &U16Str, handle: &Handle) -> DeviceInfo { function get_internal_info (line 85) | fn get_internal_info(interface_path: &U16Str, dev: &mut DeviceInfo) -> W... function get_usb_info (line 125) | fn get_usb_info(dev: &mut DeviceInfo, mut dev_node: DevNode) -> WinResul... function get_ble_info (line 202) | fn get_ble_info(dev: &mut DeviceInfo, dev_node: DevNode) -> WinResult<()> { function extract_int_token_value (line 236) | fn extract_int_token_value(u16str: &U16Str, token: &str) -> Option { FILE: src/windows_native/error.rs type WinResult (line 5) | pub type WinResult = Result; type WinError (line 8) | pub enum WinError { method last (line 22) | pub fn last() -> Self { method from (line 90) | fn from(value: Win32Error) -> Self { method from (line 28) | fn from(value: WinError) -> Self { function config_to_error (line 40) | fn config_to_error(ret: CONFIGRET) -> WinError { function check_config (line 50) | pub fn check_config(ret: CONFIGRET, expected: CONFIGRET) -> WinResult<()> { function check_boolean (line 58) | pub fn check_boolean(ret: bool) -> WinResult<()> { type Win32Error (line 67) | pub enum Win32Error { method last (line 75) | pub fn last() -> Self { method from (line 99) | fn from(value: Win32Error) -> Self { FILE: src/windows_native/hid.rs function get_interface_guid (line 11) | pub fn get_interface_guid() -> GUID { function get_hid_attributes (line 19) | pub fn get_hid_attributes(handle: &Handle) -> HIDD_ATTRIBUTES { type PreparsedData (line 31) | pub struct PreparsedData(isize); method load (line 42) | pub fn load(handle: &Handle) -> WinResult { method as_ptr (line 50) | pub fn as_ptr(&self) -> *const c_void { method get_caps (line 54) | pub fn get_caps(&self) -> WinResult { method drop (line 34) | fn drop(&mut self) { FILE: src/windows_native/interfaces.rs type Interface (line 13) | pub struct Interface; method get_property_size (line 16) | fn get_property_size( method get_property (line 40) | pub fn get_property( method get_interface_list_length (line 64) | fn get_interface_list_length(interface: GUID) -> WinResult { method get_interface_list (line 78) | pub fn get_interface_list() -> WinResult { FILE: src/windows_native/mod.rs constant STRING_BUF_LEN (line 51) | const STRING_BUF_LEN: usize = 128; type HidApiBackend (line 53) | pub struct HidApiBackend; method get_hid_device_info_vector (line 55) | pub fn get_hid_device_info_vector(vid: u16, pid: u16) -> HidResult HidResult { method open_serial (line 63) | pub fn open_serial(vid: u16, pid: u16, sn: &str) -> HidResult HidResult { type HidDevice (line 73) | pub struct HidDevice { type AsyncState (line 85) | struct AsyncState { method new (line 91) | fn new(report_size: usize) -> Self { method clear_buffer (line 98) | fn clear_buffer(&mut self) { method fill_buffer (line 102) | fn fill_buffer(&mut self, data: &[u8]) { method buffer_len (line 116) | fn buffer_len(&self) -> usize { method buffer_ptr (line 120) | fn buffer_ptr(&mut self) -> *mut u8 { method fmt (line 126) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method write (line 132) | fn write(&self, data: &[u8]) -> HidResult { method read (line 158) | fn read(&self, buf: &mut [u8]) -> HidResult { method read_timeout (line 162) | fn read_timeout(&self, buf: &mut [u8], timeout: i32) -> HidResult { method send_feature_report (line 228) | fn send_feature_report(&self, data: &[u8]) -> HidResult<()> { method get_feature_report (line 247) | fn get_feature_report(&self, buf: &mut [u8]) -> HidResult { method send_output_report (line 281) | fn send_output_report(&self, data: &[u8]) -> HidResult<()> { method set_blocking_mode (line 297) | fn set_blocking_mode(&self, blocking: bool) -> HidResult<()> { method get_manufacturer_string (line 302) | fn get_manufacturer_string(&self) -> HidResult> { method get_product_string (line 306) | fn get_product_string(&self) -> HidResult> { method get_serial_number_string (line 310) | fn get_serial_number_string(&self) -> HidResult> { method get_indexed_string (line 314) | fn get_indexed_string(&self, index: i32) -> HidResult> { method get_device_info (line 328) | fn get_device_info(&self) -> HidResult { method get_report_descriptor (line 332) | fn get_report_descriptor(&self, buf: &mut [u8]) -> HidResult { method get_container_id (line 341) | fn get_container_id(&self) -> HidResult { method drop (line 354) | fn drop(&mut self) { function enumerate_devices (line 370) | fn enumerate_devices(vendor_id: u16, product_id: u16) -> WinResult WinResult { function open (line 405) | fn open(vid: u16, pid: u16, sn: Option<&str>) -> HidResult { function open_path (line 414) | fn open_path(device_path: &CStr) -> HidResult { FILE: src/windows_native/string.rs type U16Str (line 15) | pub struct U16Str([u16]); method from_slice_unsafe (line 18) | unsafe fn from_slice_unsafe(slice: &[u16]) -> &Self { method from_slice_mut_unsafe (line 23) | unsafe fn from_slice_mut_unsafe(slice: &mut [u16]) -> &mut Self { method from_slice (line 28) | pub fn from_slice(slice: &[u16]) -> &Self { method from_slice_mut (line 41) | pub fn from_slice_mut(slice: &mut [u16]) -> &mut Self { method from_slice_list (line 54) | pub fn from_slice_list(slice: &[u16]) -> impl Iterator { method from_slice_list_mut (line 58) | pub fn from_slice_list_mut(slice: &mut [u16]) -> impl Iterator PCWSTR { method as_slice (line 66) | pub fn as_slice(&self) -> &[u16] { method as_slice_mut (line 69) | pub fn as_slice_mut(&mut self) -> &mut [u16] { method make_uppercase_ascii (line 74) | pub fn make_uppercase_ascii(&mut self) { method starts_with_ignore_case (line 82) | pub fn starts_with_ignore_case(&self, pattern: &str) -> bool { method find_index (line 89) | pub fn find_index(&self, pattern: &str) -> Option { method to_string (line 105) | fn to_string(&self) -> String { method from (line 111) | fn from(value: &U16Str) -> Self { method fmt (line 119) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { type U16String (line 127) | pub struct U16String(Vec); type Error (line 150) | type Error = Utf8Error; method try_from (line 152) | fn try_from(value: &CStr) -> Result { method fmt (line 130) | fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { type Target (line 136) | type Target = U16Str; method deref (line 138) | fn deref(&self) -> &Self::Target { method deref_mut (line 144) | fn deref_mut(&mut self) -> &mut Self::Target { method from (line 160) | fn from(value: U16String) -> Self { constant TYPE (line 166) | const TYPE: DEVPROPTYPE = DEVPROP_TYPE_STRING; method create_sized (line 168) | fn create_sized(bytes: usize) -> Self { method as_ptr_mut (line 173) | fn as_ptr_mut(&mut self) -> *mut u8 { method validate (line 177) | fn validate(&self) { type U16StringList (line 190) | pub struct U16StringList(pub Vec); method iter (line 213) | pub fn iter(&self) -> impl Iterator { method iter_mut (line 216) | pub fn iter_mut(&mut self) -> impl Iterator { constant TYPE (line 193) | const TYPE: DEVPROPTYPE = DEVPROP_TYPE_STRING_LIST; method create_sized (line 195) | fn create_sized(bytes: usize) -> Self { method as_ptr_mut (line 200) | fn as_ptr_mut(&mut self) -> *mut u8 { method validate (line 204) | fn validate(&self) { function is_null (line 221) | fn is_null(c: &u16) -> bool { FILE: src/windows_native/types.rs type DeviceProperty (line 14) | pub unsafe trait DeviceProperty { constant TYPE (line 15) | const TYPE: DEVPROPTYPE; method create_sized (line 16) | fn create_sized(bytes: usize) -> Self; method as_ptr_mut (line 17) | fn as_ptr_mut(&mut self) -> *mut u8; method validate (line 18) | fn validate(&self) {} constant TYPE (line 22) | const TYPE: DEVPROPTYPE = DEVPROP_TYPE_GUID; method create_sized (line 24) | fn create_sized(bytes: usize) -> Self { method as_ptr_mut (line 29) | fn as_ptr_mut(&mut self) -> *mut u8 { type PropertyKey (line 34) | pub trait PropertyKey: Copy { method as_ptr (line 35) | fn as_ptr(&self) -> *const DEVPROPKEY; method as_ptr (line 39) | fn as_ptr(&self) -> *const DEVPROPKEY { method as_ptr (line 45) | fn as_ptr(&self) -> *const DEVPROPKEY { type InternalBusType (line 51) | pub enum InternalBusType { method from (line 61) | fn from(value: InternalBusType) -> Self { type Handle (line 73) | pub struct Handle(HANDLE); method from_raw (line 76) | pub fn from_raw(handle: HANDLE) -> Self { method as_raw (line 79) | pub fn as_raw(&self) -> HANDLE { method drop (line 85) | fn drop(&mut self) { type Overlapped (line 95) | pub struct Overlapped(OVERLAPPED); method event_handle (line 98) | pub fn event_handle(&self) -> HANDLE { method as_raw (line 101) | pub fn as_raw(&mut self) -> *mut OVERLAPPED { method get_result (line 105) | pub fn get_result(&mut self, handle: &Handle, timeout: Option) ->... method default (line 124) | fn default() -> Self { method drop (line 136) | fn drop(&mut self) { FILE: src/windows_native/utils.rs type PeakIterExt (line 1) | pub trait PeakIterExt { method peaking (line 2) | fn peaking(self) -> PeakingIter; method peaking (line 6) | fn peaking(mut self) -> PeakingIter { type PeakingIter (line 14) | pub struct PeakingIter { type Item (line 20) | type Item = (I::Item, Option); method next (line 22) | fn next(&mut self) -> Option {