xdr_encode_opaque_fixed(9)
β¨ xdr_encode_opaque_fixed β the kernel API manual, bestie edition β¨
okay so picture this: you're deep in net/sunrpc land, you've got a buffer, you've got some bytes, and you need them to land in XDR format correctly β this little function is the one that does it. It's giving "unsung hero of the XDR pipeline" ngl π
πΈ NAME πΈ
xdr_encode_opaque_fixed β encode fixed length opaque data. literally her whole job π
π¦ SYNOPSIS π¦
__be32 * xdr_encode_opaque_fixed (__be32 *p , const void *ptr , unsigned
int nbytes );
π ARGUMENTS π
pβ pointer to current position in XDR buffer. this is where the magic lands, bestie β¨ptrβ pointer to the data you wanna encode (orNULL, and yes that's allowed, we'll get to it π)nbytesβ size of data. how many bytes we're working with, periodt.
π DESCRIPTION π
Copy the array of data of length nbytes at ptr to the XDR buffer at position p, then align to the next 32-bit boundary by padding with zero bytes (see RFC1832). no cap, that's the whole vibe β copy, then pad so everything lines up on that 32-bit grid π₯
π§ NOTE π§
if ptr is NULL, only the padding is performed. that's it, that's the note β no data gets copied, just the zero-byte glow-up π
Returns the updated current XDR buffer position. so you can keep chaining, main character energy π«Ά
π SEE ALSO π
all her sisters and cousins in the XDR cinematic universe π β Kernel file ./net/sunrpc/xdr.c:
xdr_encode_opaque(9), xdr_terminate_string(9), xdr_buf_to_bvec(9), xdr_buf_to_sg(9), xdr_buf_to_sg_alloc(9), xdr_inline_pages(9), _shift_data_left_pages(9), _shift_data_right_pages(9), _copy_to_pages(9), _copy_from_pages(9), xdr_buf_pages_zero(9), xdr_shrink_bufhead(9), xdr_shrink_pagelen(9), xdr_stream_pos(9), xdr_page_pos(9), xdr_init_encode(9), xdr_init_encode_pages(9), __xdr_commit_encode(9), xdr_reserve_space(9), xdr_reserve_space_vec(9), xdr_truncate_encode(9), xdr_truncate_decode(9), xdr_restrict_buflen(9), xdr_write_pages(9), xdr_init_decode(9), xdr_init_decode_pages(9), xdr_finish_decode(9), xdr_inline_decode(9), xdr_read_pages(9), xdr_set_pagelen(9), xdr_enter_page(9), xdr_buf_subsegment(9), xdr_stream_subsegment(9), xdr_stream_move_subsegment(9), xdr_stream_zero(9), xdr_buf_trim(9), xdr_stream_decode_string_dup(9), xdr_stream_decode_opaque_auth(9), xdr_stream_encode_opaque_auth(9)
okay that's the whole page, go forth and encode responsibly π this one lives at ./net/sunrpc and the page itself is dated October 2026 β so yeah, stay cozy out there, read your manpages, and remember: pad your zero bytes, bestie πΈπ¦β
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms