aboutsummaryrefslogtreecommitdiffstats
path: root/tools/net/sunrpc/xdrgen/templates/C/enum/encoder
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2024-09-29 20:50:16 -0400
committerChuck Lever <chuck.lever@oracle.com>2024-11-11 13:42:00 -0500
commitb376d519bd142c65ba9bba35db12b6be95b46893 (patch)
treeebe7d15791bfb9aba385de6a2bac3a2c58a62122 /tools/net/sunrpc/xdrgen/templates/C/enum/encoder
parentxdrgen: Rename "enum yada" types as just "yada" (diff)
downloadlinux-b376d519bd142c65ba9bba35db12b6be95b46893.tar.gz
linux-b376d519bd142c65ba9bba35db12b6be95b46893.zip
xdrgen: Implement big-endian enums
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'tools/net/sunrpc/xdrgen/templates/C/enum/encoder')
-rw-r--r--tools/net/sunrpc/xdrgen/templates/C/enum/encoder/enum_be.j214
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/net/sunrpc/xdrgen/templates/C/enum/encoder/enum_be.j2 b/tools/net/sunrpc/xdrgen/templates/C/enum/encoder/enum_be.j2
new file mode 100644
index 000000000000..fbbcc45948d6
--- /dev/null
+++ b/tools/net/sunrpc/xdrgen/templates/C/enum/encoder/enum_be.j2
@@ -0,0 +1,14 @@
+{# SPDX-License-Identifier: GPL-2.0 #}
+
+{% if annotate %}
+/* enum {{ name }} (big-endian) */
+{% endif %}
+{% if name in public_apis %}
+bool
+{% else %}
+static bool __maybe_unused
+{% endif %}
+xdrgen_encode_{{ name }}(struct xdr_stream *xdr, {{ name }} value)
+{
+ return xdr_stream_encode_be32(xdr, value) == XDR_UNIT;
+}