]> ruderich.org/simon Gitweb - nsscash/nsscash.git/blobdiff - nss/file.h
Update copyright years
[nsscash/nsscash.git] / nss / file.h
index 539d219f6b8b5c17d856600c32a6cbda0674b1c2..ac04ce3c30ec6973e5c80b3400e4ecdb3199679f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Load and unload nsscash files (header)
  *
- * Copyright (C) 2019  Simon Ruderich
+ * Copyright (C) 2019-2020  Simon Ruderich
  *
  * 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
@@ -25,6 +25,8 @@
 #include <stdlib.h>
 
 
+// Magic value at the beginning of each nsscash file (8 byte, without the
+// trailing NUL)
 #define MAGIC "NSS-CASH"
 
 // Defined in Makefile
 #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")));