SSAM_DEFINE...REQUEST_CL_N(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… SSAM_DEFINE_SYNC_REQUEST_CL_N πŸ’…

okay bestie, welcome to the Kernel API Manual β€” yes we're in the kernel docs now, and yes you're gonna slay this. This one lives in the SSAM_DEFINE...REQUEST_CL_N(9) page, iykyk.


✨ NAME ✨

SSAM_DEFINE_SYNC_REQUEST_CL_N β€” Define synchronous client-device SAM request function with neither argument nor return value.

Like, zero args, zero return value, all vibes. πŸŽ€


🌸 SYNOPSIS 🌸

SSAM_DEFINE_SYNC_REQUEST_CL_N (name , spec... );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • name β€” Name of the generated function. You pick it, it becomes iconic.
  • spec β€” Specification (struct ssam_request_spec_md) defining the request. This is the blueprint fr fr.

πŸ‘‘ DESCRIPTION πŸ‘‘

Defines a function executing the synchronous SAM request specified by spec, with the request having neither argument nor return value. No notes, that's the whole deal. πŸ’…

Device specifying parameters are not hard-coded β€” instead they're provided via the client device, specifically its UID, supplied when calling this function. So the generated function takes care of setting up the request struct, buffer allocation, as well as execution of the request itself, returning once the request has been fully completed. The required transport buffer will be allocated on the stack. (Stack. Not heap. She's lowkey efficient like that. ✨)

The generated function is defined as

static int name(struct ssam_device *sdev)

returning the status of the request, which is zero on success and negative on failure. The sdev parameter specifies both the target device of the request and by association the controller via which the request is sent. Two for one, main character energy honestly. 🫢

Refer to ssam_request_do_sync_onstack for more details on the behavior of the generated function. That's the deep lore, go read it. πŸ“š


🌈 SEE ALSO 🌈

Kernel file ./include/linux/surface_aggregator/device.h, plus the whole friend group:


πŸ’€ heads up: unlike the _W, _R and _WR siblings in that list, this one is the N version β€” neither argument nor return value. Don't mix them up bestie, that's a vibe check you do not want to fail.

and that's the page!! sourced from ./include/linux/surface_aggreg..., dated October 2026 β€” go forth and define your requests, you absolute icon πŸ’œπŸ§šβ€β™€οΈβ­

πŸ“¦ where this page comes from