STRUCT SSH_NOTIFICATION_PARAMS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 about
  • flags β€” the flags that determine how these notifications are being sent 🚩 the behavior knobs, basically
  • request_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