mirror of
git://git.proxmox.com/git/pxar.git
synced 2025-01-10 09:17:40 +03:00
d51db63953
Mark the end of the optional payload stream, this makes sure that at least some bytes are written to the stream (as empty archives are not allowed by the proxmox backup server) and possible injected chunks must be consumed. Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
79 lines
2.3 KiB
Rust
79 lines
2.3 KiB
Rust
use pxar::format::hash_filename;
|
|
|
|
const CONSTANTS: &[(&str, &str, &str)] = &[
|
|
(
|
|
"Beginning of an entry (current version).",
|
|
"PXAR_ENTRY",
|
|
"__PROXMOX_FORMAT_ENTRY_V2__",
|
|
),
|
|
(
|
|
"Previous version of the entry struct",
|
|
"PXAR_ENTRY_V1",
|
|
"__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 beginning of the payload (actual content) of regular files",
|
|
"PXAR_PAYLOAD",
|
|
"__PROXMOX_FORMAT_PXAR_PAYLOAD__",
|
|
),
|
|
(
|
|
"Marks the beginning of a payload reference for regular files",
|
|
"PXAR_PAYLOAD_REF",
|
|
"__PROXMOX_FORMAT_PXAR_PAYLOAD_REF__",
|
|
),
|
|
(
|
|
"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__",
|
|
),
|
|
(
|
|
"The end marker used in the separate payload stream",
|
|
"PXAR_PAYLOAD_TAIL_MARKER",
|
|
"__PROXMOX_FORMAT_PXAR_PAYLOAD_TAIL_MARKER__",
|
|
),
|
|
];
|
|
|
|
fn main() {
|
|
println!("// Generated by `cargo run --example mk-format-hashes`");
|
|
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()),
|
|
)
|
|
}
|
|
}
|