nfp_cpp_explicit_get(9)
π 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 anerrnoofEINVAL. so likeβ¦ do the setup first bestie π - if this function is called before
nfp_cpp_explicit_dohas completed, it will return-1, with anerrnoofEBUSY. she's busy! she said not right now! π
fr fr, call it in the wrong order and you get-1with anerrnoβ 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:
struct nfp_cpp(9)nfp_cpp_free(9)nfp_cpp_model(9)nfp_cpp_interface(9)nfp_cpp_serial(9)nfp_cpp_area_alloc_with_name(9)nfp_cpp_area_alloc(9)nfp_cpp_area_alloc_acquire(9)nfp_cpp_area_free(9)nfp_cpp_area_acquire(9)nfp_cpp_area_acquire_nonblocking(9)nfp_cpp_area_release(9)nfp_cpp_area_release_free(9)nfp_cpp_area_read(9)nfp_cpp_area_write(9)nfp_cpp_area_size(9)nfp_cpp_area_name(9)nfp_cpp_area_priv(9)nfp_cpp_area_cpp(9)nfp_cpp_area_resource(9)nfp_cpp_area_phys(9)nfp_cpp_area_iomem(9)nfp_cpp_area_readl(9)nfp_cpp_area_writel(9)nfp_cpp_area_readq(9)nfp_cpp_area_writeq(9)nfp_cpp_area_fill(9)nfp_cpp_area_cache_add(9)nfp_cpp_read(9)nfp_cpp_write(9)nfp_xpb_readl(9)nfp_xpb_writel(9)nfp_xpb_writelm(9)nfp_cpp_from_operations(9)nfp_cpp_priv(9)nfp_cpp_device(9)nfp_cpp_explicit_acquire(9)nfp_cpp_explicit_set_target(9)nfp_cpp_explicit_set_data(9)nfp_cpp_explicit_set_signal(9)nfp_cpp_explicit_set_posted(9)nfp_cpp_explicit_put(9)nfp_cpp_explicit_do(9)nfp_cpp_explicit_release(9)nfp_cpp_explicit_cpp(9)nfp_cpp_explicit_priv(9)
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
- 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