gsm_wait_modem_change(9)
π gsm_wait_modem_change β a Kernel API Manual moment π
okay so bestie, welcome to the Kernel API Manual page for gsm_wait_modem_change(9). yes that's the manual name, it's giving official. this whole thing lives in the kernel docs and it's lowkey iconic. let's get into it π
β¨ NAME β¨
gsm_wait_modem_change β wait for modem status line change
like literally, you're waiting for the modem's status lines to do a little vibe shift. that's the whole job. π
β¨ SYNOPSIS β¨
int gsm_wait_modem_change (struct gsm_dlci *dlci , u32 mask );
copy it exactly bestie, spacing and all, no cap π«Ά
β¨ ARGUMENTS β¨
dlciβ channel. it's the DLCI you're hanging out with, the star of the show.maskβ modem status line bits. this is the lil bitmask saying which status lines you actually care about π
β¨ DESCRIPTION β¨
so the way this works is: the function does its waiting thing and then it returns β but only when one of these four situations happens. it's giving "multiple exit strategies" and honestly? slay.
- any given modem status line bit changed π₯
- the wait event function got interrupted (e.g. by a signal)
- the underlying DLCI was closed
- the underlying ldisc device was removed
that's it, that's the list. four reasons to bounce, no more no less. β
ngl, the "interrupted by a signal" one is the classic "not me getting interrupted mid-wait" moment. rude but valid. π
β¨ SEE ALSO β¨
okay this is the part where the manual just lists literally every sibling in the family. we're talking the entire GSM crew, the whole group chat. Kernel file ./drivers/tty/n_gsm.c is where they all live. here's everybody, one per bullet because you deserve the full roster π
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_keep_alive(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)
look at that list. genuinely obsessed. the whole n_gsm.c family ate and left no crumbs π
okay bestie that's the page!! sign-off time: this cutie comes from ./drivers/tty (that's the source, periodt) and it's dated October 2026, and yeah the manual is the Kernel API Manual β we already shouted it out at the top, iykyk. gsm_wait_modem_change(9) 4 ever π
β¨π¦
π¦ 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