summaryrefslogtreecommitdiff
path: root/9p/linux-errno.h.gen
diff options
context:
space:
mode:
authorLuke T. Shumaker <lukeshu@lukeshu.com>2024-09-23 12:35:42 -0600
committerLuke T. Shumaker <lukeshu@lukeshu.com>2024-09-23 12:38:38 -0600
commitfbd945a03f2d706bb4d62aab6a607c1694d6d77a (patch)
treea3ab6ae733c3dbb37156b33bdb09aaac521c6d46 /9p/linux-errno.h.gen
parentc3d212e15ce147f0b0ceaac7a50f9a44831aacb9 (diff)
wip 9p reorg
Diffstat (limited to '9p/linux-errno.h.gen')
-rwxr-xr-x9p/linux-errno.h.gen33
1 files changed, 33 insertions, 0 deletions
diff --git a/9p/linux-errno.h.gen b/9p/linux-errno.h.gen
new file mode 100755
index 0000000..749cd8e
--- /dev/null
+++ b/9p/linux-errno.h.gen
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+
+
+def print_errnos(txtlists: list[str]) -> None:
+ print(
+ f"/* Generated by `./9p/linux-errno.h.gen {' '.join(txtlists)}`. DO NOT EDIT! */"
+ )
+ errnos: dict[str, int] = {}
+ for txtlist in sys.argv[1:]:
+ with open(txtlist, "r") as fh:
+ for line in fh:
+ if line.startswith("#"):
+ print(f"/* {line[1:].strip()} */")
+ continue
+ _num, name = line.split(maxsplit=1)
+ num = int(_num)
+ name = name.strip()
+ errnos[name] = int(num)
+ namelen = max(len(name) for name in errnos.keys())
+ print()
+ print("#ifndef _9P_LINUX_ERRNO_H_")
+ print("#define _9P_LINUX_ERRNO_H_")
+ print()
+ for name in errnos:
+ print(f"#define LINUX_{name.ljust(namelen)} {errnos[name]}")
+ print()
+ print("#endif /* _9P_LINUX_ERRNO_H_ */")
+
+
+if __name__ == "__main__":
+ import sys
+
+ print_errnos(sys.argv[1:])