cpacf_prno(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cpacf_prno β€” executes the PRNO (PERFORM RANDOM NUMBER OPERATION) instruction

okay bestie, so this is cpacf_prno from the Kernel API Manual, section 9 β€” yes, that's the s390 kernel-side of things, and yes it's iconic. Basically this little function is your backstage pass to the PRNO instruction, aka PERFORM RANDOM NUMBER OPERATION. It literally does the thing the name says. No cap. 🎲✨


✨ SYNOPSIS ✨

void cpacf_prno (unsigned long func , void *param , u8 *dest , unsigned
long dest_len , const u8 *seed , unsigned long seed_len );

she takes six arguments and gives you nothing back (it's a void, bestie, she's giving mysterious main character energy 🫢).


πŸŽ€ ARGUMENTS πŸŽ€

  • func β€” the function code that gets passed straight to PRNO. head over to the CPACF_PRNO_xxx defines for the menu of options, k? iykyk πŸ’…
  • param β€” the address of the parameter block. each func has its own lil details, and the POP has the full tea on all of them πŸ“–βœ¨
  • dest β€” the address of the destination memory area, aka where the output goes to live 🌸
  • dest_len β€” the size of that destination memory area, measured in bytes πŸ“
  • seed β€” the address of the seed data πŸ“
  • seed_len β€” the size of the seed data, in bytes 🌱
ngl, every single one of those six is doing its job and we love that for them. no skipped assignments, no "oops forgot the length" β€” the lengths are unsigned long and they matter, okay?? 😭

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group shows up here, zero gatekeeping:


and that's the whole page, bestie β€” every argument, every define reference, every sibling function, all accounted for. periodt. πŸ‘‘

mwah πŸ’– this has been cpacf_prno(9) from ./arch/s390/include/asm, dated October 2026 β€” catch you in the kernel headers, love u, bye πŸŽ€πŸ§š

πŸ“¦ where this page comes from