From a492c4a31f1c8b2a0d58e24ab957ef3c8f9edfd2 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Fri, 28 Mar 2025 10:03:44 -0600 Subject: lib9p: idl: Touch up the *.9p files --- lib9p/idl/1992-9P0.9p.wip | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'lib9p/idl/1992-9P0.9p.wip') diff --git a/lib9p/idl/1992-9P0.9p.wip b/lib9p/idl/1992-9P0.9p.wip index 086e8e4..968e887 100644 --- a/lib9p/idl/1992-9P0.9p.wip +++ b/lib9p/idl/1992-9P0.9p.wip @@ -37,12 +37,12 @@ struct errstr = "64*(txt[1])" # "O"pen flags (flags to pass to Topen and Tcreate) # Unused bits are *ignored*. bitfield o = 1 - "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 + "0=subfield(mode)" # low bit of the 2-bit READ/WRITE/RDWR/EXEC enum + "1=subfield(mode)" # high bit of the 2-bit READ/WRITE/RDWR/EXEC enum #"2=unused" #"3=unused" "4=TRUNC" - #"5=_reserved_CEXEC" # close-on-exec + "5=reserved(CEXEC)" # close-on-exec "6=RCLOSE" # remove-on-close #"7=unused" @@ -54,7 +54,8 @@ bitfield o = 1 "MODE_MASK = 0b00000011" "FLAG_MASK = 0b11111100" -# "C"??? "H"??? - file permissions and attributes +# "CH"annel flags - file permissions and attributes (a "channel" is +# what a file handle is called inside of the Plan 9 kernel). bitfield ch = 4 "31=DIR" "30=APPEND" -- cgit v1.2.3-2-g168b From fc462d13cb2f49b4c4745742dfaed994596a54b8 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Fri, 28 Mar 2025 11:03:37 -0600 Subject: lib9p: idl: In bitfields, explicitly say "bit" or "alias" --- lib9p/idl/1992-9P0.9p.wip | 54 +++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 27 deletions(-) (limited to 'lib9p/idl/1992-9P0.9p.wip') diff --git a/lib9p/idl/1992-9P0.9p.wip b/lib9p/idl/1992-9P0.9p.wip index 968e887..360f320 100644 --- a/lib9p/idl/1992-9P0.9p.wip +++ b/lib9p/idl/1992-9P0.9p.wip @@ -37,41 +37,41 @@ struct errstr = "64*(txt[1])" # "O"pen flags (flags to pass to Topen and Tcreate) # Unused bits are *ignored*. bitfield o = 1 - "0=subfield(mode)" # low bit of the 2-bit READ/WRITE/RDWR/EXEC enum - "1=subfield(mode)" # high bit of the 2-bit READ/WRITE/RDWR/EXEC enum - #"2=unused" - #"3=unused" - "4=TRUNC" - "5=reserved(CEXEC)" # close-on-exec - "6=RCLOSE" # remove-on-close - #"7=unused" + "bit 0=subfield(mode)" # low bit of the 2-bit READ/WRITE/RDWR/EXEC enum + "bit 1=subfield(mode)" # high bit of the 2-bit READ/WRITE/RDWR/EXEC enum + #"bit 2=unused" + #"bit 3=unused" + "bit 4=TRUNC" + "bit 5=reserved(CEXEC)" # close-on-exec + "bit 6=RCLOSE" # remove-on-close + #"bit 7=unused" - "READ = 0" # make available for this FID: Tread() - "WRITE = 1" # make available for this FID: Twrite() - "RDWR = 2" # make available for this FID: Tread() and Twrite() - "EXEC = 3" # make available for this FID: Tread() + "alias READ = 0" # make available for this FID: Tread() + "alias WRITE = 1" # make available for this FID: Twrite() + "alias RDWR = 2" # make available for this FID: Tread() and Twrite() + "alias EXEC = 3" # make available for this FID: Tread() - "MODE_MASK = 0b00000011" - "FLAG_MASK = 0b11111100" + "alias MODE_MASK = 0b00000011" + "alias FLAG_MASK = 0b11111100" # "CH"annel flags - file permissions and attributes (a "channel" is # what a file handle is called inside of the Plan 9 kernel). bitfield ch = 4 - "31=DIR" - "30=APPEND" - "29=EXCL" + "bit 31=DIR" + "bit 30=APPEND" + "bit 29=EXCL" #... - "8=OWNER_R" - "7=OWNER_W" - "6=OWNER_X" - "5=GROUP_R" - "4=GROUP_W" - "3=GROUP_X" - "2=OTHER_R" - "1=OTHER_W" - "0=OTHER_X" + "bit 8=OWNER_R" + "bit 7=OWNER_W" + "bit 6=OWNER_X" + "bit 5=GROUP_R" + "bit 4=GROUP_W" + "bit 3=GROUP_X" + "bit 2=OTHER_R" + "bit 1=OTHER_W" + "bit 0=OTHER_X" - "PERM_MASK=0777" # {OWNER,GROUP,OTHER}_{R,W,X} + "alias PERM_MASK=0777" # {OWNER,GROUP,OTHER}_{R,W,X} struct stat = "file_name[name]" "file_owner[name]" -- cgit v1.2.3-2-g168b From 9096e2d9cb6f438e49aa29aa2cfaef1717466a05 Mon Sep 17 00:00:00 2001 From: "Luke T. Shumaker" Date: Fri, 28 Mar 2025 11:31:26 -0600 Subject: lib9p: idl: Rework bitfields, allow full exprs more places --- lib9p/idl/1992-9P0.9p.wip | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'lib9p/idl/1992-9P0.9p.wip') diff --git a/lib9p/idl/1992-9P0.9p.wip b/lib9p/idl/1992-9P0.9p.wip index 360f320..a434ba2 100644 --- a/lib9p/idl/1992-9P0.9p.wip +++ b/lib9p/idl/1992-9P0.9p.wip @@ -37,8 +37,8 @@ struct errstr = "64*(txt[1])" # "O"pen flags (flags to pass to Topen and Tcreate) # Unused bits are *ignored*. bitfield o = 1 - "bit 0=subfield(mode)" # low bit of the 2-bit READ/WRITE/RDWR/EXEC enum - "bit 1=subfield(mode)" # high bit of the 2-bit READ/WRITE/RDWR/EXEC enum + "bit 0=num(MODE)" # low bit of the 2-bit READ/WRITE/RDWR/EXEC enum + "bit 1=num(MODE)" # high bit of the 2-bit READ/WRITE/RDWR/EXEC enum #"bit 2=unused" #"bit 3=unused" "bit 4=TRUNC" @@ -46,13 +46,12 @@ bitfield o = 1 "bit 6=RCLOSE" # remove-on-close #"bit 7=unused" - "alias READ = 0" # make available for this FID: Tread() - "alias WRITE = 1" # make available for this FID: Twrite() - "alias RDWR = 2" # make available for this FID: Tread() and Twrite() - "alias EXEC = 3" # make available for this FID: Tread() + "num(MODE) READ = 0" # make available for this FID: Tread() + "num(MODE) WRITE = 1" # make available for this FID: Twrite() + "num(MODE) RDWR = 2" # make available for this FID: Tread() and Twrite() + "num(MODE) EXEC = 3" # make available for this FID: Tread() - "alias MODE_MASK = 0b00000011" - "alias FLAG_MASK = 0b11111100" + "mask FLAG = 0b11111100" # "CH"annel flags - file permissions and attributes (a "channel" is # what a file handle is called inside of the Plan 9 kernel). @@ -71,7 +70,7 @@ bitfield ch = 4 "bit 1=OTHER_W" "bit 0=OTHER_X" - "alias PERM_MASK=0777" # {OWNER,GROUP,OTHER}_{R,W,X} + "mask PERM=0777" # {OWNER,GROUP,OTHER}_{R,W,X} struct stat = "file_name[name]" "file_owner[name]" -- cgit v1.2.3-2-g168b