gsm_control_negotiation(9)
π gsm_control_negotiation(9)
okay so this is a page from the Kernel API Manual β yes bestie, the kernel has lore too π«Ά β and today's main character is gsm_control_negotiation, a tiny little function that does exactly one job and does it iconically. periodt.
β¨ NAME β¨
gsm_control_negotiation β parameter negotiation received πΈ
like literally, a negotiation message just showed up at the door and someone has to deal with it.
π SYNOPSIS π
void gsm_control_negotiation (struct gsm_mux *gsm , unsigned int cr ,
const u8 *data , unsigned int dlen );
no return value, it's giving "void and unbothered" energy π
π¦ ARGUMENTS π¦
gsmβ the GSM channel π this is the whole vibe we're operating oncrβ the command/response flag π― tells you which way the message is headeddataβ the data following the command π¦ the actual payload, the good stuffdlenβ the data length π so we know how much ofdatato actually care about
π DESCRIPTION π
so here's the tea: we have received a parameter negotiation message ββ¨ This is used by the GSM mux protocol to configure protocol parameters for a new DLCI. that's it, that's the whole function β it shows up, it gets handled, it slays, it leaves. π₯
π SEE ALSO π
ngl the friend group here is huge. first up, the source file itself: Kernel file ./drivers/tty/n_gsm.c π§
then the whole squad, and yes we're naming every single one because nobody gets left out of 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_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β¦ that's the whole extended universe, iykyk π
okay that's the page!! this one came out of ./drivers/tty and it's dated October 2026 β drop a π
in the chat for the tty subsystem, they've been carrying this whole thing fr fr. bye bestie, go read n_gsm.c π«Άβ¨
π¦ 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