2 * Common defines for cnid
5 #ifndef _ATALK_CNID_PRIVATE_H
6 #define _ATALK_CNID_PRIVATE_H 1
8 #define CNID_DB_MAGIC 0x434E4944U /* CNID */
9 #define CNID_DATA_MAGIC 0x434E4945U /* CNIE */
14 #define CNID_DEV_OFS CNID_LEN
15 #define CNID_DEV_LEN 8
17 #define CNID_INO_OFS (CNID_DEV_OFS + CNID_DEV_LEN)
18 #define CNID_INO_LEN 8
20 #define CNID_DEVINO_OFS CNID_LEN
21 #define CNID_DEVINO_LEN (CNID_DEV_LEN +CNID_INO_LEN)
23 #define CNID_TYPE_OFS (CNID_DEVINO_OFS +CNID_DEVINO_LEN)
24 #define CNID_TYPE_LEN 4
26 #define CNID_DID_OFS (CNID_TYPE_OFS +CNID_TYPE_LEN)
27 #define CNID_DID_LEN CNID_LEN
29 #define CNID_NAME_OFS (CNID_DID_OFS + CNID_DID_LEN)
30 #define CNID_HEADER_LEN (CNID_NAME_OFS)
32 #define CNIDFLAG_ROOTINFO_RO (1 << 0)
33 #define CNIDFLAG_DB_RO (1 << 1)
35 /* special key/data pair we use to store current cnid and database stamp in cnid2.db */
37 #define ROOTINFO_KEY "\0\0\0\0"
38 #define ROOTINFO_KEYLEN 4
43 8 bytes, in first 4 bytes db stamp: struct stat.st_ctime of database file (dev)
44 8 unused bytes (inode)
45 4 bytes: is a file/directory (type)
47 9 bytes name "RootInfo"
49 #define ROOTINFO_DATA "\0\0\0\0" \
55 #define ROOTINFO_DATALEN (3*4 + 2*8 + 9)