gsm_control_send(9)
๐ gsm_control_send(9) โ like, the kernel API manual, but make it cute
okay so bestie, welcome to the gsm_control_send(9) page, straight out of the Kernel API Manual ๐. It's a tiny little function with big main character energy โ it's the one that fires off a control frame on DLCI 0. Let's get into it โจ
๐ธ NAME ๐ธ
gsm_control_send โ send a control frame on DLCI 0 ๐ฆ
โจ SYNOPSIS โจ
struct gsm_control * gsm_control_send (struct gsm_mux *gsm , unsigned
int command , u8 *data , int clen );
like, yes, it's one line and it's giving "short but mighty" ๐
๐ ARGUMENTS ๐
gsmโ the GSM channel. the whole vibe basically, this is your mux bestie ๐commandโ the command to send including the CR bit ๐ (don't forget the CR bit, i'm literally begging)dataโ the bytes of data. and listen โ it must bekmalloced ๐ญ no cap, that's a hard requirementclenโ length of the block to send, as a number ๐
๐ฅ DESCRIPTION ๐ฅ
Queue and dispatch a control command. that's the whole job, and she does it ๐ซถ
Only one command can be active at a time. In theory more can be outstanding โ like, sure, mathematically, the universe allows it ๐ โ but the matching gets really complicated, so for now stick to one outstanding. periodt. ๐
honestly this is a "trust the process" situation. one command at a time. the matching stays sane. we stay sane. everybody wins โจ
๐ฆ SEE ALSO ๐ฆ
literally the whole n_gsm.c friend group, head to the Kernel file ./drivers/tty/n_gsm.c ๐, and then:
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_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, that's the entire group chat, and yes, they all get a mention ๐ โจ
๐ sign-off ๐
okay so this lil page lives in ./drivers/tty (the source/version bit, iykyk), and it's dated October 2026 โ future-coded of her ngl ๐ฎ. that's the whole footer, folded into a cute bye-bye instead of a boring line, because we don't do boring here ๐๐
go send exactly one control frame bestie, you're gonna slay ๐ฆ๐ธ
๐ฆ 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