summaryrefslogtreecommitdiff
path: root/lib9p/idl.gen
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2025-01-14 19:26:13 -0700
committerLuke T. Shumaker <lukeshu@lukeshu.com>2025-01-14 20:02:28 -0700
commit7f4b9794efb591c9de9906340fe2c26c838c2f52 (patch)
tree3d3c90a3357ea8e8f2fb1e92840af525a3dc3669 /lib9p/idl.gen
parentaf308395c6cea756c9911865137ed29e0fb34aae (diff)
lib9p: idl: Add numeric constants
Diffstat (limited to 'lib9p/idl.gen')
-rwxr-xr-xlib9p/idl.gen4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib9p/idl.gen b/lib9p/idl.gen
index 0a43583..31f6527 100755
--- a/lib9p/idl.gen
+++ b/lib9p/idl.gen
@@ -227,6 +227,10 @@ enum {idprefix}version {{
match typ:
case idl.Number():
ret += f"typedef {c_typename(typ.prim)} {c_typename(typ)};\n"
+ prefix = f"{idprefix.upper()}{typ.name.upper()}_"
+ namewidth = max(len(name) for name in typ.vals)
+ for name, val in typ.vals.items():
+ ret += f"#define {prefix}{name.ljust(namewidth)} (({c_typename(typ)})UINT{typ.static_size*8}_C({val}))\n"
case idl.Bitfield():
ret += f"typedef {c_typename(typ.prim)} {c_typename(typ)};\n"
names = [