gsm_dlci_data_sweep(9)
π gsm_dlci_data_sweep(9) π
okay so bestie, welcome to the kernel API manual for gsm_dlci_data_sweep β yes that's the whole title, and it lives in the Kernel API Manual section, section 9, the one for kernel functions. this is giving "niche but crucial" and honestly? iconic.
β¨ NAME β¨
gsm_dlci_data_sweep β look for data to send π΅οΈββοΈπ
like, that's the whole job. it goes looking. it finds data. it sends. slay.
πΈ SYNOPSIS πΈ
int gsm_dlci_data_sweep (struct gsm_mux *gsm );
it returns an int, it takes a pointer to a struct gsm_mux, and that's the tea π΅. copy it exactly if you're writing it out, okay? character for character, no improvising.
π ARGUMENTS π
gsmβ the GSM mux π«Ά that's it. that's the one argument. it's the mux, bestie, the whole multiplexed situation, and we're about to sweep it.
π¦ DESCRIPTION π¦
okay so here's the vibe: this function sweeps the GSM mux channels in priority order, looking for the ones that have data to send π¬. it goes down the list, priority-style, checking each channel like "you got anything? you? okay you, noted."
and like, lowkey, we could do with optimising this scan a bit β that's straight from the source, not me being shady π. the goal is to fill the queue totally or up to TX_THRESH_HI bytes. then, once we hit TX_THRESH_LO, we get called again π. that's the loop. that's the rhythm. main character energy fr fr.
FIXME: we should round robin between groups, and in theory you can renegotiate DLCI priorities with optional stuff. needs optimising π β yes the original really does say that, and no I'm not gonna pretend it doesn't. the code has notes. we respect the notes.
π SEE ALSO π
this is the part where I hold up the entire friend group and introduce everybody one by one. the kernel file is ./drivers/tty/n_gsm.c, and here's the whole squad, no cap, in order:
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_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)gsm_wait_modem_change(9)
every single one, bestie. I counted. I did not skip. we don't skip here π.
and that's the whole page! π§ source vibes come from ./drivers/tty, dated October 2026, and the page itself is gsm_dlci_data_sweep(9) β so yeah, we came full circle, periodt. go sweep some data, you absolute icon πβπ
π¦ 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