1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
//! # `CANLink` TSCan Sys
//! <a id="en"></a>
//! [English](#en) | [中文](#zh)
//!
//! Low-level, unsafe Rust FFI bindings to the `LibTSCAN` C API.
//!
//! ## Warning
//!
//! This crate exposes raw C functions. For a safe, high-level API, use
//! `canlink-tscan` instead.
//!
//! ## Platform
//!
//! Windows 10/11 x64 is validated. `LibTSCAN` runtime (`libTSCAN.dll` +
//! `libTSCAN.lib`) is required and is not distributed by this project.
//!
//! ## Basic Usage
//!
//! ```rust,no_run
//! use canlink_tscan_sys::*;
//! use std::ptr;
//!
//! unsafe {
//! initialize_lib_tscan(true, false, true);
//!
//! let mut device_count = 0;
//! tscan_scan_devices(&mut device_count);
//!
//! let mut handle = 0;
//! tscan_connect(ptr::null(), &mut handle);
//!
//! // ... use device ...
//!
//! tscan_disconnect_by_handle(handle);
//! finalize_lib_tscan();
//! }
//! ```
//!
//! ## Related Crates
//!
//! - [`canlink-hal`](https://docs.rs/canlink-hal) - HAL abstraction
//! - [`canlink-tscan`](https://docs.rs/canlink-tscan) - Safe `LibTSCAN` backend
//! - [`canlink-cli`](https://docs.rs/canlink-cli) - CLI tool
//!
//! <a id="zh"></a>
//! [中文](#zh) | [English](#en)
//!
//! `CANLink` TSCan Sys 提供 `LibTSCAN` C API 的底层 Rust FFI 绑定(不安全接口)。
//!
//! ## 警告
//!
//! 此 crate 直接暴露 C 函数。若需要安全、高层 API,请使用 `canlink-tscan`。
//!
//! ## 平台
//!
//! 当前仅在 Windows 10/11 x64 环境验证。需要 `LibTSCAN` 运行库
//! (`libTSCAN.dll` + `libTSCAN.lib`),且本项目不分发该运行库。
//!
//! ## 基础用法
//!
//! ```rust,no_run
//! use canlink_tscan_sys::*;
//! use std::ptr;
//!
//! unsafe {
//! initialize_lib_tscan(true, false, true);
//!
//! let mut device_count = 0;
//! tscan_scan_devices(&mut device_count);
//!
//! let mut handle = 0;
//! tscan_connect(ptr::null(), &mut handle);
//!
//! // ... 使用设备 ...
//!
//! tscan_disconnect_by_handle(handle);
//! finalize_lib_tscan();
//! }
//! ```
//!
//! ## 相关包
//!
//! - [`canlink-hal`](https://docs.rs/canlink-hal) - HAL 抽象层
//! - [`canlink-tscan`](https://docs.rs/canlink-tscan) - 安全的 `LibTSCAN` 后端
//! - [`canlink-cli`](https://docs.rs/canlink-cli) - 命令行工具
//!
// Re-export everything for convenience
pub use *;
pub use *;