36 lines
666 B
C
36 lines
666 B
C
#ifndef RT_UIDTAB_H
|
|
#define RT_UIDTAB_H
|
|
|
|
#include "runtime.h"
|
|
#include "file_tab.h"
|
|
#include "assets.h"
|
|
#include "xxhash/xxhash.h"
|
|
|
|
#ifdef RT_DEFINE_UIDTAB_FILE_STRUCTURES
|
|
#pragma pack(push, 1)
|
|
typedef struct {
|
|
XXH64_canonical_t checksum;
|
|
uint32_t num_entries;
|
|
} rt_uidtab_header;
|
|
#pragma pack(pop)
|
|
|
|
#pragma pack(push, 1)
|
|
typedef struct {
|
|
rt_file_id file;
|
|
uint64_t offset;
|
|
uint64_t size;
|
|
rt_uid uid;
|
|
} rt_uidtab_entry;
|
|
#pragma pack(pop)
|
|
#endif
|
|
|
|
/* Data associated with an uid */
|
|
typedef struct {
|
|
rt_file_id pkg_file;
|
|
uint64_t offset;
|
|
uint64_t size;
|
|
} rt_uid_data;
|
|
|
|
RT_DLLEXPORT const rt_uid_data *rtGetUIDData(rt_uid uid);
|
|
|
|
#endif |