35 struct kpackage_internal;
This file contains global type definitions which are used throughout the entire engine and applicatio...
#define KAPI
Import/export qualifier.
Definition: defines.h:205
_Bool b8
8-bit boolean type
Definition: defines.h:58
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:28
This files contains an implementation of knames.
u64 kname
A kname is a string hash made for quick comparisons versus traditional string comparisons.
Definition: kname.h:36
KAPI b8 kpackage_create_from_binary(u64 size, void *bytes, kpackage *out_package)
struct asset_manifest_asset asset_manifest_asset
KAPI b8 kpackage_asset_bytes_write(kpackage *package, kname name, u64 size, const void *bytes)
KAPI void kpackage_manifest_destroy(asset_manifest *manifest)
KAPI void kpackage_destroy(kpackage *package)
KAPI const char * kpackage_path_for_asset(const kpackage *package, kname name)
KAPI b8 kpackage_parse_manifest_file_content(const char *path, asset_manifest *out_manifest)
struct asset_manifest_reference asset_manifest_reference
A reference to another package in an asset manifest.
struct asset_manifest asset_manifest
KAPI const char * kpackage_source_path_for_asset(const kpackage *package, kname name)
KAPI b8 kpackage_create_from_manifest(const asset_manifest *manifest, kpackage *out_package)
kpackage_result
Definition: kpackage.h:43
@ KPACKAGE_RESULT_ASSET_GET_FAILURE
Definition: kpackage.h:45
@ KPACKAGE_RESULT_SUCCESS
Definition: kpackage.h:44
@ KPACKAGE_RESULT_INTERNAL_FAILURE
Definition: kpackage.h:46
KAPI kpackage_result kpackage_asset_bytes_get(const kpackage *package, kname name, u64 *out_size, const void **out_data)
KAPI b8 kpackage_asset_text_write(kpackage *package, kname name, u64 size, const char *text)
KAPI kpackage_result kpackage_asset_text_get(const kpackage *package, kname name, u64 *out_size, const char **out_text)
const char * source_path
Definition: kpackage.h:10
kname name
Definition: kpackage.h:7
const char * path
Definition: kpackage.h:9
A reference to another package in an asset manifest.
Definition: kpackage.h:16
kname name
Definition: kpackage.h:17
const char * path
Definition: kpackage.h:18
Definition: kpackage.h:21
const char * file_path
Definition: kpackage.h:24
kname name
Definition: kpackage.h:22
const char * path
Definition: kpackage.h:26
asset_manifest_reference * references
Definition: kpackage.h:32
asset_manifest_asset * assets
Definition: kpackage.h:29
Definition: kpackage.h:37
kname name
Definition: kpackage.h:38
b8 is_binary
Definition: kpackage.h:39
struct kpackage_internal * internal_data
Definition: kpackage.h:40