STRUCT SSH_NOTIFICATION_PARAMS(9)
π
struct ssh_notification_params β NAME
okay so bestie, welcome to section 9 of the Kernel API Manual πΈ β this is the page for struct ssh_notification_params, and it's literally just the command payload you send to enable or disable SSH notifications β¨
π SYNOPSIS
struct ssh_notification_params {
u8 target_category;
u8 flags;
__le16 request_id;
u8 instance_id;
};
that's the whole vibe, no cap π
π¦ Members
target_categoryβ the target category that notifications should be enabled/disabled for π― like, which bucket of stuff are we talking aboutflagsβ the flags that determine how these notifications are being sent π© the behavior knobs, basicallyrequest_idβ the request ID used to send these notifications π¨ (it's a__le16, so little-endian, iykyk)instance_idβ the specific instance within the given target category that notifications should be enabled for π§ the exact one, not a general one
ngl these four fields are doing a lot of quiet work, so treat them right π
π SEE ALSO
first up, the kernel file itself β you have to peek at ./drivers/platform/surface/aggregator/controller.c π it's giving main character energy
then the whole friend group π«Ά
ssh_seq_reset(9), ssh_seq_next(9), ssh_rqid_reset(9), ssh_rqid_next(9), ssam_event_matches_notifier(9), ssam_nfblk_call_chain(9), ssam_nfblk_insert(9), ssam_nfblk_find(9), ssam_nfblk_remove(9), ssam_nf_head_init(9), ssam_nf_head_destroy(9), struct ssam_nf_refcount_key(9), struct ssam_nf_refcount_entry(9), ssam_nf_refcount_inc(9), ssam_nf_refcount_dec(9), ssam_nf_refcount_dec_free(9), ssam_nf_refcount_empty(9), ssam_nf_call(9), ssam_nf_init(9), ssam_nf_destroy(9)
and the event item + queue girlies π
ssam_event_item_cache_init(9), ssam_event_item_cache_destroy(9), ssam_event_item_free(9), ssam_event_item_alloc(9), ssam_event_queue_push(9), ssam_event_queue_pop(9), ssam_event_queue_is_empty(9), ssam_cplt_get_event_queue(9), ssam_cplt_submit(9), ssam_cplt_submit_event(9), ssam_cplt_flush(9), ssam_event_queue_init(9), ssam_cplt_init(9), ssam_cplt_destroy(9)
controller crew, assemble π
ssam_controller_device(9), ssam_controller_get(9), ssam_controller_put(9), ssam_controller_statelock(9), ssam_controller_stateunlock(9), ssam_controller_lock(9), ssam_controller_caps_load_from_acpi(9), ssam_controller_caps_load_from_of(9), ssam_controller_caps_load(9), ssam_controller_init(9), ssam_controller_start(9), ssam_controller_shutdown(9), ssam_controller_destroy(9), ssam_controller_suspend(9), ssam_controller_resume(9)
request handlers π§β¨
ssam_request_write_data(9), ssam_request_sync_alloc(9), ssam_request_sync_free(9), ssam_request_sync_init(9), ssam_request_sync_submit(9), ssam_request_do_sync(9), ssam_request_do_sync_with_buffer(9)
events, notifications & firmware stuff π
ssam_ssh_event_enable(9), ssam_ssh_event_disable(9), ssam_get_firmware_version(9), ssam_ctrl_notif_display_off(9), ssam_ctrl_notif_display_on(9), ssam_ctrl_notif_d0_exit(9), ssam_ctrl_notif_d0_entry(9), ssam_nf_refcount_enable(9), ssam_nf_refcount_disable_free(9)
notifier registration squad π (mind the double underscore on one of them, fr fr)
ssam_notifier_register(9), __ssam_notifier_unregister(9), ssam_controller_event_enable(9), ssam_controller_event_disable(9), ssam_notifier_disable_registered(9), ssam_notifier_restore_registered(9), ssam_notifier_is_empty(9), ssam_notifier_unregister_all(9)
and last but never least, the IRQ icons π₯
ssam_irq_setup(9), ssam_irq_free(9), ssam_irq_arm_for_wakeup(9), ssam_irq_disarm_wakeup(9)
go read them all, bestie β that's the assignment π
and that's the page!! π it comes to you from ./drivers/platform/surface/aggβ¦ (the path got a lil truncated in the footer, iconic of it honestly) and it's dated October 2026 β so yeah, futuristic manual, slay π¦β¨ bye bestie, happy notifying π
π¦ 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