]> git.proxmox.com Git - pxar.git/blob - examples/mk-format-hashes.rs
formatting fixup
[pxar.git] / examples / mk-format-hashes.rs
1 use pxar::format::hash_filename;
2
3 const CONSTANTS: &[(&str, &str, &str)] = &[
4 ("", "PXAR_ENTRY", "__PROXMOX_FORMAT_ENTRY__"),
5 ("", "PXAR_FILENAME", "__PROXMOX_FORMAT_FILENAME__"),
6 ("", "PXAR_SYMLINK", "__PROXMOX_FORMAT_SYMLINK__"),
7 ("", "PXAR_DEVICE", "__PROXMOX_FORMAT_DEVICE__"),
8 ("", "PXAR_XATTR", "__PROXMOX_FORMAT_XATTR__"),
9 ("", "PXAR_ACL_USER", "__PROXMOX_FORMAT_ACL_USER__"),
10 ("", "PXAR_ACL_GROUP", "__PROXMOX_FORMAT_ACL_GROUP__"),
11 ("", "PXAR_ACL_GROUP_OBJ", "__PROXMOX_FORMAT_ACL_GROUP_OBJ__"),
12 ("", "PXAR_ACL_DEFAULT", "__PROXMOX_FORMAT_ACL_DEFAULT__"),
13 (
14 "",
15 "PXAR_ACL_DEFAULT_USER",
16 "__PROXMOX_FORMAT_ACL_DEFAULT_USER__",
17 ),
18 (
19 "",
20 "PXAR_ACL_DEFAULT_GROUP",
21 "__PROXMOX_FORMAT_ACL_DEFAULT_GROUP__",
22 ),
23 ("", "PXAR_FCAPS", "__PROXMOX_FORMAT_FCAPS__"),
24 ("", "PXAR_QUOTA_PROJID", "__PROXMOX_FORMAT_QUOTA_PROJID__"),
25 (
26 "Marks item as hardlink",
27 "PXAR_HARDLINK",
28 "__PROXMOX_FORMAT_HARDLINK__",
29 ),
30 (
31 "Marks the beginnig of the payload (actual content) of regular files",
32 "PXAR_PAYLOAD",
33 "__PROXMOX_FORMAT_PXAR_PAYLOAD__",
34 ),
35 (
36 "Marks item as entry of goodbye table",
37 "PXAR_GOODBYE",
38 "__PROXMOX_FORMAT_GOODBYE__",
39 ),
40 (
41 "The end marker used in the GOODBYE object",
42 "PXAR_GOODBYE_TAIL_MARKER",
43 "__PROXMOX_FORMAT_PXAR_GOODBYE_TAIL_MARKER__",
44 ),
45 ];
46
47 fn main() {
48 for constant in CONSTANTS {
49 if !constant.0.is_empty() {
50 println!("/// {}", constant.0);
51 }
52 println!(
53 "pub const {}: u64 = 0x{:016x};",
54 constant.1,
55 hash_filename(constant.2.as_bytes()),
56 )
57 }
58 }