111 lines
2.9 KiB
PHP
111 lines
2.9 KiB
PHP
; syscall_nr.inc - assembled from syscall_nr.h for use in .asm files
|
|
; Keep in sync with syscall_nr.h and ke_syscall.c.
|
|
|
|
; Process & Thread
|
|
SYS_EXIT_PROCESS EQU 0
|
|
SYS_EXIT_THREAD EQU 1
|
|
SYS_CREATE_THREAD EQU 2
|
|
SYS_GET_CURRENT_TID EQU 3
|
|
SYS_GET_CURRENT_PID EQU 4
|
|
SYS_YIELD EQU 5
|
|
SYS_SLEEP EQU 6
|
|
SYS_SET_THREAD_PRIORITY EQU 7
|
|
|
|
; Memory
|
|
SYS_ALLOC EQU 8
|
|
SYS_FREE EQU 9
|
|
SYS_REALLOC EQU 10
|
|
|
|
; Mutex
|
|
SYS_MUTEX_CREATE EQU 11
|
|
SYS_MUTEX_ACQUIRE EQU 12
|
|
SYS_MUTEX_TRY_ACQUIRE EQU 13
|
|
SYS_MUTEX_RELEASE EQU 14
|
|
|
|
; Semaphore
|
|
SYS_SEM_CREATE EQU 15
|
|
SYS_SEM_WAIT EQU 16
|
|
SYS_SEM_TRY_WAIT EQU 17
|
|
SYS_SEM_SIGNAL EQU 18
|
|
|
|
; Event
|
|
SYS_EVENT_CREATE EQU 19
|
|
SYS_EVENT_SIGNAL EQU 20
|
|
SYS_EVENT_CLEAR EQU 21
|
|
SYS_EVENT_WAIT EQU 22
|
|
|
|
; Queue
|
|
SYS_QUEUE_CREATE EQU 23
|
|
SYS_QUEUE_SEND EQU 24
|
|
SYS_QUEUE_RECV EQU 25
|
|
|
|
; Handle (unified - one close for every object type)
|
|
SYS_CLOSE_HANDLE EQU 26
|
|
|
|
; File I/O
|
|
SYS_OPEN_FILE EQU 27
|
|
SYS_READ_FILE EQU 28
|
|
SYS_SEEK_FILE EQU 29
|
|
SYS_GET_FILE_SIZE EQU 30
|
|
SYS_WRITE_FILE EQU 31 ; handle, buf, size, *bytesWritten
|
|
SYS_CREATE_FILE EQU 32 ; *path, *handleOut
|
|
SYS_DELETE_FILE EQU 33 ; *path
|
|
SYS_TRUNCATE_FILE EQU 34 ; handle, newSize
|
|
SYS_GET_FILE_POS EQU 35 ; handle -> current offset
|
|
|
|
; Screen
|
|
SYS_SCREEN_BLIT EQU 36
|
|
SYS_SCREEN_CLEAR EQU 37
|
|
SYS_SCREEN_GET_SIZE EQU 38
|
|
SYS_SCREEN_PUT_CHAR EQU 39
|
|
|
|
; Keyboard
|
|
SYS_KB_POLL EQU 40
|
|
SYS_KB_READ_CHAR EQU 41
|
|
SYS_KB_READ_SCANCODE EQU 42
|
|
SYS_KB_GET_MODIFIERS EQU 43
|
|
|
|
; Mouse
|
|
SYS_MOUSE_POLL EQU 44
|
|
SYS_MOUSE_READ EQU 45
|
|
SYS_MOUSE_GET_POS EQU 46
|
|
|
|
; Timer
|
|
SYS_GET_TICK EQU 47
|
|
|
|
; Debug
|
|
SYS_DEBUG_PRINT EQU 48
|
|
|
|
; Process launch & lifecycle
|
|
SYS_CREATE_PROCESS EQU 49
|
|
SYS_WAIT_FOR_PROCESS EQU 50
|
|
SYS_GET_PROCESS_EXIT_CODE EQU 51
|
|
|
|
; Console output
|
|
SYS_WRITE_CONSOLE EQU 52
|
|
|
|
; Directory enumeration
|
|
SYS_OPEN_DIR EQU 53
|
|
SYS_READ_DIR EQU 54
|
|
|
|
; Current Working Directory
|
|
SYS_SET_CWD EQU 55
|
|
SYS_GET_CWD EQU 56
|
|
|
|
; Thread join
|
|
SYS_WAIT_THREAD EQU 57 ; a0=tid -> KSTATUS
|
|
|
|
; Process PID query
|
|
SYS_GET_PROCESS_PID EQU 58 ; a0=procHandle a1=*pidOut -> KSTATUS
|
|
|
|
; Named Queue Registry
|
|
SYS_PUBLISH_QUEUE EQU 59 ; a0=*name a1=queueHandle -> KSTATUS
|
|
SYS_OPEN_NAMED_QUEUE EQU 60 ; a0=*name a1=*handleOut -> KSTATUS
|
|
|
|
; Handle duplication
|
|
SYS_QUEUE_DUPLICATE EQU 61 ; a0=handle a1=targetPid a2=*handleOut -> KSTATUS
|
|
SYS_NAMED_QUEUE_OWNER_PID EQU 62 ; a0=*name a1=*pidOut -> KSTATUS
|
|
|
|
; Sentinel
|
|
SYS_MAX EQU 63
|