gsm_control_keep_alive(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– gsm_control_keep_alive β€” a Kernel API Manual moment (section 9, bestie) πŸ’–

okay so picture this: you're deep in the kernel, in Kernel API Manual territory, section 9, and the page is literally called gsm_control_keep_alive. yes queen, we're doing timer stuff today. πŸ•βœ¨


✨ NAME ✨

gsm_control_keep_alive β€” check the timeout or start the keep-alive. that's the whole gig. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

void gsm_control_keep_alive (struct timer_list *t );

literally one argument, one function, zero drama. slay. 🫢


πŸŽ€ ARGUMENTS πŸŽ€

  • t β€” the timer, and it's contained in our gsm object like it pays rent there. that's the one. πŸ’–

🌸 DESCRIPTION 🌸

so here's the vibe check: this gets called off the keep-alive timer expiring, and what that's signaling is that our link partner is not responding anymore. 😭 like, ghosting us. and when that happens β€” the link gets closed. periodt, no cap.

but wait, there's more (there's always more): this is also called to start up our timer. so it's giving both "the party's over" and "the party's starting" energy at the same time. main character duality. πŸ”₯

ngl bestie, this one's short but it's doing two whole jobs. don't sleep on it. πŸ‘‘

🌈 SEE ALSO 🌈

okay so this is the part where the manpage just dumps the entire n_gsm.c extended family on you, and honestly? iconic. the kernel file is ./drivers/tty/n_gsm.c, and here's everyone invited to the group chat:

gsm_fcs_add(9), gsm_fcs_add_block(9), gsm_read_ea(9), gsm_read_ea_val(9), gsm_encode_modem(9), gsm_encode_params(9), gsm_register_devices(9), gsm_unregister_devices(9), gsm_print_packet(9), gsm_stuff_frame(9), gsm_send(9), gsm_dlci_clear_queues(9), gsm_response(9), gsm_command(9), gsm_data_alloc(9), gsm_send_packet(9), gsm_is_flow_ctrl_msg(9), gsm_data_kick(9), __gsm_data_queue(9), gsm_data_queue(9), gsm_dlci_data_output(9), gsm_dlci_data_output_framed(9), gsm_dlci_modem_output(9), gsm_dlci_data_sweep(9), gsm_dlci_data_kick(9), gsm_control_command(9), gsm_control_reply(9), gsm_process_modem(9), gsm_process_negotiation(9), gsm_control_modem(9), gsm_control_negotiation(9), gsm_control_rls(9), gsm_control_message(9), gsm_control_response(9), gsm_control_transmit(9), gsm_control_retransmit(9), gsm_control_send(9), gsm_control_wait(9), gsm_dlci_close(9), gsm_dlci_open(9), gsm_dlci_negotiate(9), gsm_dlci_t1(9), gsm_dlci_begin_open(9), gsm_dlci_set_opening(9), gsm_dlci_set_wait_config(9), gsm_dlci_begin_close(9), gsm_dlci_data(9), gsm_dlci_command(9), gsm_kick_timer(9), gsm_dlci_copy_config_values(9), gsm_dlci_config(9), gsm_dlci_alloc(9), gsm_dlci_free(9), gsm_dlci_release(9), gsm_queue(9), gsm0_receive_state_check_and_fix(9), gsm0_receive(9), gsm1_receive_state_check_and_fix(9), gsm1_receive(9), gsm_error(9), gsm_cleanup_mux(9), gsm_activate_mux(9), gsm_free_mux(9), gsm_free_muxr(9), gsm_alloc_mux(9), gsmld_output(9), gsmld_write_trigger(9), gsmld_write_task(9), gsmld_attach_gsm(9), gsmld_detach_gsm(9), gsmld_flush_buffer(9), gsmld_close(9), gsmld_open(9), gsmld_write_wakeup(9), gsmld_read(9), gsmld_write(9), gsmld_poll(9), gsm_modem_upd_via_data(9), gsm_modem_upd_via_msc(9), gsm_modem_update(9), gsm_wait_modem_change(9).

like i said. everyone. ate and left no crumbs. πŸ“


and that's the page bestie!! πŸ’œ oh and for the sign-off: this is from ./drivers/tty, dated October 2026, and it lives in the Kernel API Manual β€” gsm_control_keep_alive(9), forever and always. mwah. πŸ§šβ€β™€οΈπŸ’–βœ¨

πŸ“¦ where this page comes from