summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstd/sys+plan9-x64.myr18
-rw-r--r--libstd/syswrap+plan9.myr4
2 files changed, 20 insertions, 2 deletions
diff --git a/libstd/sys+plan9-x64.myr b/libstd/sys+plan9-x64.myr
index 3437f09..e658cec 100644
--- a/libstd/sys+plan9-x64.myr
+++ b/libstd/sys+plan9-x64.myr
@@ -17,6 +17,24 @@ pkg sys =
const Orclose : fdopt = 64
const Oexcl : fdopt = 0x1000
+ const Qtdir : int64 = 0x80
+ const Qtappend : int64 = 0x40
+ const Qtexcl : int64 = 0x20
+ const Qtmount : int64 = 0x10
+ const Qtauth : int64 = 0x08
+ const Qttmp : int64 = 0x04
+ const Qtfile : int64 = 0x00
+
+ const Dmdir : int64 = 0x8000000
+ const Dmappend : int64 = 0x4000000
+ const Dmexcl : int64 = 0x2000000
+ const Dmmount : int64 = 0x1000000
+ const Dmauth : int64 = 0x0800000
+ const Dmtmp : int64 = 0x0400000
+ const Dmread : int64 = 0x4
+ const Dmwrite : int64 = 0x2
+ const Dmexec : int64 = 0x1
+
const Syssysr1 : scno = 0
const Sys_errstr : scno = 1
const Sysbind : scno = 2
diff --git a/libstd/syswrap+plan9.myr b/libstd/syswrap+plan9.myr
index 6473b5b..81750d7 100644
--- a/libstd/syswrap+plan9.myr
+++ b/libstd/syswrap+plan9.myr
@@ -42,7 +42,7 @@ pkg std =
const open = {path, opts; -> openmode(path, opts, 0o777)}
const openmode = {path, opts, mode;
if opts & Ocreat
- sys.create(path, opts, mode)
+ sys.create(path, opts castto(sys.fdopt), mode) castto(fd)
else
sys.open(path, opts castto(sys.fdopt)) castto(fd)
;;
@@ -57,7 +57,7 @@ const pipe = {fds; -> sys.pipe(fds castto(sys.fd[2]#))}
const mkdir = {path, mode; ->
var fd
- fd = sys.create(path, OREAD, DMDIR | mode)
+ fd = sys.create(path, sys.Oread, sys.Dmdir | mode)
if fd >= 0
close(fd)
-> 0