X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=nss%2Ffile.h;h=fb94a8f2017d29c242d484dee4c87a7bce945f81;hb=06dfc130f0f152ef11c3113f7237e822b3e45b5b;hp=539d219f6b8b5c17d856600c32a6cbda0674b1c2;hpb=8d862d90f3530d340ef2b3f50973a8abcf9edf99;p=nsscash%2Fnsscash.git diff --git a/nss/file.h b/nss/file.h index 539d219..fb94a8f 100644 --- a/nss/file.h +++ b/nss/file.h @@ -25,6 +25,8 @@ #include +// Magic value at the beginning of each nsscash file (8 byte, without the +// trailing NUL) #define MAGIC "NSS-CASH" // Defined in Makefile @@ -36,11 +38,13 @@ #endif +// header describes the on-disk (and, after loading via mmap, in-memory) +// structure of nsscash files. struct header { char magic[8]; // magic string uint64_t version; // also doubles as byte-order check - uint64_t count; + uint64_t count; // number of entries in this file // All offsets are relative to data uint64_t off_orig_index; @@ -51,12 +55,13 @@ struct header { char data[]; } __attribute__((packed)); +// file represents an open nsscash file. struct file { int fd; size_t size; - uint64_t next_index; // used by getpwent (pw.c) const struct header *header; + uint64_t next_index; // used by getpwent (pw.c) }; bool map_file(const char *path, struct file *f) __attribute__((visibility("hidden")));