summaryrefslogtreecommitdiff
path: root/lib9p/idl
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2024-10-10 10:26:28 -0600
committerLuke T. Shumaker <lukeshu@lukeshu.com>2024-10-10 10:26:28 -0600
commitdb92bd35807305e6daec5ec40bd67cbc43fe88ee (patch)
tree8458933923545c87632e953a1c10a215efa78a0c /lib9p/idl
parentbb5afed7a0eeaf361be1e29b3a3ab8ace2865b39 (diff)
lib9p: Implemnt Topen, add permission checks in Twalk
Diffstat (limited to 'lib9p/idl')
-rw-r--r--lib9p/idl/2002-9P2000.9p9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib9p/idl/2002-9P2000.9p b/lib9p/idl/2002-9P2000.9p
index ba1382e..e45c0e1 100644
--- a/lib9p/idl/2002-9P2000.9p
+++ b/lib9p/idl/2002-9P2000.9p
@@ -53,7 +53,7 @@ bitfield dm = 4
"1=OTHER_W"
"0=OTHER_X"
- "PERM=0777" # {OWNER,GROUP,OTHER}_{R,W,X}
+ "PERM_MASK=0777" # {OWNER,GROUP,OTHER}_{R,W,X}
# QID Type - see `struct qid` below
bitfield qt = 1
@@ -103,8 +103,8 @@ struct stat = "stat_size[2,val=end-&kern_type]"
# "O"pen flags (flags to pass to Topen and Tcreate)
bitfield o = 1
- "0=rwx_0" # low bit of the 2-bit READ/WRITE/RDWR/EXEC enum
- "1=rwx_1" # high bit of the 2-bit READ/WRITE/RDWR/EXEC enum"
+ "0=mode_0" # low bit of the 2-bit READ/WRITE/RDWR/EXEC enum
+ "1=mode_1" # high bit of the 2-bit READ/WRITE/RDWR/EXEC enum"
#"2=unused"
#"3=unused"
"4=TRUNC"
@@ -117,6 +117,9 @@ bitfield o = 1
"RDWR = 2" # make available for this FID: Tread() and Twrite()
"EXEC = 3" # make available for this FID: Tread()
+ "MODE_MASK = 0b00000011"
+ "FLAG_MASK = 0b11111100"
+
msg Tversion = "size[4,val=end-&size] typ[1,val=100] tag[tag] max_msg_size[4] version[s]"
msg Rversion = "size[4,val=end-&size] typ[1,val=101] tag[tag] max_msg_size[4] version[s]"
msg Tauth = "size[4,val=end-&size] typ[1,val=102] tag[tag] afid[fid] uname[s] aname[s]"