#systemd #uuid #api-bindings #linux #id128

sd-id128

libsystemd中实现的sd-id128的包装器

5个版本 (2个稳定版本)

1.0.1 2021年2月13日
1.0.0 2021年2月11日
0.1.2 2021年2月8日
0.1.1 2021年1月1日
0.1.0 2021年1月1日

#400 in Unix APIs

Download history 17/week @ 2024-04-01 13/week @ 2024-04-08 3/week @ 2024-04-15 11/week @ 2024-05-27 4/week @ 2024-06-03 14/week @ 2024-06-10 4/week @ 2024-06-24 52/week @ 2024-07-01

每月70次下载
2个crate中使用(通过sd-journal

AGPL-3.0

32KB
288 行代码

sd-id128

GitHub release (latest by date) Crates.io docs.rs GitHub Workflow Status buy me a coffee donate@paypal

sd-id128 是 systemd API 中 libsystemd 的 sd-id128 的 Rust 包装器。sd-id128 是 systemd.rs 项目的一部分。

简介

功能

此库是针对最新版本的 systemd 开发的。遗憾的是,并非所有系统都更新到这个版本。可以通过功能来掌握兼容性。每个功能都按相应的 systemd 版本命名。目前存在以下功能

  • 240: 2019年1月12日
  • 233: 2017年3月12日

所有功能都在默认功能集中。如果需要,必须关闭默认功能。功能是堆叠的:如果您选择功能240,您将获得包含233的功能。

cargo.toml

默认,包含最新版本 libsystemd 的所有功能

[dependencies]
sd-id128 = "1.0"

支持240+版本/带有233和240功能

[dependencies]
sd-id128 = {default-features=false, version="1.0", features=["240"]}

支持低于233的版本

[dependencies]
sd-id128 = {default-features=false, version="1.0"}

示例

use sd_id128::{Case, Format, ID128};
let id128 = ID128::boot_id().unwrap();
println!("The boot id in RFC format is: {}", id128);
println!("The boot id in libsystemd format is: {}",
         id128.to_string_formatted(Format::LibSystemD, Case::Lower));

版本历史

从1.0版本开始,此库使用语义版本。

  • 01.01.2021 v0.1.0
    • 初始版本
  • 01.01.2021 v0.1.1
    • 修复文档错误
  • 08.02.2021 v0.1.2
    • 项目仓库从gitlab移动到github
    • 文档的微小改进
  • 11.02.2021 v1.0.0
    • 引入功能
    • 扩展文档
  • 13.02.2021 v1.0.1
    • sd-sys的依赖性提升到1.0.0

待办事项

  • 实现Serde作为功能
  • 检查特性完整性
    • [ ] Ord
    • [ ] PartialOrd
    • Hash
  • 检查转换完整性
    • AsRef
    • AsMut
  • 用示例改进文档
  • 扩展测试
  • [ ] 设置基准测试

许可证

sd-id128 根据 AGPL-3.0 发布,根据要求可授予个别许可证。

sd-id128: a wrapper for sd-id128 of libsystemd
Copyright (C) 2020 Christian Klaue [mail@ck76.de]

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

依赖关系

~76KB