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