25 个版本
使用旧的 Rust 2015
0.16.1 | 2024 年 7 月 25 日 |
---|---|
0.15.0 | 2024 年 4 月 9 日 |
0.14.0 | 2022 年 7 月 11 日 |
0.13.2 | 2019 年 5 月 27 日 |
0.0.1 | 2014 年 11 月 20 日 |
#51 in Rust 模式
每月 296,165 次下载
用于 1,526 个软件包 (96 直接)
48KB
688 行
rust-bitfield
此软件包提供宏以生成类似位字段的类结构体。
这是对 bitfield
软件包的完全重写。您可以在 rust-bitfield-legacy 仓库中找到先前版本。此版本在 rustc 的稳定版本上运行,并使用不同的语法和不同的可能性。
示例
IPv4 头部可以描述如下
bitfield!{
struct IpV4Header(MSB0 [u8]);
u32;
get_version, _: 3, 0;
get_ihl, _: 7, 4;
get_dscp, _: 13, 8;
get_ecn, _: 15, 14;
get_total_length, _: 31, 16;
get_identification, _: 47, 32;
get_df, _: 49;
get_mf, _: 50;
get_fragment_offset, _: 63, 51;
get_time_to_live, _: 71, 64;
get_protocol, _: 79, 72;
get_header_checksum, _: 95, 79;
get_source_address, _: 127, 96;
get_destination_address, _: 159, 128;
}
在此示例中,所有字段都是只读的,_ 作为设置器名称表示跳过设置器方法。最后的范围(例如 3, 0)定义了信息编码的位范围。
文档
已发布版本的文档可在 doc.rs 上找到。
许可证
许可方式如下
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 http://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则任何有意提交以包含在您的工作中的贡献,根据 Apache-2.0 许可证的定义,将如上双许可,而无需任何附加条款或条件。