1 #define SUBSYSTEM APPLICATION_EXEC "_catalog: "
2 
3 #define CATALOG_ID 0x21091974							/* Catalog file format identifier */
4 #define CATALOG_VERSION_CURRENT 0						/* Catalog current version */
5 
6 #define CATALOG_ENDIAN_BIG 1							/* Catalog endianess */
7 #define CATALOG_ENDIAN_LITTLE 2
8 
9 struct __PACKED__ cat_header {
10 	uint32_t id;								/* Catalog file format identifier */
11 
12 	uint32_t version;							/* Catalog version */
13 	uint32_t endian;							/* Catalog endianess */
14 	uint32_t size;								/* Catalog header size in bytes */
15 
16 	uint32_t t_char;							/* Size of char */
17 	uint32_t t_int;								/* Size of int */
18 	uint32_t t_long;							/* Size of long */
19 	uint32_t t_float;							/* Size of float */
20 	uint32_t t_double;							/* Size of double */
21 	uint32_t t_int8_t;							/* Size of int8_t */
22 	uint32_t t_int16_t;							/* Size of int16_t */
23 	uint32_t t_int32_t;							/* Size of int32_t */
24 	uint32_t t_int64_t;							/* Size of int64_t */
25 	uint32_t t_size_t;							/* Size of size_t */
26 };
27 
28 static unsigned int p_file = 0;							/* Catalog file handle */
29 static long p_offs = -1;							/* Catalog next entry offset */
30 
31 static int catalog_create_op(char *, char *);
32 static int catalog_check(void);
33