diff options
Diffstat (limited to 'lib9p/idl/2010-9P2000.L.9p')
-rw-r--r-- | lib9p/idl/2010-9P2000.L.9p | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/lib9p/idl/2010-9P2000.L.9p b/lib9p/idl/2010-9P2000.L.9p index 56fcd0d..d81a15b 100644 --- a/lib9p/idl/2010-9P2000.L.9p +++ b/lib9p/idl/2010-9P2000.L.9p @@ -39,8 +39,8 @@ num super_magic = 4 # protocol.h (and are different than the Linux kernel's values, which # vary by architecture). bitfield lo = 4 - "bit 0=subfield(mode)" # low bit of the 2-bit RDONLY/WRONLY/RDWR/NOACCESS enum - "bit 1=subfield(mode)" # high bit of the 2-bit RDONLY/WRONLY/RDWR/NOACCESS enum + "bit 0=num(MODE)" # low bit of the 2-bit RDONLY/WRONLY/RDWR/NOACCESS enum + "bit 1=num(MODE)" # high bit of the 2-bit RDONLY/WRONLY/RDWR/NOACCESS enum #"bit 2=unused" #"bit 3=unused" #"bit 4=unused" @@ -61,13 +61,12 @@ bitfield lo = 4 "bit 19=CLOEXEC" "bit 20=SYNC" - "alias RDONLY = 0" - "alias WRONLY = 1" - "alias RDWR = 2" - "alias NOACCESS = 3" + "num(MODE) RDONLY = 0" + "num(MODE) WRONLY = 1" + "num(MODE) RDWR = 2" + "num(MODE) NOACCESS = 3" - "alias MODE_MASK = 0b000000000000000000011" - "alias FLAG_MASK = 0b111111111111111000000" + "mask FLAG = 0b111111111111111000000" # "D"irentry "T"ype # @@ -77,11 +76,11 @@ num dt = 1 "PIPE = 1" "CHAR_DEV = 2" "DIRECTORY = 4" - "BLOCK_DEV = 6" + "BLOCK_DEV = 6" # proof it's not a bitfield "REGULAR = 8" - "SYMLINK = 10" - "SOCKET = 12" - "_WHITEOUT = 14" + "SYMLINK = 10" # proof it's not a bitfield + "SOCKET = 12" # proof it's not a bitfield + "_WHITEOUT = 14" # proof it's not a bitfield # Mode # @@ -89,10 +88,10 @@ num dt = 1 # instead of just 16? Who knows? bitfield mode = 4 #... - "bit 15=subfield(fmt)" # bit of the 4-bit FMT_ enum - "bit 14=subfield(fmt)" # bit of the 4-bit FMT_ enum - "bit 13=subfield(fmt)" # bit of the 4-bit FMT_ enum - "bit 12=subfield(fmt)" # bit of the 4-bit FMT_ enum + "bit 15=num(FMT)" # bit of the 4-bit FMT_ enum + "bit 14=num(FMT)" # bit of the 4-bit FMT_ enum + "bit 13=num(FMT)" # bit of the 4-bit FMT_ enum + "bit 12=num(FMT)" # bit of the 4-bit FMT_ enum #... "bit 11=PERM_SETGROUP" "bit 10=PERM_SETUSER" @@ -107,16 +106,15 @@ bitfield mode = 4 "bit 1=PERM_OTHER_W" "bit 0=PERM_OTHER_X" - "alias FMT_PIPE = LIB9P_DT_PIPE<<12" - "alias FMT_CHAR_DEV = LIB9P_DT_CHAR_DEV<<12" - "alias FMT_DIRECTORY = LIB9P_DT_DIRECTORY<<12" - "alias FMT_BLOCK_DEV = LIB9P_DT_BLOCK_DEV<<12" - "alias FMT_REGULAR = LIB9P_DT_REGULAR<<12" - "alias FMT_SYMLINK = LIB9P_DT_SYMLINK<<12" - "alias FMT_SOCKET = LIB9P_DT_SOCKET<<12" + "num(FMT) PIPE = dt.PIPE<<12" + "num(FMT) CHAR_DEV = dt.CHAR_DEV<<12" + "num(FMT) DIRECTORY = dt.DIRECTORY<<12" + "num(FMT) BLOCK_DEV = dt.BLOCK_DEV<<12" + "num(FMT) REGULAR = dt.REGULAR<<12" + "num(FMT) SYMLINK = dt.SYMLINK<<12" + "num(FMT) SOCKET = dt.SOCKET<<12" - "alias PERM_MASK = 0000777" # PERM_* - "alias FMT_MASK = 0170000" # _fmt_* + "mask PERM = 07777" # PERM_* # A boolean value that is for some reason 4 bytes wide. num b4 = 4 |