aboutsummaryrefslogtreecommitdiffstats
path: root/tools/net/sunrpc
diff options
context:
space:
mode:
authorChuck Lever <chuck.lever@oracle.com>2024-10-03 14:54:40 -0400
committerChuck Lever <chuck.lever@oracle.com>2024-11-11 13:42:04 -0500
commitdc6fa83b6aff5c50277045f53a448afce9616b07 (patch)
tree0d53e320d9350fd6cdc4704a373d037e5b7015e3 /tools/net/sunrpc
parentxdrgen: XDR width for variable-length array (diff)
downloadlinux-dc6fa83b6aff5c50277045f53a448afce9616b07.tar.gz
linux-dc6fa83b6aff5c50277045f53a448afce9616b07.zip
xdrgen: XDR width for optional_data type
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'tools/net/sunrpc')
-rw-r--r--tools/net/sunrpc/xdrgen/xdr_ast.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/net/sunrpc/xdrgen/xdr_ast.py b/tools/net/sunrpc/xdrgen/xdr_ast.py
index cb89d5d9987c..f2ef78654e36 100644
--- a/tools/net/sunrpc/xdrgen/xdr_ast.py
+++ b/tools/net/sunrpc/xdrgen/xdr_ast.py
@@ -245,9 +245,19 @@ class _XdrOptionalData(_XdrDeclaration):
spec: _XdrTypeSpecifier
template: str = "optional_data"
+ def max_width(self) -> int:
+ """Return width of type in XDR_UNITS"""
+ return 1
+
+ def symbolic_width(self) -> List:
+ """Return list containing XDR width of type's components"""
+ return ["XDR_bool"]
+
def __post_init__(self):
structs.add(self.name)
pass_by_reference.add(self.name)
+ max_widths[self.name] = self.max_width()
+ symbolic_widths[self.name] = self.symbolic_width()
@dataclass