fs/nfsd/nfs4xdr_gen.c
Source file repositories/reference/linux-study-clean/fs/nfsd/nfs4xdr_gen.c
File Facts
- System
- Linux kernel
- Corpus path
fs/nfsd/nfs4xdr_gen.c- Extension
.c- Size
- 14250 bytes
- Lines
- 570
- Domain
- Core OS
- Bucket
- VFS And Filesystem Core
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/sunrpc/svc.hnfs4xdr_gen.h
Detected Declarations
function xdrgen_decode_int64_tfunction xdrgen_decode_uint32_tfunction xdrgen_decode_bitmap4function xdrgen_decode_utf8stringfunction xdrgen_decode_utf8str_cisfunction xdrgen_decode_utf8str_csfunction xdrgen_decode_utf8str_mixedfunction xdrgen_decode_nfstime4function xdrgen_decode_fattr4_offlinefunction xdrgen_decode_open_arguments4function xdrgen_decode_open_args_share_access4function xdrgen_decode_open_args_share_deny4function xdrgen_decode_open_args_share_access_want4function xdrgen_decode_open_args_open_claim4function xdrgen_decode_open_args_createmode4function xdrgen_decode_fattr4_open_argumentsfunction xdrgen_decode_fattr4_time_deleg_accessfunction xdrgen_decode_fattr4_time_deleg_modifyfunction xdrgen_decode_open_delegation_type4function xdrgen_decode_aclmodel4function xdrgen_decode_aclscope4function xdrgen_decode_posixacetag4function xdrgen_decode_posixaceperm4function xdrgen_decode_posixace4function xdrgen_decode_fattr4_acl_trueformfunction xdrgen_decode_fattr4_acl_trueform_scopefunction xdrgen_decode_fattr4_posix_default_aclfunction xdrgen_decode_fattr4_posix_access_aclfunction xdrgen_encode_int64_tfunction xdrgen_encode_uint32_tfunction xdrgen_encode_bitmap4function xdrgen_encode_utf8stringfunction xdrgen_encode_utf8str_cisfunction xdrgen_encode_utf8str_csfunction xdrgen_encode_utf8str_mixedfunction xdrgen_encode_nfstime4function xdrgen_encode_fattr4_offlinefunction xdrgen_encode_open_arguments4function xdrgen_encode_open_args_share_access4function xdrgen_encode_open_args_share_deny4function xdrgen_encode_open_args_share_access_want4function xdrgen_encode_open_args_open_claim4function xdrgen_encode_open_args_createmode4function xdrgen_encode_fattr4_open_argumentsfunction xdrgen_encode_fattr4_time_deleg_accessfunction xdrgen_encode_fattr4_time_deleg_modifyfunction xdrgen_encode_open_delegation_type4function xdrgen_encode_aclmodel4
Annotated Snippet
// SPDX-License-Identifier: GPL-2.0
// Generated by xdrgen. Manual edits will be lost.
// XDR specification file: ../../Documentation/sunrpc/xdr/nfs4_1.x
// XDR specification modification time: Thu Jan 8 23:12:07 2026
#include <linux/sunrpc/svc.h>
#include "nfs4xdr_gen.h"
static bool __maybe_unused
xdrgen_decode_int64_t(struct xdr_stream *xdr, int64_t *ptr)
{
return xdrgen_decode_hyper(xdr, ptr);
}
static bool __maybe_unused
xdrgen_decode_uint32_t(struct xdr_stream *xdr, uint32_t *ptr)
{
return xdrgen_decode_unsigned_int(xdr, ptr);
}
static bool __maybe_unused
xdrgen_decode_bitmap4(struct xdr_stream *xdr, bitmap4 *ptr)
{
if (xdr_stream_decode_u32(xdr, &ptr->count) < 0)
return false;
for (u32 i = 0; i < ptr->count; i++)
if (!xdrgen_decode_uint32_t(xdr, &ptr->element[i]))
return false;
return true;
}
static bool __maybe_unused
xdrgen_decode_utf8string(struct xdr_stream *xdr, utf8string *ptr)
{
return xdrgen_decode_opaque(xdr, ptr, 0);
}
static bool __maybe_unused
xdrgen_decode_utf8str_cis(struct xdr_stream *xdr, utf8str_cis *ptr)
{
return xdrgen_decode_utf8string(xdr, ptr);
}
static bool __maybe_unused
xdrgen_decode_utf8str_cs(struct xdr_stream *xdr, utf8str_cs *ptr)
{
return xdrgen_decode_utf8string(xdr, ptr);
}
static bool __maybe_unused
xdrgen_decode_utf8str_mixed(struct xdr_stream *xdr, utf8str_mixed *ptr)
{
return xdrgen_decode_utf8string(xdr, ptr);
}
static bool __maybe_unused
xdrgen_decode_nfstime4(struct xdr_stream *xdr, struct nfstime4 *ptr)
{
if (!xdrgen_decode_int64_t(xdr, &ptr->seconds))
return false;
if (!xdrgen_decode_uint32_t(xdr, &ptr->nseconds))
return false;
return true;
}
static bool __maybe_unused
xdrgen_decode_fattr4_offline(struct xdr_stream *xdr, fattr4_offline *ptr)
{
return xdrgen_decode_bool(xdr, ptr);
}
static bool __maybe_unused
xdrgen_decode_open_arguments4(struct xdr_stream *xdr, struct open_arguments4 *ptr)
{
if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_share_access))
return false;
if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_share_deny))
return false;
if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_share_access_want))
return false;
if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_open_claim))
return false;
if (!xdrgen_decode_bitmap4(xdr, &ptr->oa_create_mode))
return false;
return true;
}
static bool __maybe_unused
xdrgen_decode_open_args_share_access4(struct xdr_stream *xdr, open_args_share_access4 *ptr)
Annotation
- Immediate include surface: `linux/sunrpc/svc.h`, `nfs4xdr_gen.h`.
- Detected declarations: `function xdrgen_decode_int64_t`, `function xdrgen_decode_uint32_t`, `function xdrgen_decode_bitmap4`, `function xdrgen_decode_utf8string`, `function xdrgen_decode_utf8str_cis`, `function xdrgen_decode_utf8str_cs`, `function xdrgen_decode_utf8str_mixed`, `function xdrgen_decode_nfstime4`, `function xdrgen_decode_fattr4_offline`, `function xdrgen_decode_open_arguments4`.
- Atlas domain: Core OS / VFS And Filesystem Core.
- Implementation status: source implementation candidate.
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.