nfp_cpp_explicit_get(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… nfp_cpp_explicit_get(9) πŸ’…

okay so this is a page from the Kernel API Manual, and bestie, we are about to get into it β€” it's nfp_cpp_explicit_get, a little function that grabs the pushed data off an explicit access. iconic behavior honestly πŸŽ€


✨ NAME ✨

nfp_cpp_explicit_get β€” Get the 'push' (read) data from a explicit access 🫢


🌸 SYNOPSIS 🌸

int nfp_cpp_explicit_get (struct nfp_cpp_explicit *expl , void *buff ,
       size_t len );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • expl β€” the NFP CPP Explicit handle, like your little backstage pass to the transaction 🎟️
  • buff β€” the data that the target pushed in the transaction, i.e. where the goods land πŸ“¦
  • len β€” length of data, in bytes. keep it smol, we'll get to that πŸ‘€

πŸ’– DESCRIPTION πŸ’–

okay so first thing: the len parameter must be less than or equal to 128 bytes. that's the vibe check. don't come in here with 129 bytes, that's not the energy πŸ’€

then, the guard rails, and listen up because these are real:

  • if this function is called before all three configuration registers are set, it will return -1, with an errno of EINVAL. so like… do the setup first bestie 😭
  • if this function is called before nfp_cpp_explicit_do has completed, it will return -1, with an errno of EBUSY. she's busy! she said not right now! πŸ™ˆ
fr fr, call it in the wrong order and you get -1 with an errno β€” no cap, that's just how it is.

πŸ”₯ RETURN πŸ”₯

0, or -ERRNO ⭐


🌈 SEE ALSO 🌈

Kernel file ./drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c β€” go read the source, it's giving main character energy πŸ‘‘

and the whole extended fam, present and accounted for:


okay that's the whole page, you ate that πŸ“ this came out of ./drivers/net/ethernet/netrono… (the source path is literally truncated in the original, not my fault bestie 😭) and it's dated October 2026, so mark your calendar πŸ’œ bye! πŸ’…βœ¨

πŸ“¦ where this page comes from