Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9828 → Rev 9829

/contrib/sdk/sources/newlib/libc/include/sys/ksys.h
245,6 → 245,118
KSYS_TITLE_UTF8 = 3
};
 
enum KSYS_SCANCODES {
KSYS_SCANCODE_ANY = 0,
KSYS_SCANCODE_ESC = 1,
KSYS_SCANCODE_1 = 2,
KSYS_SCANCODE_2 = 3,
KSYS_SCANCODE_3 = 4,
KSYS_SCANCODE_4 = 5,
KSYS_SCANCODE_5 = 6,
KSYS_SCANCODE_6 = 7,
KSYS_SCANCODE_7 = 8,
KSYS_SCANCODE_8 = 9,
KSYS_SCANCODE_9 = 10,
KSYS_SCANCODE_0 = 11,
KSYS_SCANCODE_MINUS = 12,
KSYS_SCANCODE_EQUAL = 13,
KSYS_SCANCODE_BACKSPACE = 14,
KSYS_SCANCODE_TAB = 15,
KSYS_SCANCODE_Q = 16,
KSYS_SCANCODE_W = 17,
KSYS_SCANCODE_E = 18,
KSYS_SCANCODE_R = 19,
KSYS_SCANCODE_T = 20,
KSYS_SCANCODE_Y = 21,
KSYS_SCANCODE_U = 22,
KSYS_SCANCODE_I = 23,
KSYS_SCANCODE_O = 24,
KSYS_SCANCODE_P = 25,
KSYS_SCANCODE_LBRACE = 26,
KSYS_SCANCODE_RBRACE = 27,
KSYS_SCANCODE_ENTER = 28,
KSYS_SCANCODE_EXT_NUMPAD_ENTER = 28,
KSYS_SCANCODE_LCTRL = 29,
KSYS_SCANCODE_EXT_RCTRL = 29,
KSYS_SCANCODE_A = 30,
KSYS_SCANCODE_S = 31,
KSYS_SCANCODE_D = 32,
KSYS_SCANCODE_F = 33,
KSYS_SCANCODE_G = 34,
KSYS_SCANCODE_H = 35,
KSYS_SCANCODE_J = 36,
KSYS_SCANCODE_K = 37,
KSYS_SCANCODE_L = 38,
KSYS_SCANCODE_SEMICOLON = 39,
KSYS_SCANCODE_SQUOTE = 40,
KSYS_SCANCODE_BQUOTE = 41,
KSYS_SCANCODE_LSHIFT = 42,
KSYS_SCANCODE_BACKSLASH = 43,
KSYS_SCANCODE_Z = 44,
KSYS_SCANCODE_X = 45,
KSYS_SCANCODE_C = 46,
KSYS_SCANCODE_V = 47,
KSYS_SCANCODE_B = 48,
KSYS_SCANCODE_N = 49,
KSYS_SCANCODE_M = 50,
KSYS_SCANCODE_COMMA = 51,
KSYS_SCANCODE_POINT = 52,
KSYS_SCANCODE_SLASH = 53,
KSYS_SCANCODE_EXT_NUMPAD_DIV = 53,
KSYS_SCANCODE_RSHIFT = 54,
KSYS_SCANCODE_NUMPAD_MULT = 55,
KSYS_SCANCODE_EXT_PRTSCR = 55,
KSYS_SCANCODE_LALT = 56,
KSYS_SCANCODE_EXT_RALT = 56,
KSYS_SCANCODE_SPACE = 57,
KSYS_SCANCODE_CAPSLOCK = 58,
KSYS_SCANCODE_F1 = 59,
KSYS_SCANCODE_F2 = 60,
KSYS_SCANCODE_F3 = 61,
KSYS_SCANCODE_F4 = 62,
KSYS_SCANCODE_F5 = 63,
KSYS_SCANCODE_F6 = 64,
KSYS_SCANCODE_F7 = 65,
KSYS_SCANCODE_F8 = 66,
KSYS_SCANCODE_F9 = 67,
KSYS_SCANCODE_F10 = 68,
KSYS_SCANCODE_NUMLOCK = 69,
KSYS_SCANCODE_SCRLOCK = 70,
KSYS_SCANCODE_NUMPAD_7 = 71,
KSYS_SCANCODE_EXT_HOME = 71,
KSYS_SCANCODE_NUMPAD_8 = 72,
KSYS_SCANCODE_EXT_UP = 72,
KSYS_SCANCODE_NUMPAD_9 = 73,
KSYS_SCANCODE_EXT_PGUP = 73,
KSYS_SCANCODE_NUMPAD_MINUS = 74,
KSYS_SCANCODE_NUMPAD_4 = 75,
KSYS_SCANCODE_EXT_LEFT = 75,
KSYS_SCANCODE_NUMPAD_5 = 76,
KSYS_SCANCODE_NUMPAD_6 = 77,
KSYS_SCANCODE_EXT_RIGHT = 77,
KSYS_SCANCODE_NUMPAD_PLUS = 78,
KSYS_SCANCODE_NUMPAD_1 = 79,
KSYS_SCANCODE_EXT_END = 79,
KSYS_SCANCODE_NUMPAD_2 = 80,
KSYS_SCANCODE_EXT_DOWN = 80,
KSYS_SCANCODE_NUMPAD_3 = 81,
KSYS_SCANCODE_EXT_PGDOWN = 81,
KSYS_SCANCODE_NUMPAD_0 = 82,
KSYS_SCANCODE_EXT_INSERT = 82,
KSYS_SCANCODE_NUMPAD_COMMA = 83,
KSYS_SCANCODE_EXT_DELETE = 83,
//84-86 doesn't exist
KSYS_SCANCODE_F11 = 87,
KSYS_SCANCODE_F12 = 88,
//89,90 doesn't exist
KSYS_SCANCODE_EXT_LWIN = 91,
KSYS_SCANCODE_EXT_RWIN = 92,
KSYS_SCANCODE_EXT_MENU = 93,
KSYS_SCANCODE_EXT = 0xE0,
 
KSYS_SCANCODE_UNK_M_UP = 250 // Is it needed?
};
 
