10 releases
Uses old Rust 2015
| 0.2.1 | May 28, 2025 |
|---|---|
| 0.2.0 | Jul 4, 2024 |
| 0.1.4 | Apr 3, 2022 |
| 0.1.3 | Nov 18, 2018 |
| 0.0.1 | Jun 7, 2015 |
#31 in FFI
46,237 downloads per month
Used in 20 crates
(10 directly)
15KB
327 lines
Rust implementation of C's va_list type
Overview
This crate provides a rust VaListtype, which is binary-compatible for the C va_list type. It is intended to allow rust code to provide the complex logic of variable argument functions.
Example
extern crate va_list;
use va_list::VaList;
extern "C" print_ints_va(count: u32, mut args: VaList)
{
for i in (0 .. count) {
println!("{}: {}", i, args.get::<i32>());
}
}
Status
- x86_64 ELF (aka System-V)
- Linux: CI tested, and used in the wild
aarch64ELF: Minimal testing- Unix (not macos)
cdecl3232-bit: Minimal testing- Unix x86/arm32
- Windows
cdecl64-bit: CI tested- macos amd64
- Windows
- Unix riscv64
- unix
loongarch64
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.