init_rs_non_canonical(9)
π init_rs_non_canonical β kernel API manual, bestie edition π
So you found yourself in the init_rs_non_canonical(9) zone, huh? Okay so this is the kernel API manual page for it, and I'm gonna walk you through it like we're texting at 2am. Buckle up, it's giving β¨Reed-Solomonβ¨.
β¨ NAME β¨
init_rs_non_canonical β allocate an rs control struct for fields with non-canonical representation π
Like, it's the allocator for the rs control struct, but specifically for the non-canonical-representation fields. Not the canon ones. The other ones. iykyk π¦
πΈ SYNOPSIS πΈ
struct rs_control * init_rs_non_canonical (int symsize , int
(*gffunc)(int) , int fcr , int prim , int nroots );
That's the whole signature, no cap. It hands you back a struct rs_control * pointer, and it takes five things. Five! Let's meet them π
π ARGUMENTS π
symsizeβ the symbol size, aka the number of bits. That's it, that's the vibe. π§gffuncβ a pointer to the function that generates the next field element, or the multiplicative identity element if it's given0. Literally the glow-up replacement: this gets used instead ofgfpolywhenevergfpolyis0. Slay. π«Άfcrβ the first consecutive root of the rs code generator polynomial, but in index form. Don't ask me to convert it, ask the index form. πprimβ the primitive element used to generate the polynomial roots. Main character energy honestly. πnrootsβ the RS code generator polynomial degree, which is also the number of roots. Two facts, one argument, we love efficiency. π₯
π¦ SEE ALSO π¦
These are the besties this page is linking to, all from the kernel file ./lib/reed_solomon/reed_solomon.c:
codec_init(9)free_rs(9)init_rs_internal(9)init_rs_gfp(9)encode_rs8(9)decode_rs8(9)encode_rs16(9)decode_rs16(9)
Go read them, they're iconic too, periodt. π
Okay so quick vibe check: this page is straight from the./lib/reed_solomonpart of the kernel tree, dated October 2026, and the page itself isinit_rs_non_canonical(9). That's the whole sign-off bestie, mwah ππβ
π¦ 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