init_rs_non_canonical(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ 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 given 0. Literally the glow-up replacement: this gets used instead of gfpoly whenever gfpoly is 0. 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:

Go read them, they're iconic too, periodt. πŸ’œ


Okay so quick vibe check: this page is straight from the ./lib/reed_solomon part of the kernel tree, dated October 2026, and the page itself is init_rs_non_canonical(9). That's the whole sign-off bestie, mwah πŸ’‹πŸŒˆβ­
πŸ“¦ where this page comes from