KOSAPI int __strcmp(const char* s1, const char* s2)
{
while ((*s1) && (*s1 == *s2)) {
1092,6 → 1204,50
return key_state;
}
 
/*========= Function 66, subfunction 4 - set system-wide hotkey. ========*/
 
enum KSYS_SYS_HOTKEY_CONTROL_KEY_STATES {
KSYS_SYS_HOTKEY_SHIFT_NONE = 0x0,
KSYS_SYS_HOTKEY_SHIFT_ONE = 0x1,
KSYS_SYS_HOTKEY_SHIFT_BOTH = 0x2,
KSYS_SYS_HOTKEY_SHIFT_LEFTONLY = 0x3,
KSYS_SYS_HOTKEY_SHIFT_RIGHTONLY = 0x4,
 
KSYS_SYS_HOTKEY_CTRL_NONE = 0x00,
KSYS_SYS_HOTKEY_CTRL_ONE = 0x10,
KSYS_SYS_HOTKEY_CTRL_BOTH = 0x20,
KSYS_SYS_HOTKEY_CTRL_LEFTONLY = 0x30,
KSYS_SYS_HOTKEY_CTRL_RIGHTONLY = 0x40,
 
KSYS_SYS_HOTKEY_ALT_NONE = 0x000,
KSYS_SYS_HOTKEY_ALT_ONE = 0x100,
KSYS_SYS_HOTKEY_ALT_BOTH = 0x200,
KSYS_SYS_HOTKEY_ALT_LEFTONLY = 0x300,
KSYS_SYS_HOTKEY_ALT_RIGHTONLY = 0x400,
};
 
KOSAPI int _ksys_set_sys_hotkey(uint8_t scancode, uint16_t control_key_states) {
int res;
asm_inline(
"int $0x40"
: "=a"(res)
: "a"(66), "b"(4), "c"(scancode), "d"(control_key_states)
: "memory");
return res;
}
 
/*========= Function 66, subfunction 5 - delete installed hotkey. ========*/
 
KOSAPI int _ksys_del_sys_hotkey(uint8_t scancode, uint16_t control_key_states) {
int res;
asm_inline(
"int $0x40"
: "=a"(res)
: "a"(66), "b"(5), "c"(scancode), "d"(control_key_states)
: "memory");
return res;
}
 
/*========= Function 67 - change position/sizes of the window. =========*/
 
KOSAPI void _ksys_change_window(int new_x, int new_y, int new_w, int new_h)
1388,7 → 1544,7
return _ksys70(&k).status;
}
 
/*============= Function 70, subfunction 9 - create folder. ============*/
/*============= Function 70, subfunction 9 - create folder. =============*/
 
KOSAPI int _ksys_mkdir(const char* path)
{
1412,7 → 1568,7
 
#define _ksys_dir_rename _ksys_file_rename
 
/*============ Function 71, subfunction 1 - set window title ============= */
/*============= Function 71, subfunction 1 - set window title =============*/
 
KOSAPI void _ksys_set_window_title(const char* title)
{
1422,8 → 1578,56
 
#define _ksys_clear_window_title() _ksys_set_window_title(NULL)
 
/*============= Function 77 - implements the POSIX subsystem. =============*/
/*============= Function 77, subfunction 0 - create futex object =============*/
 
KOSAPI void* _ksys_futex_create(void* futexControlAddr) {
void* futexDesc;
asm_inline(
"int $0x40"
: "=a"(futexDesc)
: "a"(77), "b"(0), "c"(futexControlAddr)
: "memory");
return futexDesc;
}
 
/*============= Function 77, subfunction 1 - destroy futex object =============*/
 
KOSAPI int _ksys_futex_destroy(void* futexDesc) {
int res;
asm_inline(
"int $0x40"
: "=a"(res)
: "a"(77), "b"(1), "c"(futexDesc)
: "memory");
return res;
}
 
/*============= Function 77, subfunction 2 - futex wait =============*/
 
KOSAPI int _ksys_futex_wait(void* futexDesc, int controlVal, int timeout) {
int res;
asm_inline(
"int $0x40"
: "=a"(res)
: "a"(77), "b"(2), "c"(futexDesc), "d"(controlVal), "S"(timeout)
: "memory");
return res;
}
 
/*============= Function 77, subfunction 3 - futex wake =============*/
 
KOSAPI int _ksys_futex_wake(void* futexDesc, int maxWakeCount) {
int count;
asm_inline(
"int $0x40"
: "=a"(count)
: "a"(77), "b"(3), "c"(futexDesc), "d"(maxWakeCount)
: "memory");
return count;
}
 
/*============= Function 77, subfunction 10 - read from file to buffer =============*/
 
KOSAPI int _ksys_posix_read(int pipefd, void* buff, int n)
{
int count;
1435,6 → 1639,8
return count;
}
 
/*============= Function 77, subfunction 11 - write from buffer to file =============*/
 
KOSAPI int _ksys_posix_write(int pipefd, void* buff, int n)
{
int count;
1446,6 → 1652,8
return count;
}
 
/*============= Function 77, subfunction 13 - create new pipe =============*/
 
KOSAPI int _ksys_posix_pipe2(int pipefd[2], int flags)
{
int err;