#![cfg_attr(all(not(doc), not(has_unwind), not(target_arch = "wasm32")), no_std)]
#![warn(missing_docs)]
#[cfg(all(not(doc), not(has_unwind), not(target_arch = "wasm32")))]
use core::panic::PanicInfo;
#[cfg(all(not(doc), not(has_unwind), not(target_arch = "wasm32")))]
#[panic_handler]
fn panic_handler(_info: &PanicInfo) -> ! {
loop {}
}
include!(concat!(env!("OUT_DIR"), "/pool_config.rs"));
#[cfg(all(
target_arch = "wasm32",
any(feature = "wasm-client", feature = "wasm-server")
))]
mod wasm;
#[cfg(all(target_arch = "wasm32", feature = "wasm-client"))]
pub use wasm::{WasmModbusClient, WasmWsTransport};
#[cfg(all(target_arch = "wasm32", feature = "wasm-client"))]
pub use wasm::{
ModbusErrorCode, WasmAsciiTransport, WasmRtuTransport, WasmSerialModbusClient,
WasmSerialPortHandle, get_modbus_error_code, request_serial_port,
};
#[cfg(all(target_arch = "wasm32", feature = "wasm-server"))]
pub use wasm::{
WasmSerialServer, WasmSerialServerOptions, WasmServerTransportKind, WasmTcpServer,
WasmTcpServerOptions,
};
#[allow(missing_docs)]
#[cfg(any(
feature = "c-client",
feature = "c-server",
feature = "c-gateway",
feature = "dotnet",
feature = "go",
))]
pub mod c;
#[cfg(any(feature = "python-client", feature = "python-server"))]
#[allow(missing_docs)]
pub mod python;
#[cfg(all(feature = "dotnet", not(target_arch = "wasm32")))]
#[allow(missing_docs)]
pub mod dotnet;
#[cfg(all(feature = "go", not(target_arch = "wasm32")))]
#[allow(missing_docs)]
pub mod go;
#[cfg(all(
any(
feature = "nodejs-client",
feature = "nodejs-server",
feature = "nodejs-gateway"
),
not(target_arch = "wasm32")
))]
#[allow(missing_docs)]
pub mod nodejs;