tools/net/sunrpc/xdrgen/templates/C/typedef/decoder/variable_length_array.j2
Source file repositories/reference/linux-study-clean/tools/net/sunrpc/xdrgen/templates/C/typedef/decoder/variable_length_array.j2
File Facts
- System
- Linux kernel
- Corpus path
tools/net/sunrpc/xdrgen/templates/C/typedef/decoder/variable_length_array.j2- Extension
.j2- Size
- 602 bytes
- Lines
- 27
- Domain
- Support Tooling And Documentation
- Bucket
- tools
- Inferred role
- Support Tooling And Documentation: tools
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
{# SPDX-License-Identifier: GPL-2.0 #}
{% if annotate %}
/* typedef {{ name }} */
{% endif %}
{% if name in public_apis %}
bool
{% else %}
static bool __maybe_unused
{% endif %}
xdrgen_decode_{{ name }}(struct xdr_stream *xdr, {{ classifier }}{{ name }} *ptr)
{
{% if annotate %}
/* (variable-length array) */
{% endif %}
if (xdr_stream_decode_u32(xdr, &ptr->count) < 0)
return false;
{% if maxsize != "0" %}
if (ptr->count > {{ maxsize }})
return false;
{% endif %}
for (u32 i = 0; i < ptr->count; i++)
if (!xdrgen_decode_{{ type }}(xdr, &ptr->element[i]))
return false;
return true;
}
Annotation
- Atlas domain: Support Tooling And Documentation / tools.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.