]> ruderich.org/simon Gitweb - nsscash/nsscash.git/blobdiff - nss/file.h
nss: merge cash.h into file.h
[nsscash/nsscash.git] / nss / file.h
index 7aac37ccc33c14e31c23da97724e30aa08b6e524..539d219f6b8b5c17d856600c32a6cbda0674b1c2 100644 (file)
 #include <stdint.h>
 #include <stdlib.h>
 
-#include "cash.h"
 
+#define MAGIC "NSS-CASH"
+
+// Defined in Makefile
+#ifndef NSSCASH_PASSWD_FILE
+# define NSSCASH_PASSWD_FILE "/etc/passwd.nsscash"
+#endif
+#ifndef NSSCASH_GROUP_FILE
+# define NSSCASH_GROUP_FILE "/etc/group.nsscash"
+#endif
+
+
+struct header {
+    char magic[8]; // magic string
+    uint64_t version; // also doubles as byte-order check
+
+    uint64_t count;
+
+    // All offsets are relative to data
+    uint64_t off_orig_index;
+    uint64_t off_id_index;
+    uint64_t off_name_index;
+    uint64_t off_data;
+
+    char data[];
+} __attribute__((packed));
 
 struct file {
     int fd;