os

An operating system
git clone https://erai.gay/code/os/
Log | Files | Refs | README | LICENSE

syscall.om (1644B)


      1 func _start(argc: int, argv: **byte, envp: **byte) {
      2 	main(argc, argv, envp);
      3 	exit(0);
      4 }
      5 
      6 struct sigaction {
      7 	handler: int;
      8 	flags: int;
      9 	restorer: int;
     10 	mask: int;
     11 }
     12 
     13 struct stat {
     14 	dev: int;
     15 	ino: int;
     16 	nlink: int;
     17 	mode: int;
     18 	uid: int;
     19 	gid: int;
     20 	rdev: int;
     21 	size: int;
     22 	blksize: int;
     23 	blocks: int;
     24 	atime: int;
     25 	atime_nsec: int;
     26 	mtime: int;
     27 	mtime_nsec: int;
     28 	ctime: int;
     29 	ctime_nsec: int;
     30 	pad1: int;
     31 	pad2: int;
     32 }
     33 
     34 func get_machine(): int;
     35 func syscall(n: int, a1: int, a2: int, a3: int, a4: int, a5: int, a6: int): int;
     36 func read(fd: int, buf: *byte, n: int): int;
     37 func write(fd: int, buf: *byte, n: int): int;
     38 func open(name: *byte, flags: int, mode: int): int;
     39 func close(fd: int): int;
     40 func fstat(fd: int, sb: *stat): int;
     41 func getrandom(buf: *byte, len: int, flags: int): int;
     42 func poll(pfd: *int, nfd: int, timeout: int): int;
     43 func lseek(fd: int, off: int, whence: int): int;
     44 func mmap(addr: int, len: int, prot: int, flags: int, fd: int, off: int): int;
     45 func munmap(addr: int, len: int): int;
     46 func sigaction(sig: int, act: *sigaction, oact: *sigaction): int;
     47 func pipe(rfd: *int, wfd: *int): int;
     48 func dup2(old: int, new: int): int;
     49 func socket(pf: int, ty: int, pc: int): int;
     50 func accept(fd: int, addr: *byte, len: *int): int;
     51 func bind(fd: int, addr: *byte, len: int): int;
     52 func listen(fd: int, backlog: int): int;
     53 func fork(): int;
     54 func exec(cmd: *byte, argv: **byte, envp: **byte): int;
     55 func exit(n: int);
     56 func wait(pid: int, status: *int, flags: int): int;
     57 func rename(oldname: *byte, newname: *byte): int;
     58 func mkdir(name: *byte): int;
     59 func unlink(name: *byte): int;
     60 func getdirents(fd: int, buf: *byte, len: int): int;