Nasal-Interpreter/std/unix.nas

73 lines
1.1 KiB
Plaintext

# unix.nas
# 2023 by ValKmjolnir
var pipe = func() {
return __pipe;
}
var fork = func() {
return __fork;
}
var dup2 = func(fd0, fd1) {
die("not supported yet");
}
var exec = func(filename, argv, envp) {
die("not supported yet");
}
var waitpid = func(pid, nohang = 0) {
return __waitpid;
}
var isdir = func(path) {
# S_IFDIR 0x4000
return !!bits.u32_and(io.stat(path)[2],0x4000);
}
var isfile = func(path) {
# S_IFREG 0x8000
return !!bits.u32_and(io.stat(path)[2],0x8000);
}
var opendir = func(path) {
return __opendir;
}
var readdir = func(handle) {
return __readdir;
}
var closedir = func(handle) {
return __closedir;
}
var time = func() {
return systime();
}
var sleep = func(secs) {
return __sleep(secs);
}
var chdir = func(path) {
return __chdir(path);
}
var environ = func() {
return __environ();
}
var getcwd = func() {
return __getcwd();
}
var getenv = func(envvar) {
return __getenv(envvar);
}
var getpath = func() {
return split(os.platform()=="windows"? ";":":", unix.getenv("PATH"));
}