redo boot around an explicit system volume and fixed kernel/HAL images, redo volumes and filesystem paths around capabilities instead of drive numbers and kernel CWD state, add a capability/security model with derived and revocable handles and security contexts, add port IPC and rssrv to manage the userspace resource namespace and publish the system volume, move process, dll and path loading to userspace and add process builder syscalls, init now supervises rssrv and the session process, redo the syscall ABI around request structs and four arguments, add a volume manager and proper partition arrival/removal handling so FAT and NTFS mount dynamically, clean up the HAL/DDK boundary so drivers don't depend on HAL internals, save fpu state properly now, the serial driver doesn't hang on a missing port, fix AHCI startup races, fix timeout accounting, fix shared mmap writeback, more smoke tests
This commit is contained in:
1 parent
4add6789ba
commit
f882d339fb
232 files changed
+20934
-8898
No files matched your search
+181
-190
@@ -1,20 +1,14 @@
|
||||
; syscall_stubs.asm - user-mode INT 0x40 stubs exported by syscall.dll (MASM64)
|
||||
; syscall_stubs.asm - user-mode INT 0x40 stubs for syscall.dll and syscall_s.lib (MASM64)
|
||||
;
|
||||
; Calling convention (kernel side):
|
||||
; RAX = syscall number
|
||||
; RCX = arg 0
|
||||
; RDX = arg 1
|
||||
; R8 = arg 2
|
||||
; R9 = arg 3
|
||||
; R10 = arg 4 (our extension - loaded from the stack by SYSCALL_STUB6)
|
||||
; R11 = arg 5 (our extension - loaded from the stack by SYSCALL_STUB6)
|
||||
; Calling convention:
|
||||
; RAX = syscall number.
|
||||
; RCX = arg 0.
|
||||
; RDX = arg 1.
|
||||
; R8 = arg 2.
|
||||
; R9 = arg 3.
|
||||
;
|
||||
; User-mode callers follow standard MS x64: args 1-4 in RCX/RDX/R8/R9,
|
||||
; args 5+ on the stack above the home area ([rsp+28h], [rsp+30h], ...).
|
||||
;
|
||||
; SYSCALL_STUB2/3 - 4 or fewer args: pure register passing, no stack read.
|
||||
; SYSCALL_STUB5 - exactly 5 args: loads [rsp+28h] -> R10 only.
|
||||
; SYSCALL_STUB6 - 5 or 6 args: loads [rsp+28h] -> R10 and [rsp+30h] -> R11.
|
||||
; Syscalls never consume stack arguments. Operations that need more than four
|
||||
; logical arguments use a request structure.
|
||||
|
||||
INCLUDE syscall_nr.inc
|
||||
|
||||
@@ -28,42 +22,13 @@ SYS_USER_APC_FRAME_SystemArgument2 EQU 40
|
||||
.CODE
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 MACRO name, nr
|
||||
SYSCALL_STUB MACRO name, nr
|
||||
PUBLIC Sys&name
|
||||
IFDEF NTL_SYSCALL_STATIC
|
||||
Sys&name PROC
|
||||
ELSE
|
||||
Sys&name PROC EXPORT
|
||||
mov rax, nr
|
||||
int 40h
|
||||
ret
|
||||
Sys&name ENDP
|
||||
ENDM
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB3 MACRO name, nr
|
||||
PUBLIC Sys&name
|
||||
Sys&name PROC EXPORT
|
||||
mov rax, nr
|
||||
int 40h
|
||||
ret
|
||||
Sys&name ENDP
|
||||
ENDM
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB5 MACRO name, nr
|
||||
PUBLIC Sys&name
|
||||
Sys&name PROC EXPORT
|
||||
mov r10, [rsp+28h] ; 5th argument
|
||||
mov rax, nr
|
||||
int 40h
|
||||
ret
|
||||
Sys&name ENDP
|
||||
ENDM
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB6 MACRO name, nr
|
||||
PUBLIC Sys&name
|
||||
Sys&name PROC EXPORT
|
||||
mov r10, [rsp+28h] ; 5th argument
|
||||
mov r11, [rsp+30h] ; 6th argument
|
||||
ENDIF
|
||||
mov rax, nr
|
||||
int 40h
|
||||
ret
|
||||
@@ -73,43 +38,45 @@ ENDM
|
||||
; ---------------------------------------------------------------------------
|
||||
; Process & thread lifecycle
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 ExitProcess, SYS_EXIT_PROCESS
|
||||
SYSCALL_STUB2 ExitThread, SYS_EXIT_THREAD
|
||||
SYSCALL_STUB2 CreateProcess, SYS_CREATE_PROCESS
|
||||
SYSCALL_STUB3 WaitSingle, SYS_WAIT_SINGLE
|
||||
SYSCALL_STUB2 WaitMany, SYS_WAIT_MANY
|
||||
SYSCALL_STUB2 OpenInputQueue, SYS_OPEN_INPUT_QUEUE
|
||||
SYSCALL_STUB2 GetProcessExitCode, SYS_GET_PROCESS_EXIT_CODE
|
||||
SYSCALL_STUB2 OpenProcess, SYS_OPEN_PROCESS
|
||||
SYSCALL_STUB2 KillProcess, SYS_KILL_PROCESS
|
||||
SYSCALL_STUB2 GetProcessList, SYS_GET_PROCESS_LIST
|
||||
SYSCALL_STUB2 GetProcessPid, SYS_GET_PROCESS_PID
|
||||
SYSCALL_STUB2 GetThreadList, SYS_GET_THREAD_LIST
|
||||
SYSCALL_STUB2 LoadModule, SYS_LOAD_MODULE
|
||||
SYSCALL_STUB2 UnloadModule, SYS_UNLOAD_MODULE
|
||||
SYSCALL_STUB2 GetModuleInfo, SYS_GET_MODULE_INFO
|
||||
SYSCALL_STUB2 GetModuleExport, SYS_GET_MODULE_EXPORT
|
||||
SYSCALL_STUB2 GetModuleList, SYS_GET_MODULE_LIST
|
||||
SYSCALL_STUB ExitProcess, SYS_EXIT_PROCESS
|
||||
SYSCALL_STUB ExitThread, SYS_EXIT_THREAD
|
||||
SYSCALL_STUB CreateProcessObject, SYS_CREATE_PROCESS_OBJECT
|
||||
SYSCALL_STUB AllocProcessVm, SYS_ALLOC_PROCESS_VM
|
||||
SYSCALL_STUB ProtectProcessVm, SYS_PROTECT_PROCESS_VM
|
||||
SYSCALL_STUB StartProcess, SYS_START_PROCESS
|
||||
SYSCALL_STUB WaitSingle, SYS_WAIT_SINGLE
|
||||
SYSCALL_STUB WaitMany, SYS_WAIT_MANY
|
||||
SYSCALL_STUB OpenInputQueue, SYS_OPEN_INPUT_QUEUE
|
||||
SYSCALL_STUB GetProcessExitCode, SYS_GET_PROCESS_EXIT_CODE
|
||||
SYSCALL_STUB OpenProcess, SYS_OPEN_PROCESS
|
||||
SYSCALL_STUB KillProcess, SYS_KILL_PROCESS
|
||||
SYSCALL_STUB GetProcessList, SYS_GET_PROCESS_LIST
|
||||
SYSCALL_STUB GetProcessPid, SYS_GET_PROCESS_PID
|
||||
SYSCALL_STUB GetThreadList, SYS_GET_THREAD_LIST
|
||||
|
||||
SYSCALL_STUB2 CreateThread, SYS_CREATE_THREAD
|
||||
SYSCALL_STUB2 ResumeThread, SYS_RESUME_THREAD
|
||||
SYSCALL_STUB2 GetCurrentTid, SYS_GET_CURRENT_TID
|
||||
SYSCALL_STUB2 GetCurrentPid, SYS_GET_CURRENT_PID
|
||||
SYSCALL_STUB2 SetThreadPriority, SYS_SET_THREAD_PRIORITY
|
||||
SYSCALL_STUB2 Yield, SYS_YIELD
|
||||
SYSCALL_STUB2 Sleep, SYS_SLEEP
|
||||
SYSCALL_STUB2 SetUserApcDispatcher, SYS_SET_USER_APC_DISPATCHER
|
||||
SYSCALL_STUB2 ApcReturn, SYS_APC_RETURN
|
||||
SYSCALL_STUB2 SetExceptionDispatcher, SYS_SET_EXCEPTION_DISPATCHER
|
||||
SYSCALL_STUB2 GetExceptionDispatcher, SYS_GET_EXCEPTION_DISPATCHER
|
||||
SYSCALL_STUB2 ContinueException, SYS_CONTINUE_EXCEPTION
|
||||
SYSCALL_STUB2 RaiseException, SYS_RAISE_EXCEPTION
|
||||
SYSCALL_STUB CreateThread, SYS_CREATE_THREAD
|
||||
SYSCALL_STUB ResumeThread, SYS_RESUME_THREAD
|
||||
SYSCALL_STUB GetCurrentTid, SYS_GET_CURRENT_TID
|
||||
SYSCALL_STUB GetCurrentPid, SYS_GET_CURRENT_PID
|
||||
SYSCALL_STUB SetThreadPriority, SYS_SET_THREAD_PRIORITY
|
||||
SYSCALL_STUB Yield, SYS_YIELD
|
||||
SYSCALL_STUB Sleep, SYS_SLEEP
|
||||
SYSCALL_STUB SetUserApcDispatcher, SYS_SET_USER_APC_DISPATCHER
|
||||
SYSCALL_STUB ApcReturn, SYS_APC_RETURN
|
||||
SYSCALL_STUB SetExceptionDispatcher, SYS_SET_EXCEPTION_DISPATCHER
|
||||
SYSCALL_STUB GetExceptionDispatcher, SYS_GET_EXCEPTION_DISPATCHER
|
||||
SYSCALL_STUB ContinueException, SYS_CONTINUE_EXCEPTION
|
||||
SYSCALL_STUB RaiseException, SYS_RAISE_EXCEPTION
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; User APC dispatcher
|
||||
; ---------------------------------------------------------------------------
|
||||
PUBLIC SysUserApcDispatcher
|
||||
IFDEF NTL_SYSCALL_STATIC
|
||||
SysUserApcDispatcher PROC
|
||||
ELSE
|
||||
SysUserApcDispatcher PROC EXPORT
|
||||
ENDIF
|
||||
; Kernel enters here with RSP pointing at SYS_USER_APC_FRAME. There is no
|
||||
; return address because this is an IRET redirection. Preserve RBX because
|
||||
; the original user context resumes after SysApcReturn.
|
||||
@@ -137,152 +104,176 @@ SysUserApcDispatcher ENDP
|
||||
; ---------------------------------------------------------------------------
|
||||
; Virtual memory and handles
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 AllocVm, SYS_ALLOC_VM
|
||||
SYSCALL_STUB2 FreeVm, SYS_FREE_VM
|
||||
SYSCALL_STUB2 ProtectVm, SYS_PROTECT_VM
|
||||
SYSCALL_STUB2 QueryVm, SYS_QUERY_VM
|
||||
SYSCALL_STUB2 CloseHandle, SYS_CLOSE_HANDLE
|
||||
SYSCALL_STUB2 DuplicateHandle, SYS_DUPLICATE_HANDLE
|
||||
SYSCALL_STUB AllocVm, SYS_ALLOC_VM
|
||||
SYSCALL_STUB FreeVm, SYS_FREE_VM
|
||||
SYSCALL_STUB ProtectVm, SYS_PROTECT_VM
|
||||
SYSCALL_STUB QueryVm, SYS_QUERY_VM
|
||||
SYSCALL_STUB CloseHandle, SYS_CLOSE_HANDLE
|
||||
SYSCALL_STUB DuplicateHandle, SYS_DUPLICATE_HANDLE
|
||||
SYSCALL_STUB DeriveHandle, SYS_DERIVE_HANDLE
|
||||
SYSCALL_STUB RevokeHandle, SYS_REVOKE_HANDLE
|
||||
SYSCALL_STUB DeriveSecurityContext, SYS_DERIVE_SECURITY_CONTEXT
|
||||
SYSCALL_STUB QuerySecurityContext, SYS_QUERY_SECURITY_CONTEXT
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Synchronization objects
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 CreateMutex, SYS_CREATE_MUTEX
|
||||
SYSCALL_STUB2 TryAcquireMutex, SYS_TRY_ACQUIRE_MUTEX
|
||||
SYSCALL_STUB2 ReleaseMutex, SYS_RELEASE_MUTEX
|
||||
SYSCALL_STUB CreateMutex, SYS_CREATE_MUTEX
|
||||
SYSCALL_STUB TryAcquireMutex, SYS_TRY_ACQUIRE_MUTEX
|
||||
SYSCALL_STUB ReleaseMutex, SYS_RELEASE_MUTEX
|
||||
|
||||
SYSCALL_STUB2 CreateSem, SYS_CREATE_SEM
|
||||
SYSCALL_STUB2 TryWaitSem, SYS_TRY_WAIT_SEM
|
||||
SYSCALL_STUB2 SignalSem, SYS_SIGNAL_SEM
|
||||
SYSCALL_STUB CreateSem, SYS_CREATE_SEM
|
||||
SYSCALL_STUB TryWaitSem, SYS_TRY_WAIT_SEM
|
||||
SYSCALL_STUB SignalSem, SYS_SIGNAL_SEM
|
||||
|
||||
SYSCALL_STUB2 CreateEvent, SYS_CREATE_EVENT
|
||||
SYSCALL_STUB2 SignalEvent, SYS_SIGNAL_EVENT
|
||||
SYSCALL_STUB2 ClearEvent, SYS_CLEAR_EVENT
|
||||
SYSCALL_STUB CreateEvent, SYS_CREATE_EVENT
|
||||
SYSCALL_STUB SignalEvent, SYS_SIGNAL_EVENT
|
||||
SYSCALL_STUB ClearEvent, SYS_CLEAR_EVENT
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Queues and named queues
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 CreateQueue, SYS_CREATE_QUEUE
|
||||
SYSCALL_STUB2 SendQueue, SYS_SEND_QUEUE
|
||||
SYSCALL_STUB2 RecvQueue, SYS_RECV_QUEUE
|
||||
SYSCALL_STUB2 PublishQueue, SYS_PUBLISH_QUEUE
|
||||
SYSCALL_STUB2 UnpublishQueue, SYS_UNPUBLISH_QUEUE
|
||||
SYSCALL_STUB2 OpenNamedQueue, SYS_OPEN_NAMED_QUEUE
|
||||
SYSCALL_STUB2 OpenNamedQueueOwnerProcess, SYS_OPEN_NAMED_QUEUE_OWNER_PROCESS
|
||||
SYSCALL_STUB CreateQueue, SYS_CREATE_QUEUE
|
||||
SYSCALL_STUB SendQueue, SYS_SEND_QUEUE
|
||||
SYSCALL_STUB RecvQueue, SYS_RECV_QUEUE
|
||||
SYSCALL_STUB PublishQueue, SYS_PUBLISH_QUEUE
|
||||
SYSCALL_STUB UnpublishQueue, SYS_UNPUBLISH_QUEUE
|
||||
SYSCALL_STUB OpenNamedQueue, SYS_OPEN_NAMED_QUEUE
|
||||
SYSCALL_STUB OpenNamedQueueOwnerProcess, SYS_OPEN_NAMED_QUEUE_OWNER_PROCESS
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Files, directories, and current directory
|
||||
; LPC-like Ports and well-known system services
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 OpenFile, SYS_OPEN_FILE
|
||||
SYSCALL_STUB2 ReadFile, SYS_READ_FILE
|
||||
SYSCALL_STUB2 WriteFile, SYS_WRITE_FILE
|
||||
SYSCALL_STUB2 ReadFileAsync, SYS_READ_FILE_ASYNC
|
||||
SYSCALL_STUB2 WriteFileAsync, SYS_WRITE_FILE_ASYNC
|
||||
SYSCALL_STUB2 CancelIo, SYS_CANCEL_IO
|
||||
SYSCALL_STUB2 SeekFile, SYS_SEEK_FILE
|
||||
SYSCALL_STUB2 GetFilePos, SYS_GET_FILE_POS
|
||||
SYSCALL_STUB2 GetFileSize, SYS_GET_FILE_SIZE
|
||||
SYSCALL_STUB2 GetFileStat, SYS_GET_FILE_STAT
|
||||
SYSCALL_STUB2 StatFile, SYS_STAT_FILE
|
||||
SYSCALL_STUB2 TruncateFile, SYS_TRUNCATE_FILE
|
||||
SYSCALL_STUB2 FlushFile, SYS_FLUSH_FILE
|
||||
SYSCALL_STUB2 DeleteFile, SYS_DELETE_FILE
|
||||
SYSCALL_STUB2 RenameFile, SYS_RENAME_FILE
|
||||
SYSCALL_STUB2 LockFile, SYS_LOCK_FILE
|
||||
SYSCALL_STUB2 UnlockFile, SYS_UNLOCK_FILE
|
||||
SYSCALL_STUB CreatePort, SYS_CREATE_PORT
|
||||
SYSCALL_STUB ConnectPort, SYS_CONNECT_PORT
|
||||
SYSCALL_STUB AcceptPort, SYS_ACCEPT_PORT
|
||||
SYSCALL_STUB SendPort, SYS_SEND_PORT
|
||||
SYSCALL_STUB ReceivePort, SYS_RECEIVE_PORT
|
||||
SYSCALL_STUB CallPort, SYS_CALL_PORT
|
||||
SYSCALL_STUB ReplyPort, SYS_REPLY_PORT
|
||||
SYSCALL_STUB DisconnectPort, SYS_DISCONNECT_PORT
|
||||
SYSCALL_STUB RegisterSystemService, SYS_REGISTER_SYSTEM_SERVICE
|
||||
SYSCALL_STUB UnregisterSystemService, SYS_UNREGISTER_SYSTEM_SERVICE
|
||||
SYSCALL_STUB ConnectSystemService, SYS_CONNECT_SYSTEM_SERVICE
|
||||
|
||||
SYSCALL_STUB2 OpenDir, SYS_OPEN_DIR
|
||||
SYSCALL_STUB2 ReadDir, SYS_READ_DIR
|
||||
SYSCALL_STUB2 CreateDir, SYS_CREATE_DIR
|
||||
SYSCALL_STUB2 RemoveDir, SYS_REMOVE_DIR
|
||||
SYSCALL_STUB2 SetCwd, SYS_SET_CWD
|
||||
SYSCALL_STUB2 RealPath, SYS_REAL_PATH
|
||||
; ---------------------------------------------------------------------------
|
||||
; Mounted-volume manager control plane
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB QueryVolumes, SYS_QUERY_VOLUMES
|
||||
SYSCALL_STUB OpenVolume, SYS_OPEN_VOLUME
|
||||
SYSCALL_STUB WaitVolumeChange, SYS_WAIT_VOLUME_CHANGE
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Files and directories
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB OpenFileAt, SYS_OPEN_FILE_AT
|
||||
SYSCALL_STUB OpenDirAt, SYS_OPEN_DIR_AT
|
||||
SYSCALL_STUB StatAt, SYS_STAT_AT
|
||||
SYSCALL_STUB DeleteAt, SYS_DELETE_AT
|
||||
SYSCALL_STUB RenameAt, SYS_RENAME_AT
|
||||
SYSCALL_STUB CreateDirAt, SYS_CREATE_DIR_AT
|
||||
SYSCALL_STUB RemoveDirAt, SYS_REMOVE_DIR_AT
|
||||
SYSCALL_STUB ReadFile, SYS_READ_FILE
|
||||
SYSCALL_STUB WriteFile, SYS_WRITE_FILE
|
||||
SYSCALL_STUB ReadFileAsync, SYS_READ_FILE_ASYNC
|
||||
SYSCALL_STUB WriteFileAsync, SYS_WRITE_FILE_ASYNC
|
||||
SYSCALL_STUB CancelIo, SYS_CANCEL_IO
|
||||
SYSCALL_STUB SeekFile, SYS_SEEK_FILE
|
||||
SYSCALL_STUB GetFilePos, SYS_GET_FILE_POS
|
||||
SYSCALL_STUB GetFileSize, SYS_GET_FILE_SIZE
|
||||
SYSCALL_STUB GetFileStat, SYS_GET_FILE_STAT
|
||||
SYSCALL_STUB TruncateFile, SYS_TRUNCATE_FILE
|
||||
SYSCALL_STUB FlushFile, SYS_FLUSH_FILE
|
||||
SYSCALL_STUB LockFile, SYS_LOCK_FILE
|
||||
SYSCALL_STUB UnlockFile, SYS_UNLOCK_FILE
|
||||
|
||||
SYSCALL_STUB ReadDir, SYS_READ_DIR
|
||||
; ---------------------------------------------------------------------------
|
||||
; Console and graphics
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 WriteConsole, SYS_WRITE_CONSOLE
|
||||
SYSCALL_STUB2 GetConsoleInfo, SYS_GET_CONSOLE_INFO
|
||||
SYSCALL_STUB2 SetConsoleCursor, SYS_SET_CONSOLE_CURSOR
|
||||
SYSCALL_STUB6 FillConsoleCharacter, SYS_FILL_CONSOLE_CHARACTER
|
||||
SYSCALL_STUB6 FillConsoleAttribute, SYS_FILL_CONSOLE_ATTRIBUTE
|
||||
SYSCALL_STUB6 PutScreenChar, SYS_PUT_SCREEN_CHAR
|
||||
SYSCALL_STUB2 CreateSurface, SYS_CREATE_SURFACE
|
||||
SYSCALL_STUB2 MapSurface, SYS_MAP_SURFACE
|
||||
SYSCALL_STUB2 QuerySurface, SYS_QUERY_SURFACE
|
||||
SYSCALL_STUB2 PresentSurface, SYS_PRESENT_SURFACE
|
||||
SYSCALL_STUB2 ClearScreen, SYS_CLEAR_SCREEN
|
||||
SYSCALL_STUB2 GetScreenSize, SYS_GET_SCREEN_SIZE
|
||||
SYSCALL_STUB2 QueryDisplayInfo, SYS_QUERY_DISPLAY_INFO
|
||||
SYSCALL_STUB2 OpenDisplayClock, SYS_OPEN_DISPLAY_CLOCK
|
||||
SYSCALL_STUB WriteConsole, SYS_WRITE_CONSOLE
|
||||
SYSCALL_STUB GetConsoleInfo, SYS_GET_CONSOLE_INFO
|
||||
SYSCALL_STUB SetConsoleCursor, SYS_SET_CONSOLE_CURSOR
|
||||
SYSCALL_STUB FillConsoleCharacter, SYS_FILL_CONSOLE_CHARACTER
|
||||
SYSCALL_STUB FillConsoleAttribute, SYS_FILL_CONSOLE_ATTRIBUTE
|
||||
SYSCALL_STUB PutScreenChar, SYS_PUT_SCREEN_CHAR
|
||||
SYSCALL_STUB CreateSurface, SYS_CREATE_SURFACE
|
||||
SYSCALL_STUB MapSurface, SYS_MAP_SURFACE
|
||||
SYSCALL_STUB QuerySurface, SYS_QUERY_SURFACE
|
||||
SYSCALL_STUB PresentSurface, SYS_PRESENT_SURFACE
|
||||
SYSCALL_STUB ClearScreen, SYS_CLEAR_SCREEN
|
||||
SYSCALL_STUB GetScreenSize, SYS_GET_SCREEN_SIZE
|
||||
SYSCALL_STUB QueryDisplayInfo, SYS_QUERY_DISPLAY_INFO
|
||||
SYSCALL_STUB OpenDisplayClock, SYS_OPEN_DISPLAY_CLOCK
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Native render audio
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 AudioEnumerateEndpoints, SYS_AUDIO_ENUMERATE_ENDPOINTS
|
||||
SYSCALL_STUB2 AudioOpenStream, SYS_AUDIO_OPEN_STREAM
|
||||
SYSCALL_STUB2 AudioWrite, SYS_AUDIO_WRITE
|
||||
SYSCALL_STUB2 AudioArmWait, SYS_AUDIO_ARM_WAIT
|
||||
SYSCALL_STUB2 AudioQueryStream, SYS_AUDIO_QUERY_STREAM
|
||||
SYSCALL_STUB2 AudioStart, SYS_AUDIO_START
|
||||
SYSCALL_STUB2 AudioPause, SYS_AUDIO_PAUSE
|
||||
SYSCALL_STUB2 AudioResume, SYS_AUDIO_RESUME
|
||||
SYSCALL_STUB2 AudioDrain, SYS_AUDIO_DRAIN
|
||||
SYSCALL_STUB2 AudioStop, SYS_AUDIO_STOP
|
||||
SYSCALL_STUB2 AudioReset, SYS_AUDIO_RESET
|
||||
SYSCALL_STUB2 AudioSetVolume, SYS_AUDIO_SET_VOLUME
|
||||
SYSCALL_STUB2 AudioSetMasterVolume, SYS_AUDIO_SET_MASTER_VOLUME
|
||||
SYSCALL_STUB AudioEnumerateEndpoints, SYS_AUDIO_ENUMERATE_ENDPOINTS
|
||||
SYSCALL_STUB AudioOpenStream, SYS_AUDIO_OPEN_STREAM
|
||||
SYSCALL_STUB AudioWrite, SYS_AUDIO_WRITE
|
||||
SYSCALL_STUB AudioArmWait, SYS_AUDIO_ARM_WAIT
|
||||
SYSCALL_STUB AudioQueryStream, SYS_AUDIO_QUERY_STREAM
|
||||
SYSCALL_STUB AudioStart, SYS_AUDIO_START
|
||||
SYSCALL_STUB AudioPause, SYS_AUDIO_PAUSE
|
||||
SYSCALL_STUB AudioResume, SYS_AUDIO_RESUME
|
||||
SYSCALL_STUB AudioDrain, SYS_AUDIO_DRAIN
|
||||
SYSCALL_STUB AudioStop, SYS_AUDIO_STOP
|
||||
SYSCALL_STUB AudioReset, SYS_AUDIO_RESET
|
||||
SYSCALL_STUB AudioSetVolume, SYS_AUDIO_SET_VOLUME
|
||||
SYSCALL_STUB AudioSetMasterVolume, SYS_AUDIO_SET_MASTER_VOLUME
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Input
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 PollKeyboard, SYS_POLL_KEYBOARD
|
||||
SYSCALL_STUB2 IsKeyDown, SYS_IS_KEY_DOWN
|
||||
SYSCALL_STUB2 ReadKeyboardChar, SYS_READ_KEYBOARD_CHAR
|
||||
SYSCALL_STUB2 ReadKey, SYS_READ_KEY
|
||||
SYSCALL_STUB2 GetKeyModifiers, SYS_GET_KEY_MODIFIERS
|
||||
SYSCALL_STUB2 QueryGlobalInputState, SYS_QUERY_GLOBAL_INPUT_STATE
|
||||
SYSCALL_STUB2 ReadInputEvent, SYS_READ_INPUT_EVENT
|
||||
SYSCALL_STUB2 PeekInputEvent, SYS_PEEK_INPUT_EVENT
|
||||
SYSCALL_STUB PollKeyboard, SYS_POLL_KEYBOARD
|
||||
SYSCALL_STUB IsKeyDown, SYS_IS_KEY_DOWN
|
||||
SYSCALL_STUB ReadKeyboardChar, SYS_READ_KEYBOARD_CHAR
|
||||
SYSCALL_STUB ReadKey, SYS_READ_KEY
|
||||
SYSCALL_STUB GetKeyModifiers, SYS_GET_KEY_MODIFIERS
|
||||
SYSCALL_STUB QueryGlobalInputState, SYS_QUERY_GLOBAL_INPUT_STATE
|
||||
SYSCALL_STUB ReadInputEvent, SYS_READ_INPUT_EVENT
|
||||
SYSCALL_STUB PeekInputEvent, SYS_PEEK_INPUT_EVENT
|
||||
|
||||
SYSCALL_STUB2 PeekMouse, SYS_PEEK_MOUSE
|
||||
SYSCALL_STUB2 ReadMouse, SYS_READ_MOUSE
|
||||
SYSCALL_STUB2 GetMousePos, SYS_GET_MOUSE_POS
|
||||
SYSCALL_STUB PeekMouse, SYS_PEEK_MOUSE
|
||||
SYSCALL_STUB ReadMouse, SYS_READ_MOUSE
|
||||
SYSCALL_STUB GetMousePos, SYS_GET_MOUSE_POS
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Time and debug
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 CreateTimer, SYS_CREATE_TIMER
|
||||
SYSCALL_STUB2 SetTimer, SYS_SET_TIMER
|
||||
SYSCALL_STUB2 CancelTimer, SYS_CANCEL_TIMER
|
||||
SYSCALL_STUB2 GetTick, SYS_GET_TICK
|
||||
SYSCALL_STUB2 GetTickFrequency, SYS_GET_TICK_FREQUENCY
|
||||
SYSCALL_STUB2 PrintDebug, SYS_PRINT_DEBUG
|
||||
SYSCALL_STUB2 QueryTrapFrame, SYS_QUERY_TRAP_FRAME
|
||||
SYSCALL_STUB CreateTimer, SYS_CREATE_TIMER
|
||||
SYSCALL_STUB SetTimer, SYS_SET_TIMER
|
||||
SYSCALL_STUB CancelTimer, SYS_CANCEL_TIMER
|
||||
SYSCALL_STUB GetTick, SYS_GET_TICK
|
||||
SYSCALL_STUB GetTickFrequency, SYS_GET_TICK_FREQUENCY
|
||||
SYSCALL_STUB PrintDebug, SYS_PRINT_DEBUG
|
||||
SYSCALL_STUB QueryTrapFrame, SYS_QUERY_TRAP_FRAME
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Native sockets
|
||||
; ---------------------------------------------------------------------------
|
||||
SYSCALL_STUB2 CreateSocket, SYS_CREATE_SOCKET
|
||||
SYSCALL_STUB2 SocketIoAsync, SYS_SOCKET_IO_ASYNC
|
||||
SYSCALL_STUB2 BindSocket, SYS_BIND_SOCKET
|
||||
SYSCALL_STUB2 ListenSocket, SYS_LISTEN_SOCKET
|
||||
SYSCALL_STUB2 AcceptSocket, SYS_ACCEPT_SOCKET
|
||||
SYSCALL_STUB2 ConnectSocket, SYS_CONNECT_SOCKET
|
||||
SYSCALL_STUB6 SendSocket, SYS_SEND_SOCKET
|
||||
SYSCALL_STUB6 RecvSocket, SYS_RECV_SOCKET
|
||||
SYSCALL_STUB2 ShutdownSocket, SYS_SHUTDOWN_SOCKET
|
||||
SYSCALL_STUB2 SendToSocket, SYS_SEND_TO_SOCKET
|
||||
SYSCALL_STUB2 RecvFromSocket, SYS_RECV_FROM_SOCKET
|
||||
SYSCALL_STUB2 ResolveHost, SYS_RESOLVE_HOST
|
||||
SYSCALL_STUB2 SetSocketOption, SYS_SET_SOCKET_OPTION
|
||||
SYSCALL_STUB2 GetSocketOption, SYS_GET_SOCKET_OPTION
|
||||
SYSCALL_STUB2 Poll, SYS_POLL
|
||||
SYSCALL_STUB CreateSocket, SYS_CREATE_SOCKET
|
||||
SYSCALL_STUB SocketIoAsync, SYS_SOCKET_IO_ASYNC
|
||||
SYSCALL_STUB BindSocket, SYS_BIND_SOCKET
|
||||
SYSCALL_STUB ListenSocket, SYS_LISTEN_SOCKET
|
||||
SYSCALL_STUB AcceptSocket, SYS_ACCEPT_SOCKET
|
||||
SYSCALL_STUB ConnectSocket, SYS_CONNECT_SOCKET
|
||||
SYSCALL_STUB SendSocket, SYS_SEND_SOCKET
|
||||
SYSCALL_STUB RecvSocket, SYS_RECV_SOCKET
|
||||
SYSCALL_STUB ShutdownSocket, SYS_SHUTDOWN_SOCKET
|
||||
SYSCALL_STUB SendToSocket, SYS_SEND_TO_SOCKET
|
||||
SYSCALL_STUB RecvFromSocket, SYS_RECV_FROM_SOCKET
|
||||
SYSCALL_STUB ResolveHost, SYS_RESOLVE_HOST
|
||||
SYSCALL_STUB SetSocketOption, SYS_SET_SOCKET_OPTION
|
||||
SYSCALL_STUB GetSocketOption, SYS_GET_SOCKET_OPTION
|
||||
SYSCALL_STUB Poll, SYS_POLL
|
||||
|
||||
SYSCALL_STUB2 GetMemoryStatus, SYS_GET_MEMORY_STATUS
|
||||
SYSCALL_STUB2 QueryKernelStats, SYS_QUERY_KERNEL_STATS
|
||||
SYSCALL_STUB2 GetSystemTime, SYS_GET_SYSTEM_TIME
|
||||
SYSCALL_STUB5 CreateFileMapping, SYS_CREATE_FILE_MAPPING
|
||||
SYSCALL_STUB6 MapFile, SYS_MAP_FILE
|
||||
SYSCALL_STUB GetMemoryStatus, SYS_GET_MEMORY_STATUS
|
||||
SYSCALL_STUB QueryKernelStats, SYS_QUERY_KERNEL_STATS
|
||||
SYSCALL_STUB GetSystemTime, SYS_GET_SYSTEM_TIME
|
||||
SYSCALL_STUB CreateFileMapping, SYS_CREATE_FILE_MAPPING
|
||||
SYSCALL_STUB MapFile, SYS_MAP_FILE
|
||||
|
||||
END
|
||||
Reference in new issue
Block a user