gsm_control_reply(9)
π gsm_control_reply(9) β or, how to clap back at a control message
okay so bestie, this is a page from the Kernel API Manual and it's literally called gsm_control_reply(9). yes the (9) is the section, it's giving "I live in the kernel docs" energy. let's get into it π
β¨ NAME β¨
gsm_control_reply β send a response frame to a control π«Ά
like, somebody sent you a control thing and now you gotta reply. that's the whole job. iconic.
πΈ SYNOPSIS πΈ
void gsm_control_reply (struct gsm_mux *gsm , int cmd , const u8 *data ,
int dlen );
no return value, it returns void, so don't go looking for one, she's not coming π
π¦ ARGUMENTS π¦
gsmβ the gsm channel. your main character structstruct gsm_mux *. everything happens in her context.cmdβ the command to use. anint, and yes you have to pick one, it's not optional.dataβ data to follow encoded info. aconst u8 *, so bestie, you're only looking, not touching. πdlenβ length of data. anintfordata, because even aconst u8 *needs to know how long it is.
β DESCRIPTION β
Encode up and queue a UI/UIH frame containing our response.
that's it. that's the whole description. encode it up, queue the frame, the frame is a UI/UIH frame, and it carries our response. no cap, it's a two-second read and honestly? we respect the brevity. π₯
ngl, this one is short on purpose β the heavy lifting lives in the encoder/queue functions, which are all in the SEE ALSO list below, iykyk.
π SEE ALSO π
the kernel file for all this is ./drivers/tty/n_gsm.c, and bestie, the friend group is huge, so buckle up:
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_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), gsm_wait_modem_change(9)
like I said. massive friend group. read them all, they're all in ./drivers/tty/n_gsm.c. π§
ok that's the whole page, no warnings, no bugs section, no exit statuses, nothing scary. she's a clean simple girlie. π
sign-off time β¨ this little beauty comes to you from the source tree at ./drivers/tty, dated October 2026, and it's page gsm_control_reply(9) of the Kernel API Manual. go reply to some control frames bestie, u got this ππ
π¦ 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