summaryrefslogtreecommitdiff
path: root/lib9p/idl.gen
diff options
context:
space:
mode:
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 = [