5
0
mirror of git://git.proxmox.com/git/pxar.git synced 2025-02-01 13:47:00 +03:00
pxar/examples/mk-format-hashes.rs

44 lines
1.6 KiB
Rust
Raw Normal View History

use pxar::format::hash_filename;
const CONSTANTS: &[(&str, &str, &str)] = &[
("", "PXAR_ENTRY", "__PROXMOX_FORMAT_ENTRY__"),
("", "PXAR_FILENAME", "__PROXMOX_FORMAT_FILENAME__"),
("", "PXAR_SYMLINK", "__PROXMOX_FORMAT_SYMLINK__"),
("", "PXAR_DEVICE", "__PROXMOX_FORMAT_DEVICE__"),
("", "PXAR_XATTR", "__PROXMOX_FORMAT_XATTR__"),
("", "PXAR_ACL_USER", "__PROXMOX_FORMAT_ACL_USER__"),
("", "PXAR_ACL_GROUP", "__PROXMOX_FORMAT_ACL_GROUP__"),
("", "PXAR_ACL_GROUP_OBJ", "__PROXMOX_FORMAT_ACL_GROUP_OBJ__"),
("", "PXAR_ACL_DEFAULT", "__PROXMOX_FORMAT_ACL_DEFAULT__"),
("", "PXAR_ACL_DEFAULT_USER", "__PROXMOX_FORMAT_ACL_DEFAULT_USER__"),
("", "PXAR_ACL_DEFAULT_GROUP", "__PROXMOX_FORMAT_ACL_DEFAULT_GROUP__"),
("", "PXAR_FCAPS", "__PROXMOX_FORMAT_FCAPS__"),
("", "PXAR_QUOTA_PROJID", "__PROXMOX_FORMAT_QUOTA_PROJID__"),
("Marks item as hardlink", "PXAR_HARDLINK", "__PROXMOX_FORMAT_HARDLINK__"),
(
"Marks the beginnig of the payload (actual content) of regular files",
"PXAR_PAYLOAD",
"__PROXMOX_FORMAT_PXAR_PAYLOAD__",
),
("Marks item as entry of goodbye table", "PXAR_GOODBYE", "__PROXMOX_FORMAT_GOODBYE__"),
(
"The end marker used in the GOODBYE object",
"PXAR_GOODBYE_TAIL_MARKER",
"__PROXMOX_FORMAT_PXAR_GOODBYE_TAIL_MARKER__",
),
];
fn main() {
for constant in CONSTANTS {
if !constant.0.is_empty() {
println!("/// {}", constant.0);
}
println!(
"pub const {}: u64 = 0x{:016x};",
constant.1,
hash_filename(constant.2.as_bytes()),
)
}
}