Reorganized sys functions

This commit is contained in:
Eduard Urbach 2025-02-06 13:46:37 +01:00
parent 170931cf5d
commit 9dcd43be46
Signed by: akyoto
GPG Key ID: C874F672B1AF20C0
15 changed files with 110 additions and 120 deletions

23
lib/sys/fs_linux.q Normal file
View File

@ -0,0 +1,23 @@
getcwd(buffer Pointer, length Int) -> Int {
return syscall(79, buffer, length)
}
chdir(path Pointer) -> Int {
return syscall(80, path)
}
rename(old Pointer, new Pointer) -> Int {
return syscall(82, old, new)
}
mkdir(path Pointer, mode Int) -> Int {
return syscall(83, path, mode)
}
rmdir(path Pointer) -> Int {
return syscall(84, path)
}
unlink(file Pointer) -> Int {
return syscall(87, file)
}

15
lib/sys/io_linux.q Normal file
View File

@ -0,0 +1,15 @@
read(fd Int, address Pointer, length Int) -> Int {
return syscall(0, fd, address, length)
}
write(fd Int, address Pointer, length Int) -> Int {
return syscall(1, fd, address, length)
}
open(file Pointer, flags Int, mode Int) -> Int {
return syscall(2, file, flags, mode)
}
close(fd Int) -> Int {
return syscall(3, fd)
}

15
lib/sys/io_mac.q Normal file
View File

@ -0,0 +1,15 @@
read(fd Int, address Pointer, length Int) -> Int {
return syscall(0x2000003, fd, address, length)
}
write(fd Int, address Pointer, length Int) -> Int {
return syscall(0x2000004, fd, address, length)
}
open(file Pointer, flags Int, mode Int) -> Int {
return syscall(0x2000005, file, flags, mode)
}
close(fd Int) -> Int {
return syscall(0x2000006, fd)
}

3
lib/sys/io_windows.q Normal file
View File

@ -0,0 +1,3 @@
write(fd Int, address Pointer, length Int) -> Int {
return kernel32.WriteFile(fd, address, length)
}

7
lib/sys/mem_linux.q Normal file
View File

@ -0,0 +1,7 @@
mmap(address Int, length Int, protection Int, flags Int) -> Pointer {
return syscall(9, address, length, protection, flags)
}
munmap(address Pointer, length Int) -> Int {
return syscall(11, address, length)
}

7
lib/sys/mem_mac.q Normal file
View File

@ -0,0 +1,7 @@
mmap(address Int, length Int, protection Int, flags Int) -> Pointer {
return syscall(0x20000C5, address, length, protection, flags)
}
munmap(address Pointer, length Int) -> Int {
return syscall(0x2000049, address, length)
}

View File

@ -1,17 +1,7 @@
write(fd Int, address Pointer, length Int) -> Int {
// out numberOfBytesWritten
// out overlapped
return kernel32.WriteFile(fd, address, length)
}
mmap(address Int, length Int, protection Int, flags Int) -> Pointer {
return kernel32.VirtualAlloc(address, length, flags, protection)
}
munmap(address Pointer, length Int) -> Int {
return kernel32.VirtualFree(address, length, 0x4000)
}
exit(code Int) {
kernel32.ExitProcess(code)
}

19
lib/sys/proc_linux.q Normal file
View File

@ -0,0 +1,19 @@
clone(flags Int, stack Pointer) -> Int {
return syscall(56, flags, stack)
}
fork() -> Int {
return syscall(57)
}
execve(path Pointer, argv Pointer, envp Pointer) -> Int {
return syscall(59, path, argv, envp)
}
exit(status Int) {
syscall(60, status)
}
waitid(type Int, id Int, info Pointer, options Int) -> Int {
return syscall(247, type, id, info, options)
}

15
lib/sys/proc_mac.q Normal file
View File

@ -0,0 +1,15 @@
exit(status Int) {
syscall(0x2000001, status)
}
fork() -> Int {
return syscall(0x2000002)
}
execve(path Pointer, argv Pointer, envp Pointer) -> Int {
return syscall(0x200003B, path, argv, envp)
}
waitid(type Int, id Int, info Pointer, options Int) -> Int {
return syscall(0x20000AD, type, id, info, options)
}

3
lib/sys/proc_windows.q Normal file
View File

@ -0,0 +1,3 @@
exit(code Int) {
kernel32.ExitProcess(code)
}

View File

@ -1,71 +0,0 @@
read(fd Int, address Pointer, length Int) -> Int {
return syscall(0, fd, address, length)
}
write(fd Int, address Pointer, length Int) -> Int {
return syscall(1, fd, address, length)
}
open(file Pointer, flags Int, mode Int) -> Int {
return syscall(2, file, flags, mode)
}
close(fd Int) -> Int {
return syscall(3, fd)
}
mmap(address Int, length Int, protection Int, flags Int) -> Pointer {
return syscall(9, address, length, protection, flags)
}
munmap(address Pointer, length Int) -> Int {
return syscall(11, address, length)
}
nanosleep(duration Pointer) -> Int {
return syscall(35, duration, 0)
}
clone(flags Int, stack Pointer) -> Int {
return syscall(56, flags, stack)
}
fork() -> Int {
return syscall(57)
}
execve(path Pointer, argv Pointer, envp Pointer) -> Int {
return syscall(59, path, argv, envp)
}
exit(status Int) {
syscall(60, status)
}
getcwd(buffer Pointer, length Int) -> Int {
return syscall(79, buffer, length)
}
chdir(path Pointer) -> Int {
return syscall(80, path)
}
rename(old Pointer, new Pointer) -> Int {
return syscall(82, old, new)
}
mkdir(path Pointer, mode Int) -> Int {
return syscall(83, path, mode)
}
rmdir(path Pointer) -> Int {
return syscall(84, path)
}
unlink(file Pointer) -> Int {
return syscall(87, file)
}
waitid(type Int, id Int, info Pointer, options Int) -> Int {
return syscall(247, type, id, info, options)
}

View File

@ -1,39 +0,0 @@
exit(status Int) {
syscall(0x2000001, status)
}
fork() -> Int {
return syscall(0x2000002)
}
read(fd Int, address Pointer, length Int) -> Int {
return syscall(0x2000003, fd, address, length)
}
write(fd Int, address Pointer, length Int) -> Int {
return syscall(0x2000004, fd, address, length)
}
open(file Pointer, flags Int, mode Int) -> Int {
return syscall(0x2000005, file, flags, mode)
}
close(fd Int) -> Int {
return syscall(0x2000006, fd)
}
mmap(address Int, length Int, protection Int, flags Int) -> Pointer {
return syscall(0x20000C5, address, length, protection, flags)
}
munmap(address Pointer, length Int) -> Int {
return syscall(0x2000049, address, length)
}
execve(path Pointer, argv Pointer, envp Pointer) -> Int {
return syscall(0x200003B, path, argv, envp)
}
waitid(type Int, id Int, info Pointer, options Int) -> Int {
return syscall(0x20000AD, type, id, info, options)
}

3
lib/sys/time_linux.q Normal file
View File

@ -0,0 +1,3 @@
nanosleep(duration Pointer) -> Int {
return syscall(35, duration, 0)
}