// Copyright (c) 2019-2021 Alexander Medvednikov. All rights reserved. // Use of this source code is governed by an MIT license // that can be found in the LICENSE file. module os const ( prot_read = 1 prot_write = 2 map_private = 0x02 map_anonymous = 0x20 ) pub const ( sys_write = 1 sys_open = 2 sys_close = 3 sys_mkdir = 83 sys_creat = 85 ) /* // TODO no pub => error pub fn write(fd int, data voidptr, nbytes int) int { return syscall5( 1, // SYS_write fd, data, nbytes, 0, // ignored 0 // ignored ) } pub fn println(s string) { write(1, (s + '\n').str, s.len) } fn mmap(start voidptr, len, prot, flags, fd, off int) byteptr { return syscall6(9, start, len, prot, flags, fd, off) // sys_mmap } pub fn malloc(n int) byteptr { println('malloc($n)') return mmap(0, n, 3, 4098, //prot_read|prot_write, -1,0) //map_private|map_anonymous, */