v/vlib/os/os_linux.c.v

47 lines
938 B
V
Raw Normal View History

// Copyright (c) 2019-2021 Alexander Medvednikov. All rights reserved.
2019-11-15 01:17:47 +01:00
// 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
2020-05-22 17:36:09 +02:00
map_anonymous = 0x20
2019-11-15 01:17:47 +01:00
)
2019-12-31 19:53:15 +01:00
pub const (
sys_write = 1
sys_open = 2
2019-12-31 19:53:15 +01:00
sys_close = 3
sys_mkdir = 83
sys_creat = 85
)
2019-11-15 01:17:47 +01:00
/*
// 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
2019-12-31 19:53:15 +01:00
}
2019-11-15 01:17:47 +01:00
pub fn malloc(n int) byteptr {
println('malloc($n)')
2020-05-22 17:36:09 +02:00
return mmap(0, n, 3, 4098, //prot_read|prot_write,
-1,0) //map_private|map_anonymous,
2019-11-15 01:17:47 +01:00
*/