From 9fcf6b705f62c93f224ac32923e18284bfcd67d9 Mon Sep 17 00:00:00 2001 From: Egor00f Date: Sun, 8 Mar 2026 18:10:28 +0500 Subject: [PATCH 1/4] libc.obj: update `ksys.h` added functions: + 18.10 + 18.13 + 18.15 + 18.20 + 18.22 + 18.23 + 18.24 + 18.25 + 21.2 + 21.5 + 21.11 + 21.12 + 22 + 26.2 + 26.5 + 26.11 + 26.12 fix extra comma in `ksys_draw_bitmap_palette` --- .../ktcc/trunk/libc.obj/include/sys/ksys.h | 316 +++++++++++++++++- 1 file changed, 304 insertions(+), 12 deletions(-) diff --git a/programs/develop/ktcc/trunk/libc.obj/include/sys/ksys.h b/programs/develop/ktcc/trunk/libc.obj/include/sys/ksys.h index db2991289..a29de3078 100644 --- a/programs/develop/ktcc/trunk/libc.obj/include/sys/ksys.h +++ b/programs/develop/ktcc/trunk/libc.obj/include/sys/ksys.h @@ -214,6 +214,30 @@ typedef struct { uint32_t pitch; } ksys_blitter_params_t; +typedef struct { + uint8_t a, b, c, d; + uint8_t debug_label; + uint8_t ABI_low; + uint8_t ABI_high; + uint32_t commit_id; + uint16_t reserved; + uint16_t commit_count; +} ksys_kernel_version_t; + +typedef struct +{ + uint32_t total_ram_pages; + uint32_t free_ram_pages; + uint32_t page_faults; + uint32_t kernel_heap_size; + uint32_t kernel_heap_free; + uint32_t kernel_heap_total_blocks; + uint32_t kernel_heap_free_blocks; + uint32_t kernel_heap_largest_free_block; + uint32_t kernel_heap_largest_alloc_block; + +} ksys_memory_info_t; + #pragma pack(pop) typedef rgb_t ksys_bitmap_t; @@ -358,10 +382,10 @@ enum KSYS_SCANCODES { KSYS_SCANCODE_EXT_INSERT = 82, KSYS_SCANCODE_NUMPAD_COMMA = 83, KSYS_SCANCODE_EXT_DELETE = 83, - //84-86 doesn't exist + // 84-86 doesn't exist KSYS_SCANCODE_F11 = 87, KSYS_SCANCODE_F12 = 88, - //89,90 doesn't exist + // 89,90 doesn't exist KSYS_SCANCODE_EXT_LWIN = 91, KSYS_SCANCODE_EXT_RWIN = 92, KSYS_SCANCODE_EXT_MENU = 93, @@ -759,6 +783,40 @@ KOSAPI void _ksys_shutdown(uint32_t shd_param) asm_inline("int $0x40" ::"a"(18), "b"(9), "c"(shd_param)); } +/*====== Function 18, subfunction 10 - minimize current window. ========*/ + +KOSAPI void _ksys_minimize_current_windows() +{ + asm_inline( + "int $0x40" ::"a"(18), "b"(10)); +} + +/*========== Function 18, subfunction 13 - get kernel version. =========*/ + +KOSAPI int _ksys_get_kernel_version(ksys_kernel_version_t* info) +{ + int err; + + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(18), "b"(13), "c"(info) + : "memory"); + return err; +} + +/*========= Function 18, subfunction 15 - move mouse to center. ========*/ + +KOSAPI int _ksys_center_mouse() +{ + int a; + asm_inline( + "int $0x40" + : "=a"(a) + : "a"(18), "b"(15)); + return a; +} + /*========= Function 18, subfunction 16 - get size of free RAM. ========*/ KOSAPI size_t _ksys_get_ram_size(void) @@ -817,6 +875,19 @@ KOSAPI uint32_t _ksys_set_mouse_settings(ksys_mouse_settings_t settings, uint32_ #define _ksys_set_mouse_pos(X, Y) _ksys_set_mouse_settings(KSYS_MOUSE_SET_POS, X * 65536 + Y) +/*===================== Function 18, subfunction 20 ====================*/ + +KOSAPI int _ksys_get_memory_info(ksys_memory_info_t* info) +{ + int total; + asm_inline( + "int $0x40" + : "=a"(total) + : "a"(18), "b"(20), "c"(info) + : "memory"); + return total; +} + /*===================== Function 18, subfunction 21 ====================*/ /*=====Get the slot number of the process / thread by identifier.. =====*/ @@ -830,6 +901,185 @@ KOSAPI int _ksys_get_thread_slot(int PID) return val; } +/*===================== Function 18, subfunction 22 ====================*/ + +typedef enum KSYS_WIN_REMOTE_CONTROL { + WIN_MINIMIZE_BY_SLOT = 0, + WIN_MINIMIZE_BY_PID = 1, + WIN_RESTORE_BY_SLOT = 2, + WIN_RESTORE_BY_PID = 3 +} ksys_win_remote_control_t; + +KOSAPI int _ksys_window_remote_control(ksys_win_remote_control_t type, uint32_t param) +{ + int result; + + asm_inline( + "int $0x40" + : "=a"(result) + : "a"(18), "b"(22), "c"(type), "d"(param)); + return result; +} + +/*===================== Function 18, subfunction 23 ====================*/ + +KOSAPI int _ksys_minimize_all_windows() +{ + int count; + asm_inline( + "int $0x40" + : "=a"(count) + : "a"(18), "b"(23)); + return count; +} + +/*===================== Function 18, subfunction 24 ====================*/ + +KOSAPI void _ksys_set_draw_limits(unsigned int x, unsigned int y) +{ + asm_inline( + "int $0x40" ::"a"(18), "b"(24), "c"(x), "d"(y)); +} + +/*===================== Function 18, subfunction 25 ====================*/ + +typedef enum KSYS_ZPOS { + KSYS_ZPOS_DESKTOP = -2, + KSYS_ZPOS_ALWAYS_BACK = -1, + KSYS_ZPOS_NORMAL = 0, + KSYS_ZPOS_ALWAYS_TOP = 1 +} ksys_zpos_t; + +/*=========== Function 18, subfunction 25, subsubfunction 1 ============*/ + +KOSAPI ksys_zpos_t _ksys_get_window_zposition(int32_t pid) +{ + ksys_zpos_t result_eax; + + asm_inline( + "int $0x40" + : "=a"(result_eax) + : "a"(18), "b"(25), "c"(1), "d"(pid)); + + return result_eax; +} + +/*=========== Function 18, subfunction 25, subsubfunction 2 ============*/ + +KOSAPI int _ksys_set_window_zposition(int32_t pid, ksys_zpos_t position) +{ + int err; + + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(18), "b"(25), "c"(2), "d"(pid), "S"(position)); + + return err; +} + +/*==================== Function 21, subfunction 2 =====================*/ + +typedef enum KSYS_KEYBOARD_LAYOUT { + KSYS_KEYBOARD_LAYOUT_NORMAL = 1, + KSYS_KEYBOARD_LAYOUT_SHIFT = 2, + KSYS_KEYBOARD_LAYOUT_ALT = 3 +} ksys_keyboard_layout_t; + +KOSAPI int _ksys_set_keyboard_layout(ksys_keyboard_layout_t mode, char* table) +{ + int err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(2), "c"(mode), "d"(table)); + return err; +} + +typedef enum KSYS_LANG { + KSYS_LANG_ENG = 1, + KSYS_LANG_FI = 2, + KSYS_LANG_GER = 3, + KSYS_LANG_RU = 4 +} ksys_lang_t; + +KOSAPI int _ksys_set_keyboard_lang(ksys_lang_t lang) +{ + int err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(2), "c"(9), "d"(lang)); + return err; +} + +/*==================== Function 21, subfunction 5 =====================*/ + +KOSAPI int _ksys_set_lang(ksys_lang_t lang) +{ + int err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(5), "c"(lang)); + + return err; +} + +/*==================== Function 21, subfunction 11 =====================*/ + +KOSAPI int _ksys_allow_HD(int param) +{ + int err; + + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(11), "c"(param)); + + return err; +} + +/*==================== Function 21, subfunction 12 =====================*/ + +KOSAPI int _ksys_allow_PCI(int param) +{ + int err; + + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(12), "c"(param)); + + return err; +} + +typedef enum KSYS_SET_TIME_ERR { + KSYS_SET_TIME_OK = 0, + KSYS_SET_TIME_WRONG_PARAM = 1, + KSYS_SET_TIME_CMOS = 2 +} ksys_set_time_err; + +/*============================ Function 22 ============================*/ + +KOSAPI ksys_set_time_err _ksys_set_time(ksys_time_t time) +{ + ksys_set_time_err err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(22), "b"(0), "c"(time)); +} + +KOSAPI ksys_set_time_err _ksys_set_date(ksys_date_t date) +{ + ksys_set_time_err err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(22), "b"(1), "c"(date)); +} + /*============= Function 23 - wait for event with timeout. =============*/ KOSAPI uint32_t _ksys_wait_event_timeout(uint32_t timeout) @@ -842,19 +1092,37 @@ KOSAPI uint32_t _ksys_wait_event_timeout(uint32_t timeout) return val; } -/*=== Function 26, subfunction 2 - get keynoard layout. ==*/ +/*========= Function 26, subfunction 2 - get keyboard layout. ==========*/ -typedef enum KSYS_KEYBOARD_LAYOUT { - KSYS_KEYBOARD_LAYOUT_NORMAL = 1, - KSYS_KEYBOARD_LAYOUT_SHIFT = 2, - KSYS_KEYBOARD_LAYOUT_ALT = 3 -} ksys_keyboard_layout_t; - -KOSAPI uint32_t _ksys_keyboard_layout(ksys_keyboard_layout_t layout, unsigned char *buf) +KOSAPI uint32_t _ksys_keyboard_layout(ksys_keyboard_layout_t layout, unsigned char* buf) { asm_inline("int $0x40" ::"a"(26), "b"(2), "c"(layout), "d"(buf) : "memory"); } +KOSAPI ksys_lang_t _ksys_get_keyboard_lang() +{ + ksys_lang_t lang; + asm_inline( + "int $0x40" + : "=a"(lang) + : "a"(26), "b"(2), "c"(9)); + return lang; +} + +/*======= Function 26, subfunction 5 - get the system language. ========*/ + +KOSAPI ksys_lang_t _ksys_get_lang() +{ + ksys_lang_t lang; + + asm_inline( + "int $0x40" + : "=a"(lang) + : "a"(26), "b"(5)); + + return lang; +} + /*=== Function 26, subfunction 9 - get the value of the time counter. ==*/ KOSAPI uint32_t _ksys_get_tick_count(void) @@ -880,6 +1148,30 @@ KOSAPI uint64_t _ksys_get_ns_count(void) return val; } +/*===================== Function 26, subfunction 11 ====================*/ + +KOSAPI int _ksys_get_HD() +{ + int val; + asm_inline( + "int $0x40" + : "=a"(val) + : "a"(26), "b"(11)); + return val; +} + +/*===================== Function 26, subfunction 12 ====================*/ + +KOSAPI int _ksys_get_PCI() +{ + int val; + asm_inline( + "int $0x40" + : "=a"(val) + : "a"(26), "b"(12)); + return val; +} + /*=================== Function 29 - get system date. ===================*/ KOSAPI ksys_date_t _ksys_get_date(void) @@ -1210,7 +1502,7 @@ KOSAPI void _ksys_debug_puts(const char* s) KOSAPI void ksys_draw_bitmap_palette(void* bitmap, int x, int y, int w, int h, int bpp, void* palette, int offset) { asm_inline( - "pushl %%ebp,\n\t" // save EBP register + "pushl %%ebp\n\t" // save EBP register "movl 0x24(%%ebp), %%ebp\n\t" // 0x24 - "offset" param "int $0x40\n\t" "popl %%ebp" // restore EBP register @@ -1643,7 +1935,7 @@ KOSAPI void _ksys_set_window_title(const char* title) /*============= Function 73 - blitter =============*/ -KOSAPI void _ksys_blitter(uint32_t flags, ksys_blitter_params_t *params) +KOSAPI void _ksys_blitter(uint32_t flags, ksys_blitter_params_t* params) { int res; asm_inline( -- 2.49.1 From 2280831b88eaf10673e2ad530f4f572e8c0539a4 Mon Sep 17 00:00:00 2001 From: Egor00f Date: Sun, 8 Mar 2026 18:14:40 +0500 Subject: [PATCH 2/4] mewlib: update `ksys.h` added functions: + 18.10 + 18.13 + 18.15 + 18.20 + 18.22 + 18.23 + 18.24 + 18.25 + 21.2 + 21.5 + 21.11 + 21.12 + 22 + 26.2 + 26.5 + 26.11 + 26.12 --- .../sources/newlib/libc/include/sys/ksys.h | 306 ++++++++++++++++++ 1 file changed, 306 insertions(+) diff --git a/contrib/sdk/sources/newlib/libc/include/sys/ksys.h b/contrib/sdk/sources/newlib/libc/include/sys/ksys.h index 12565de0e..cf1ebbd78 100644 --- a/contrib/sdk/sources/newlib/libc/include/sys/ksys.h +++ b/contrib/sdk/sources/newlib/libc/include/sys/ksys.h @@ -240,6 +240,30 @@ typedef union { }; } ksys_signal_info_t; +typedef struct { + uint8_t a, b, c, d; + uint8_t debug_label; + uint8_t ABI_low; + uint8_t ABI_high; + uint32_t commit_id; + uint16_t reserved; + uint16_t commit_count; +} ksys_kernel_version_t; + +typedef struct +{ + uint32_t total_ram_pages; + uint32_t free_ram_pages; + uint32_t page_faults; + uint32_t kernel_heap_size; + uint32_t kernel_heap_free; + uint32_t kernel_heap_total_blocks; + uint32_t kernel_heap_free_blocks; + uint32_t kernel_heap_largest_free_block; + uint32_t kernel_heap_largest_alloc_block; + +} ksys_memory_info_t; + #pragma pack(pop) typedef rgb_t ksys_bitmap_t; @@ -785,6 +809,40 @@ KOSAPI void _ksys_shutdown(uint32_t shd_param) asm_inline("int $0x40" ::"a"(18), "b"(9), "c"(shd_param)); } +/*====== Function 18, subfunction 10 - minimize current window. ========*/ + +KOSAPI void _ksys_minimize_current_windows() +{ + asm_inline( + "int $0x40" ::"a"(18), "b"(10)); +} + +/*========== Function 18, subfunction 13 - get kernel version. =========*/ + +KOSAPI int _ksys_get_kernel_version(ksys_kernel_version_t* info) +{ + int err; + + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(18), "b"(13), "c"(info) + : "memory"); + return err; +} + +/*========= Function 18, subfunction 15 - move mouse to center. ========*/ + +KOSAPI int _ksys_center_mouse() +{ + int a; + asm_inline( + "int $0x40" + : "=a"(a) + : "a"(18), "b"(15)); + return a; +} + /*========= Function 18, subfunction 16 - get size of free RAM. ========*/ KOSAPI size_t _ksys_get_ram_size(void) @@ -843,6 +901,254 @@ KOSAPI uint32_t _ksys_set_mouse_settings(ksys_mouse_settings_t settings, uint32_ #define _ksys_set_mouse_pos(X, Y) _ksys_set_mouse_settings(KSYS_MOUSE_SET_POS, X * 65536 + Y) +/*===================== Function 18, subfunction 20 ====================*/ + +KOSAPI int _ksys_get_memory_info(ksys_memory_info_t* info) +{ + int total; + asm_inline( + "int $0x40" + : "=a"(total) + : "a"(18), "b"(20), "c"(info) + : "memory"); + return total; +} + +/*===================== Function 18, subfunction 21 ====================*/ +/*=====Get the slot number of the process / thread by identifier.. =====*/ + +KOSAPI int _ksys_get_thread_slot(int PID) +{ + int val; + asm_inline( + "int $0x40" + : "=a"(val) + : "a"(18), "b"(21), "c"(PID)); + return val; +} + +/*===================== Function 18, subfunction 22 ====================*/ + +typedef enum KSYS_WIN_REMOTE_CONTROL { + WIN_MINIMIZE_BY_SLOT = 0, + WIN_MINIMIZE_BY_PID = 1, + WIN_RESTORE_BY_SLOT = 2, + WIN_RESTORE_BY_PID = 3 +} ksys_win_remote_control_t; + +KOSAPI int _ksys_window_remote_control(ksys_win_remote_control_t type, uint32_t param) +{ + int result; + + asm_inline( + "int $0x40" + : "=a"(result) + : "a"(18), "b"(22), "c"(type), "d"(param)); + return result; +} + +/*===================== Function 18, subfunction 23 ====================*/ + +KOSAPI int _ksys_minimize_all_windows() +{ + int count; + asm_inline( + "int $0x40" + : "=a"(count) + : "a"(18), "b"(23)); + return count; +} + +/*===================== Function 18, subfunction 24 ====================*/ + +KOSAPI void _ksys_set_draw_limits(unsigned int x, unsigned int y) +{ + asm_inline( + "int $0x40" ::"a"(18), "b"(24), "c"(x), "d"(y)); +} + +/*===================== Function 18, subfunction 25 ====================*/ + +typedef enum KSYS_ZPOS { + KSYS_ZPOS_DESKTOP = -2, + KSYS_ZPOS_ALWAYS_BACK = -1, + KSYS_ZPOS_NORMAL = 0, + KSYS_ZPOS_ALWAYS_TOP = 1 +} ksys_zpos_t; + +/*=========== Function 18, subfunction 25, subsubfunction 1 ============*/ + +KOSAPI ksys_zpos_t _ksys_get_window_zposition(int32_t pid) +{ + ksys_zpos_t result_eax; + + asm_inline( + "int $0x40" + : "=a"(result_eax) + : "a"(18), "b"(25), "c"(1), "d"(pid)); + + return result_eax; +} + +/*=========== Function 18, subfunction 25, subsubfunction 2 ============*/ + +KOSAPI int _ksys_set_window_zposition(int32_t pid, ksys_zpos_t position) +{ + int err; + + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(18), "b"(25), "c"(2), "d"(pid), "S"(position)); + + return err; +} + +/*==================== Function 21, subfunction 2 =====================*/ + +typedef enum KSYS_KEYBOARD_LAYOUT { + KSYS_KEYBOARD_LAYOUT_NORMAL = 1, + KSYS_KEYBOARD_LAYOUT_SHIFT = 2, + KSYS_KEYBOARD_LAYOUT_ALT = 3 +} ksys_keyboard_layout_t; + +KOSAPI int _ksys_set_keyboard_layout(ksys_keyboard_layout_t mode, char* table) +{ + int err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(2), "c"(mode), "d"(table)); + return err; +} + +typedef enum KSYS_LANG { + KSYS_LANG_ENG = 1, + KSYS_LANG_FI = 2, + KSYS_LANG_GER = 3, + KSYS_LANG_RU = 4 +} ksys_lang_t; + +KOSAPI int _ksys_set_keyboard_lang(ksys_lang_t lang) +{ + int err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(2), "c"(9), "d"(lang)); + return err; +} + +/*==================== Function 21, subfunction 5 =====================*/ + +KOSAPI int _ksys_set_lang(ksys_lang_t lang) +{ + int err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(5), "c"(lang)); + + return err; +} + +/*==================== Function 21, subfunction 11 =====================*/ + +KOSAPI int _ksys_allow_HD(int param) +{ + int err; + + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(11), "c"(param)); + + return err; +} + +/*==================== Function 21, subfunction 12 =====================*/ + +KOSAPI int _ksys_allow_PCI(int param) +{ + int err; + + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(21), "b"(12), "c"(param)); + + return err; +} + +typedef enum KSYS_SET_TIME_ERR { + KSYS_SET_TIME_OK = 0, + KSYS_SET_TIME_WRONG_PARAM = 1, + KSYS_SET_TIME_CMOS = 2 +} ksys_set_time_err; + +/*============================ Function 22 ============================*/ + +KOSAPI ksys_set_time_err _ksys_set_time(ksys_time_bcd_t time) +{ + ksys_set_time_err err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(22), "b"(0), "c"(time)); +} + +KOSAPI ksys_set_time_err _ksys_set_date(ksys_date_bcd_t date) +{ + ksys_set_time_err err; + asm_inline( + "int $0x40" + : "=a"(err) + : "a"(22), "b"(1), "c"(date)); +} + +/*============= Function 23 - wait for event with timeout. =============*/ + +KOSAPI uint32_t _ksys_wait_event_timeout(uint32_t timeout) +{ + unsigned val; + asm_inline( + "int $0x40" + : "=a"(val) + : "a"(23), "b"(timeout)); + return val; +} + +/*========= Function 26, subfunction 2 - get keyboard layout. ==========*/ + +KOSAPI uint32_t _ksys_keyboard_layout(ksys_keyboard_layout_t layout, unsigned char* buf) +{ + asm_inline("int $0x40" ::"a"(26), "b"(2), "c"(layout), "d"(buf) : "memory"); +} + +KOSAPI ksys_lang_t _ksys_get_keyboard_lang() +{ + ksys_lang_t lang; + asm_inline( + "int $0x40" + : "=a"(lang) + : "a"(26), "b"(2), "c"(9)); + return lang; +} + +/*======= Function 26, subfunction 5 - get the system language. ========*/ + +KOSAPI ksys_lang_t _ksys_get_lang() +{ + ksys_lang_t lang; + + asm_inline( + "int $0x40" + : "=a"(lang) + : "a"(26), "b"(5)); + + return lang; +} + /*===================== Function 18, subfunction 21 ====================*/ /*=====Get the slot number of the process / thread by identifier.. =====*/ -- 2.49.1 From e6e4872a4c0199d5264a3b9085fb21c0163740ce Mon Sep 17 00:00:00 2001 From: Egor00f Date: Sun, 8 Mar 2026 18:20:35 +0500 Subject: [PATCH 3/4] fix "secondgoes"` --- contrib/sdk/sources/newlib/libc/include/sys/ksys.h | 2 +- programs/develop/ktcc/trunk/libc.obj/include/sys/ksys.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/sdk/sources/newlib/libc/include/sys/ksys.h b/contrib/sdk/sources/newlib/libc/include/sys/ksys.h index cf1ebbd78..d42ab6a66 100644 --- a/contrib/sdk/sources/newlib/libc/include/sys/ksys.h +++ b/contrib/sdk/sources/newlib/libc/include/sys/ksys.h @@ -159,7 +159,7 @@ typedef struct { typedef union { struct { - uint32_t cpu_usage; // CPU usage (cycles per secondgoes) + uint32_t cpu_usage; // CPU usage (cycles per secondes) uint16_t pos_in_window_stack; // position of the thread window in the window stack uint16_t slot_num_window_stack; // slot number in window stack uint16_t __reserved1; // reserved diff --git a/programs/develop/ktcc/trunk/libc.obj/include/sys/ksys.h b/programs/develop/ktcc/trunk/libc.obj/include/sys/ksys.h index a29de3078..74c5758b6 100644 --- a/programs/develop/ktcc/trunk/libc.obj/include/sys/ksys.h +++ b/programs/develop/ktcc/trunk/libc.obj/include/sys/ksys.h @@ -120,7 +120,7 @@ typedef struct { typedef union { struct { - uint32_t cpu_usage; // CPU usage (cycles per secondgoes) + uint32_t cpu_usage; // CPU usage (cycles per secondes) uint16_t pos_in_window_stack; // position of the thread window in the window stack uint16_t slot_num_window_stack; // slot number in window stack uint16_t __reserved1; // reserved -- 2.49.1 From 3db4982b256dad801b3e406d8f37c32e2012ac7d Mon Sep 17 00:00:00 2001 From: Egor00f Date: Sun, 8 Mar 2026 19:58:53 +0500 Subject: [PATCH 4/4] newlib: fix correction of repetitions in `ksys.h` --- .../sources/newlib/libc/include/sys/ksys.h | 25 ------------------- 1 file changed, 25 deletions(-) diff --git a/contrib/sdk/sources/newlib/libc/include/sys/ksys.h b/contrib/sdk/sources/newlib/libc/include/sys/ksys.h index d42ab6a66..2a165c547 100644 --- a/contrib/sdk/sources/newlib/libc/include/sys/ksys.h +++ b/contrib/sdk/sources/newlib/libc/include/sys/ksys.h @@ -1106,18 +1106,6 @@ KOSAPI ksys_set_time_err _ksys_set_date(ksys_date_bcd_t date) : "a"(22), "b"(1), "c"(date)); } -/*============= Function 23 - wait for event with timeout. =============*/ - -KOSAPI uint32_t _ksys_wait_event_timeout(uint32_t timeout) -{ - unsigned val; - asm_inline( - "int $0x40" - : "=a"(val) - : "a"(23), "b"(timeout)); - return val; -} - /*========= Function 26, subfunction 2 - get keyboard layout. ==========*/ KOSAPI uint32_t _ksys_keyboard_layout(ksys_keyboard_layout_t layout, unsigned char* buf) @@ -1149,19 +1137,6 @@ KOSAPI ksys_lang_t _ksys_get_lang() return lang; } -/*===================== Function 18, subfunction 21 ====================*/ -/*=====Get the slot number of the process / thread by identifier.. =====*/ - -KOSAPI int _ksys_get_thread_slot(int PID) -{ - int val; - asm_inline( - "int $0x40" - : "=a"(val) - : "a"(18), "b"(21), "c"(PID)); - return val; -} - /*============= Function 23 - wait for event with timeout. =============*/ KOSAPI uint32_t _ksys_wait_event_timeout(uint32_t timeout) -- 2.49.1