History log of /linux/tools/net/sunrpc/xdrgen/ (Results 1 – 25 of 30)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
573954a922-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Remove program_stat_to_errno() call sites

Refactor: Translating an on-the-wire value to a local host errno is
architecturally a job for the proc function, not the XDR decoder.

Signed-off-by

xdrgen: Remove program_stat_to_errno() call sites

Refactor: Translating an on-the-wire value to a local host errno is
architecturally a job for the proc function, not the XDR decoder.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

903a7d3722-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Update the files included in client-side source code

In particular, client-side source code needs the definition of
"struct rpc_procinfo" and does not want header files that pull
in "struct

xdrgen: Update the files included in client-side source code

In particular, client-side source code needs the definition of
"struct rpc_procinfo" and does not want header files that pull
in "struct svc_rqst". Otherwise, the source does not compile.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

82c2a36122-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Remove check for "nfs_ok" in C templates

Obviously, "nfs_ok" is defined only for NFS protocols. Other XDR
protocols won't know "nfs_ok" from Adam.

Signed-off-by: Chuck Lever <chuck.lever@or

xdrgen: Remove check for "nfs_ok" in C templates

Obviously, "nfs_ok" is defined only for NFS protocols. Other XDR
protocols won't know "nfs_ok" from Adam.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

07decac022-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Remove tracepoint call site

This tracepoint was a "note to self" and is not operational. It is
added only to client-side code, which so far we haven't needed. It
will cause immediate breakag

xdrgen: Remove tracepoint call site

This tracepoint was a "note to self" and is not operational. It is
added only to client-side code, which so far we haven't needed. It
will cause immediate breakage once we start generating client code,
though, so remove it now.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

ac15933803-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: emit maxsize macros

Add "definitions" subcommand logic to emit maxsize macros in
generated code.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

e9e1e7e703-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Add generator code for XDR width macros

Introduce logic in the code generators to emit maxsize (XDR
width) definitions. In C, these are pre-processor macros.

Signed-off-by: Chuck Lever <chu

xdrgen: Add generator code for XDR width macros

Introduce logic in the code generators to emit maxsize (XDR
width) definitions. In C, these are pre-processor macros.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

ce5a75d903-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for union types

Not yet complete.

The tool doesn't do any math yet. Thus, even though the maximum XDR
width of a union is the width of the union enumerator plus the width
of its l

xdrgen: XDR width for union types

Not yet complete.

The tool doesn't do any math yet. Thus, even though the maximum XDR
width of a union is the width of the union enumerator plus the width
of its largest arm, we're using the sum of all the elements of the
union for the moment.

This means that buffer size requirements are overestimated, and that
the generated maxsize macro cannot yet be used for determining data
element alignment in the XDR buffer.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

447dc1ef03-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for pointer types

The XDR width of a pointer type is the sum of the widths of each of
the struct's fields, except for the last field. The width of the
implicit boolean "value follo

xdrgen: XDR width for pointer types

The XDR width of a pointer type is the sum of the widths of each of
the struct's fields, except for the last field. The width of the
implicit boolean "value follows" field is added as well.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

f4bc1e9903-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for struct types

The XDR width of a struct type is the sum of the widths of each of
the struct's fields.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

2852c92b03-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for typedef

The XDR width of a typedef is the same as the width of the base type.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

dc6fa83b03-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for optional_data type

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

2db8940e03-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for variable-length array

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

59b01b9603-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for fixed-length array

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

da298d0103-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for a string

A string works like a variable-length opaque. See Section 4.11 of
RFC 4506.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

b0b85ef703-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for variable-length opaque

The byte size of a variable-length opaque is conveyed in an unsigned
integer. If there is a specified maximum size, that is included in
the type's widths

xdrgen: XDR width for variable-length opaque

The byte size of a variable-length opaque is conveyed in an unsigned
integer. If there is a specified maximum size, that is included in
the type's widths list.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

16c98ce003-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR width for fixed-length opaque

The XDR width for a fixed-length opaque is the byte size of the
opaque rounded up to the next XDR_UNIT, divided by XDR_UNIT.

Signed-off-by: Chuck Lever <ch

xdrgen: XDR width for fixed-length opaque

The XDR width for a fixed-length opaque is the byte size of the
opaque rounded up to the next XDR_UNIT, divided by XDR_UNIT.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

3f89075503-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: XDR widths for enum types

RFC 4506 says that an XDR enum is represented as a signed integer
on the wire; thus its width is 1 XDR_UNIT.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

631c292503-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Keep track of on-the-wire data type widths

The generic parts of the RPC layer need to know the widths (in
XDR_UNIT increments) of the XDR data types defined for each
protocol.

As a first st

xdrgen: Keep track of on-the-wire data type widths

The generic parts of the RPC layer need to know the widths (in
XDR_UNIT increments) of the XDR data types defined for each
protocol.

As a first step, add dictionaries to keep track of the symbolic and
actual maximum XDR width of XDR types.

This makes it straightforward to look up the width of a type by its
name. The built-in dictionaries are pre-loaded with the widths of
the built-in XDR types as defined in RFC 4506.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

189f55d903-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Track constant values

In order to compute the numeric on-the-wire width of XDR types,
xdrgen needs to keep track of the numeric value of constants that
are defined in the input specification

xdrgen: Track constant values

In order to compute the numeric on-the-wire width of XDR types,
xdrgen needs to keep track of the numeric value of constants that
are defined in the input specification so it can perform
calculations with those values.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

1acd13cb03-Oct-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Refactor transformer arms

Clean up: Add a __post_init__ function to the data classes that
need to update the "structs" and "pass_by_reference" sets.

Signed-off-by: Chuck Lever <chuck.lever@

xdrgen: Refactor transformer arms

Clean up: Add a __post_init__ function to the data classes that
need to update the "structs" and "pass_by_reference" sets.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

b376d51930-Sep-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Implement big-endian enums

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

6e853dcd30-Sep-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Rename "enum yada" types as just "yada"

This simplifies the generated C code and makes way for supporting
big-endian XDR enums.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

c060f81630-Sep-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Rename enum's declaration Jinja2 template

"close.j2" is a confusing name.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

041962d530-Sep-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Rename "variable-length strings"

I misread RFC 4506. The built-in data type is called simply
"string", as there is no fixed-length variety.

Signed-off-by: Chuck Lever <chuck.lever@oracle.co

xdrgen: Rename "variable-length strings"

I misread RFC 4506. The built-in data type is called simply
"string", as there is no fixed-length variety.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

show more ...

5383ccd030-Sep-2024 Chuck Lever <chuck.lever@oracle.com>

xdrgen: Clean up type_specifier

Clean up: Make both arms of the type_specifier AST transformer
match. No behavior change is expected.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

12