/* * 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) sysfunc.name = system_##name internal void link_system_code(void){ SYSLINK(get_canonical); SYSLINK(get_file_list); SYSLINK(quick_file_attributes); SYSLINK(load_handle); SYSLINK(load_attributes); SYSLINK(load_file); SYSLINK(load_close); SYSLINK(save_file); SYSLINK(load_library); SYSLINK(release_library); SYSLINK(get_proc); SYSLINK(now_time); SYSLINK(wake_up_timer_create); SYSLINK(wake_up_timer_release); SYSLINK(wake_up_timer_set); SYSLINK(signal_step); SYSLINK(sleep); SYSLINK(post_clipboard); SYSLINK(cli_call); SYSLINK(cli_begin_update); SYSLINK(cli_update_step); SYSLINK(cli_end_update); SYSLINK(open_color_picker); SYSLINK(get_screen_scale_factor); SYSLINK(thread_launch); SYSLINK(thread_join); SYSLINK(thread_free); SYSLINK(thread_get_id); SYSLINK(mutex_make); SYSLINK(mutex_acquire); SYSLINK(mutex_release); SYSLINK(mutex_free); SYSLINK(condition_variable_make); SYSLINK(condition_variable_wait); SYSLINK(condition_variable_signal); SYSLINK(condition_variable_free); SYSLINK(memory_allocate); SYSLINK(memory_set_protection); SYSLINK(memory_free); SYSLINK(get_path); SYSLINK(set_fullscreen); SYSLINK(is_fullscreen); SYSLINK(show_mouse_cursor); } // BOTTOM