readstat_iconv_sys/lib.rs
1//! Raw FFI bindings to [win-iconv](https://github.com/win-iconv/win-iconv) for Windows.
2//!
3//! win-iconv is a public-domain iconv implementation backed by the Win32
4//! conversion APIs. This crate compiles it from a vendored copy when targeting
5//! Windows and is a no-op on other platforms, so no LGPL code is statically
6//! linked. It exists primarily to support [`readstat-sys`](https://docs.rs/readstat-sys),
7//! which needs iconv for character encoding conversion in the `ReadStat` C library.
8//!
9//! Rust bindings are pre-generated per target and checked in under
10//! `src/bindings/`, so building requires no `libclang`. Maintainers regenerate
11//! them with `READSTAT_REGEN_BINDINGS=1 cargo build -p readstat-iconv-sys
12//! --features buildtime_bindgen`.
13
14// Auto-generated bindgen code — suppress lints from generated bindings
15#![allow(clippy::pedantic)]
16#![allow(clippy::missing_safety_doc)]
17#![allow(clippy::ptr_offset_with_cast)]
18#![allow(clippy::useless_transmute)]
19#![allow(clippy::redundant_static_lifetimes)]
20#![allow(dead_code)]
21#![allow(deref_nullptr)]
22#![allow(improper_ctypes)]
23#![allow(non_upper_case_globals)]
24#![allow(non_camel_case_types)]
25#![allow(non_snake_case)]
26
27// Only needed for Windows
28#[cfg(windows)]
29include!(concat!(env!("OUT_DIR"), "/bindings.rs"));