gsm_control_keep_alive(9)
π 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
- 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