69 lines
1.4 KiB
C++
69 lines
1.4 KiB
C++
|
/*
|
||
|
* Mr. 4th Dimention - Allen Webster
|
||
|
*
|
||
|
* 18.07.2017
|
||
|
*
|
||
|
* Code to link system functions using a name convention
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
// TOP
|
||
|
|
||
|
// TODO(allen): Should auto-gen this!
|
||
|
|
||
|
#define SYSLINK(name) system->name = system_##name
|
||
|
|
||
|
internal void
|
||
|
link_system_code(System_Functions *system){
|
||
|
SYSLINK(set_file_list);
|
||
|
SYSLINK(get_canonical);
|
||
|
SYSLINK(add_listener);
|
||
|
SYSLINK(remove_listener);
|
||
|
SYSLINK(get_file_change);
|
||
|
SYSLINK(load_handle);
|
||
|
SYSLINK(load_size);
|
||
|
SYSLINK(load_file);
|
||
|
SYSLINK(load_close);
|
||
|
SYSLINK(save_file);
|
||
|
|
||
|
SYSLINK(now_time);
|
||
|
|
||
|
SYSLINK(post_clipboard);
|
||
|
|
||
|
SYSLINK(create_coroutine);
|
||
|
SYSLINK(launch_coroutine);
|
||
|
SYSLINK(resume_coroutine);
|
||
|
SYSLINK(yield_coroutine);
|
||
|
|
||
|
SYSLINK(cli_call);
|
||
|
SYSLINK(cli_begin_update);
|
||
|
SYSLINK(cli_update_step);
|
||
|
SYSLINK(cli_end_update);
|
||
|
|
||
|
SYSLINK(post_job);
|
||
|
SYSLINK(cancel_job);
|
||
|
SYSLINK(check_cancel);
|
||
|
SYSLINK(grow_thread_memory);
|
||
|
SYSLINK(acquire_lock);
|
||
|
SYSLINK(release_lock);
|
||
|
|
||
|
SYSLINK(memory_allocate);
|
||
|
SYSLINK(memory_set_protection);
|
||
|
SYSLINK(memory_free);
|
||
|
SYSLINK(file_exists);
|
||
|
SYSLINK(directory_cd);
|
||
|
SYSLINK(get_4ed_path);
|
||
|
SYSLINK(toggle_fullscreen);
|
||
|
SYSLINK(is_fullscreen);
|
||
|
SYSLINK(show_mouse_cursor);
|
||
|
SYSLINK(send_exit_signal);
|
||
|
|
||
|
SYSLINK(log);
|
||
|
#if FRED_INTERNAL
|
||
|
SYSLINK(internal_get_thread_states);
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
// BOTTOM
|
||
|
|