Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 50 additions & 3 deletions src/imports/avs.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <sys/stat.h>

enum property_create_flag {
PROPERTY_FLAG_READ = 0x1,
Expand Down Expand Up @@ -37,6 +38,7 @@ enum property_type {
PROPERTY_TYPE_U64 = 9,
PROPERTY_TYPE_BIN = 10,
PROPERTY_TYPE_STR = 11,
PROPERTY_TYPE_ATTR = 46,
PROPERTY_TYPE_BOOL = 52
};

Expand Down Expand Up @@ -160,6 +162,8 @@ void avs_boot(

void avs_shutdown(void);

typedef uint32_t avs_desc;

void log_body_fatal(const char *module, const char *fmt, ...);
void log_body_info(const char *module, const char *fmt, ...);
void log_body_misc(const char *module, const char *fmt, ...);
Expand Down Expand Up @@ -203,8 +207,8 @@ int property_psmap_export(
const struct property_psmap *psmap);

struct property_node *property_node_clone(
struct property *new_parent,
int unk0,
struct property *parent_prop,
struct property_node *parent_node,
struct property_node *src,
bool deep);
struct property_node *property_node_create(
Expand All @@ -228,10 +232,53 @@ struct property_node *property_node_traversal(
struct property_node *node, enum property_node_traversal direction);
void property_node_datasize(struct property_node *node);

static inline void property_remove(struct property *prop, struct property_node *node, const char *path)
{
struct property_node *cur = property_search(prop, node, path);
while (cur) {
struct property_node *next = property_node_traversal(node, TRAVERSE_NEXT_SEARCH_RESULT);
property_node_remove(cur);
cur = next;
}
}

bool std_getenv(const char *key, char *val, uint32_t nbytes);
void std_setenv(const char *key, const char *val);

void* avs_fs_open(const char* path, int mode, int flags);
struct avs_stat {
uint64_t st_atime;
uint64_t st_mtime;
uint64_t st_ctime;
uint32_t unk1;
uint32_t filesize;
struct stat padding;
};

enum avs_file_mode {
AVS_FILE_READ = 1,
AVS_FILE_WRITE = 2,
AVS_FILE_CREATE = 0x10,
AVS_FILE_TRUNCATE = 0x20,
AVS_FILE_EXCLUSIVE = 0x80,
};

enum avs_file_flag {
AVS_FILE_FLAG_SHARE_READ = 0x124,
AVS_FILE_FLAG_SHARE_WRITE = 0x92,
};

enum avs_seek_origin {
AVS_SEEK_SET = 0,
AVS_SEEK_CUR = 1,
AVS_SEEK_END = 2,
};

avs_desc avs_fs_open(const char *path, uint16_t mode, int flags);
int avs_fs_close(avs_desc desc);
size_t avs_fs_read(avs_desc desc, char *buf, uint32_t sz);
int avs_fs_lseek(avs_desc desc, long pos, int whence);
int avs_fs_lstat(const char *path, struct avs_stat *st);
int avs_fs_copy(const char *src, const char *dest);
int avs_fs_addfs(void *filesys_struct);
int avs_fs_mount(
const char *mountpoint, const char *fsroot, const char *fstype, void *data);
Expand Down
6 changes: 6 additions & 0 deletions src/imports/import_32_0_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ LIBRARY libavs-win32

EXPORTS
avs_boot
avs_fs_close
avs_fs_copy
avs_fs_lseek
avs_fs_lstat
avs_fs_open
avs_fs_read
avs_net_ctrl
avs_shutdown
avs_thread_create
Expand Down
6 changes: 6 additions & 0 deletions src/imports/import_32_1002_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ LIBRARY libavs-win32

EXPORTS
avs_boot
avs_fs_close
avs_fs_copy
avs_fs_lseek
avs_fs_lstat
avs_fs_open
avs_fs_read
avs_net_ctrl
avs_shutdown
avs_thread_create
Expand Down
8 changes: 8 additions & 0 deletions src/imports/import_32_1101_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ LIBRARY libavs-win32

EXPORTS
avs_boot @22 NONAME
avs_fs_close @573 NONAME
avs_fs_copy @573 NONAME
avs_fs_lseek @573 NONAME
avs_fs_lstat @573 NONAME
avs_fs_open @573 NONAME
avs_fs_read @573 NONAME
avs_net_ctrl @107 NONAME
avs_shutdown @140 NONAME
avs_thread_create @156 NONAME
Expand All @@ -21,6 +27,8 @@ EXPORTS
property_node_datasize @267 NONAME
property_node_refer @278 NONAME
property_node_remove @279 NONAME
property_node_clone @280 NONAME
property_node_traversal @282 NONAME
property_psmap_import @288 NONAME
property_psmap_export @287 NONAME
property_read_query_memsize @291 NONAME
Expand Down
7 changes: 7 additions & 0 deletions src/imports/import_32_1304_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@ LIBRARY libavs-win32

EXPORTS
avs_boot @237 NONAME
avs_fs_close @573 NONAME
avs_fs_copy @573 NONAME
avs_fs_lseek @573 NONAME
avs_fs_lstat @573 NONAME
avs_fs_open @178 NONAME
avs_fs_read @573 NONAME
avs_net_ctrl @15 NONAME
avs_shutdown @333 NONAME
avs_thread_create @183 NONAME
Expand All @@ -21,6 +26,8 @@ EXPORTS
property_node_datasize @249 NONAME
property_node_refer @268 NONAME
property_node_remove @129 NONAME
property_node_clone @130 NONAME
property_node_traversal @132 NONAME
property_psmap_import @102 NONAME
property_psmap_export @110 NONAME
property_read_query_memsize @100 NONAME
Expand Down
8 changes: 8 additions & 0 deletions src/imports/import_32_1403_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ LIBRARY libavs-win32

EXPORTS
avs_boot @298 NONAME
avs_fs_close @573 NONAME
avs_fs_copy @573 NONAME
avs_fs_lseek @573 NONAME
avs_fs_lstat @573 NONAME
avs_fs_open @573 NONAME
avs_fs_read @573 NONAME
avs_net_ctrl @100 NONAME
avs_shutdown @299 NONAME
avs_thread_create @6 NONAME
Expand All @@ -16,6 +22,8 @@ EXPORTS
property_destroy @130 NONAME
property_insert_read @133 NONAME
property_node_remove @148 NONAME
property_node_clone @149 NONAME
property_node_traversal @151 NONAME
property_psmap_import @163 NONAME
property_psmap_export @164 NONAME
property_read_query_memsize @161 NONAME
Expand Down
4 changes: 4 additions & 0 deletions src/imports/import_32_1508_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ EXPORTS
avs_fs_close @65 NONAME
avs_fs_lseek @59 NONAME
avs_fs_lseek64 @60 NONAME
avs_fs_lstat @79 NONAME
avs_fs_open @58 NONAME
avs_fs_read @61 NONAME
avs_fs_copy @81 NONAME
avs_net_ctrl @98 NONAME
avs_shutdown @286 NONAME
avs_thread_create @6 NONAME
Expand All @@ -24,6 +26,8 @@ EXPORTS
property_node_create @145 NONAME
property_node_refer @158 NONAME
property_node_remove @146 NONAME
property_node_clone @147 NONAME
property_node_traversal @149 NONAME
property_psmap_export @162 NONAME
property_psmap_import @161 NONAME
property_read_query_memsize @159 NONAME
Expand Down
8 changes: 8 additions & 0 deletions src/imports/import_32_1601_avs.def
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
LIBRARY libavs-win32

EXPORTS
avs_fs_close @573 NONAME
avs_fs_copy @573 NONAME
avs_fs_lseek @573 NONAME
avs_fs_lstat @573 NONAME
avs_fs_open @573 NONAME
avs_fs_read @573 NONAME
avs_thread_create @5 NONAME
avs_thread_destroy @7 NONAME
avs_thread_exit @11 NONAME
Expand All @@ -13,6 +19,8 @@ EXPORTS
property_search @141 NONAME
property_node_create @142 NONAME
property_node_remove @143 NONAME
property_node_clone @144 NONAME
property_node_traversal @146 NONAME
property_node_refer @155 NONAME
property_read_query_memsize @156 NONAME
property_psmap_export @159 NONAME
Expand Down
8 changes: 8 additions & 0 deletions src/imports/import_32_1603_avs.def
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
LIBRARY libavs-win32

EXPORTS
avs_fs_close @573 NONAME
avs_fs_copy @573 NONAME
avs_fs_lseek @573 NONAME
avs_fs_lstat @573 NONAME
avs_fs_open @573 NONAME
avs_fs_read @573 NONAME
avs_thread_create @5 NONAME
avs_thread_destroy @7 NONAME
avs_thread_exit @11 NONAME
Expand All @@ -13,6 +19,8 @@ EXPORTS
property_search @162 NONAME
property_node_create @163 NONAME
property_node_remove @164 NONAME
property_node_clone @165 NONAME
property_node_traversal @167 NONAME
property_node_refer @176 NONAME
property_read_query_memsize @177 NONAME
property_psmap_import @179 NONAME
Expand Down
8 changes: 8 additions & 0 deletions src/imports/import_32_1700_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@ EXPORTS
avs_thread_exit @11 NONAME
avs_thread_join @12 NONAME
avs_fs_addfs @73 NONAME
avs_fs_close @573 NONAME
avs_fs_copy @573 NONAME
avs_fs_lseek @573 NONAME
avs_fs_lstat @573 NONAME
avs_fs_mount @76 NONAME
avs_fs_open @573 NONAME
avs_fs_read @573 NONAME
avs_net_ctrl @119 NONAME
property_create @145 NONAME
property_destroy @146 NONAME
Expand All @@ -15,6 +21,8 @@ EXPORTS
property_search @162 NONAME
property_node_create @163 NONAME
property_node_remove @164 NONAME
property_node_clone @165 NONAME
property_node_traversal @167 NONAME
property_node_refer @176 NONAME
property_read_query_memsize @177 NONAME
property_psmap_import @179 NONAME
Expand Down
6 changes: 6 additions & 0 deletions src/imports/import_32_803_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@ LIBRARY libavs-win32

EXPORTS
avs_boot
avs_fs_close
avs_fs_copy
avs_fs_lseek
avs_fs_lstat
avs_fs_open
avs_fs_read
avs_net_ctrl
avs_shutdown
avs_thread_create
Expand Down
4 changes: 4 additions & 0 deletions src/imports/import_64_1508_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ LIBRARY libavs-win64
EXPORTS
avs_boot @285 NONAME
avs_fs_close @65 NONAME
avs_fs_copy @81 NONAME
avs_fs_lseek @59 NONAME
avs_fs_lseek64 @60 NONAME
avs_fs_lstat @79 NONAME
avs_fs_open @58 NONAME
avs_fs_read @61 NONAME
avs_net_ctrl @98 NONAME
Expand All @@ -24,6 +26,8 @@ EXPORTS
property_node_create @145 NONAME
property_node_refer @158 NONAME
property_node_remove @146 NONAME
property_node_clone @147 NONAME
property_node_traversal @149 NONAME
property_psmap_export @162 NONAME
property_psmap_import @161 NONAME
property_read_query_memsize @159 NONAME
Expand Down
4 changes: 4 additions & 0 deletions src/imports/import_64_1509_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ LIBRARY libavs-win64
EXPORTS
avs_boot @285 NONAME
avs_fs_close @65 NONAME
avs_fs_copy @81 NONAME
avs_fs_lseek @59 NONAME
avs_fs_lseek64 @60 NONAME
avs_fs_lstat @78 NONAME
avs_fs_open @58 NONAME
avs_fs_read @61 NONAME
avs_net_ctrl @98 NONAME
Expand All @@ -24,6 +26,8 @@ EXPORTS
property_node_create @145 NONAME
property_node_refer @158 NONAME
property_node_remove @146 NONAME
property_node_clone @147 NONAME
property_node_traversal @149 NONAME
property_psmap_export @162 NONAME
property_psmap_import @161 NONAME
property_read_query_memsize @159 NONAME
Expand Down
8 changes: 8 additions & 0 deletions src/imports/import_64_1601_avs.def
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
LIBRARY libavs-win64

EXPORTS
avs_fs_close @573 NONAME
avs_fs_copy @573 NONAME
avs_fs_lseek @573 NONAME
avs_fs_lstat @573 NONAME
avs_fs_open @573 NONAME
avs_fs_read @573 NONAME
avs_thread_create @5 NONAME
avs_thread_destroy @7 NONAME
avs_thread_exit @11 NONAME
Expand All @@ -13,6 +19,8 @@ EXPORTS
property_search @141 NONAME
property_node_create @142 NONAME
property_node_remove @143 NONAME
property_node_clone @144 NONAME
property_node_traversal @146 NONAME
property_node_refer @155 NONAME
property_read_query_memsize @156 NONAME
property_psmap_export @159 NONAME
Expand Down
8 changes: 8 additions & 0 deletions src/imports/import_64_1603_avs.def
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
LIBRARY libavs-win64

EXPORTS
avs_fs_close @573 NONAME
avs_fs_copy @573 NONAME
avs_fs_lseek @573 NONAME
avs_fs_lstat @573 NONAME
avs_fs_open @573 NONAME
avs_fs_read @573 NONAME
avs_thread_create @5 NONAME
avs_thread_destroy @7 NONAME
avs_thread_exit @11 NONAME
Expand All @@ -13,6 +19,8 @@ EXPORTS
property_search @162 NONAME
property_node_create @163 NONAME
property_node_remove @164 NONAME
property_node_clone @165 NONAME
property_node_traversal @167 NONAME
property_node_refer @176 NONAME
property_read_query_memsize @177 NONAME
property_psmap_import @179 NONAME
Expand Down
8 changes: 8 additions & 0 deletions src/imports/import_64_1700_avs.def
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@ EXPORTS
avs_thread_exit @11 NONAME
avs_thread_join @12 NONAME
avs_fs_addfs @73 NONAME
avs_fs_close @573 NONAME
avs_fs_copy @573 NONAME
avs_fs_lseek @573 NONAME
avs_fs_lstat @573 NONAME
avs_fs_mount @76 NONAME
avs_fs_open @573 NONAME
avs_fs_read @573 NONAME
avs_net_ctrl @119 NONAME
property_create @145 NONAME
property_destroy @146 NONAME
Expand All @@ -15,6 +21,8 @@ EXPORTS
property_search @162 NONAME
property_node_create @163 NONAME
property_node_remove @164 NONAME
property_node_clone @165 NONAME
property_node_traversal @167 NONAME
property_node_refer @176 NONAME
property_read_query_memsize @177 NONAME
property_psmap_import @179 NONAME
Expand Down
1 change: 1 addition & 0 deletions src/main/launcher/Module.mk
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ libs_launcher := \

src_launcher := \
avs-context.c \
bs-config.c \
ea3-config.c \
main.c \
module.c \
Expand Down
Loading