LibGame v0.4.0
The LG Game Engine - Copyright (C) 2024-2026 ETMSoftware
Loading...
Searching...
No Matches
lg_file_ops.h
1/*
2 * LibGame - Copyright (C) Emmanuel Thomas-Maurin 2011-2026
3 * All rights reserved
4 */
5
6#ifndef LG_FILE_OPS_H
7#define LG_FILE_OPS_H
8
9#ifdef ANDROID_V // Used in ...
10 #define OPEN_ASSET_FILE lg_open_asset_file
11
12 #define GET_ASSET_SIZE lg_get_asset_file_size
13
14 #define READ_ASSET_FILE lg_read_from_asset_file
15
16 #define READ_ASSET_FILE2 lg_read_from_asset_file2
17
18 #define CLOSE_ASSET_FILE lg_close_asset_file
19#else // Used in lg_shader_progs.c, lg_obj_parser.c, lg_textures.c, lg_dds_loader.c, lg_astc_loader.c, lg_scene.c
20 #define OPEN_ASSET_FILE lg_open_file
21
22 #define GET_ASSET_SIZE lg_get_file_size
23
24 #define READ_ASSET_FILE lg_read_from_bfile
25
26 #define READ_ASSET_FILE2 lg_read_from_bfile2
27
28 #define CLOSE_ASSET_FILE lg_close_file
29#endif
30
31void *lg_open_file(const char *, const char *);
32
33ssize_t lg_get_file_size(const char *);
34
35int lg_read_from_bfile(const char *, void *, size_t);
36
37int lg_read_from_bfile2(const char *full_path, void *data, int64_t *);
38
39int lg_write_to_bfile(const char *, const void *, size_t);
40
41void lg_close_file(FILE *);
42
43/* Assets-specific funcs */
44void *lg_open_asset_file(const char *, const char *);
45
46int64_t lg_get_asset_file_size(const char *);
47
48int lg_read_from_asset_file(const char *, void *, size_t);
49
50int lg_read_from_asset_file2(const char *, void *, int64_t *);
51
52void lg_close_asset_file(void *);
53
54/* Linux only */
55zboolean lg_copy_file_from_app_wr_to_assets(const char *, const char *, const char *);
56
57/* Linux only */
58zboolean lg_copy_file_from_cache_to_assets(const char *, const char *, const char *);
59
60char *lg_getline_from_str(const char *);
61
62#endif /* LG_FILE_OPS_H */
int64_t lg_get_asset_file_size(const char *relative_path_in_assets)
Definition lg_file_ops.c:257
int lg_read_from_asset_file(const char *relative_path_in_assets, void *data, size_t size)
Definition lg_file_ops.c:290
void * lg_open_file(const char *full_path, const char *mode_str)
Definition lg_file_ops.c:38
ssize_t lg_get_file_size(const char *full_path)
Definition lg_file_ops.c:68
int lg_write_to_bfile(const char *full_path, const void *data, size_t size)
Definition lg_file_ops.c:184
char * lg_getline_from_str(const char *str)
Definition lg_file_ops.c:503
int lg_read_from_bfile2(const char *full_path, void *data, int64_t *size2)
Definition lg_file_ops.c:133
zboolean lg_copy_file_from_app_wr_to_assets(const char *file_name, const char *src_sub_path, const char *dest_sub_path)
Definition lg_file_ops.c:388
int lg_read_from_bfile(const char *full_path, void *data, size_t size)
Definition lg_file_ops.c:96
int lg_read_from_asset_file2(const char *relative_path_in_assets, void *data, int64_t *size2)
Definition lg_file_ops.c:325
void lg_close_file(FILE *fp)
Definition lg_file_ops.c:212
zboolean lg_copy_file_from_cache_to_assets(const char *file_name, const char *src_sub_path, const char *dest_sub_path)
Definition lg_file_ops.c:447
void * lg_open_asset_file(const char *relative_path_in_assets, const char *unused)
Definition lg_file_ops.c:236
void lg_close_asset_file(void *rwops)
Definition lg_file_ops.c:370