gsm_data_alloc(9)
π gsm_data_alloc(9) β the Kernel API Manual glow-up π
okay so this is a page from the Kernel API Manual, it's gsm_data_alloc(9), and bestie, it's literally about making a data frame out of thin air. let's get into it β¨
πΈ NAME πΈ
gsm_data_alloc β allocate data frame π¦
β¨ SYNOPSIS β¨
struct gsm_msg * gsm_data_alloc (struct gsm_mux *gsm , u8 addr , int len
, u8 ctrl );
like, that's the whole signature, no cap. four args, one pointer back. periodt π
π«Ά ARGUMENTS π«Ά
gsmβ the GSM mux. it's giving "the whole vibe container" πaddrβ the DLCI address, iconic little identifier πlenβ the length, and hear me out: this is length excluding header and FCS. do NOT count those. i'm serious πctrlβ the control byte, tiny but main character energy β
π₯ DESCRIPTION π₯
so what it does is allocate a brand-new data buffer for sending frames that have data in them. literally that's it, that's the job π
here's the lil detail that matters though: space is left at the front for header bytes π. but β and this is the important part β that's treated as an implementation detail and it is not for the high level code to use. so don't touch it, don't peek at it, don't build your whole personality on it. iykyk π
π¦ SEE ALSO π¦
Kernel file ./drivers/tty/n_gsm.c β and honestly the whole friend group is here, so let me introduce everyone π:
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_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)gsm_wait_modem_change(9)
like, the whole roster. ate and left no crumbs π
ngl bestie, that's the entire page β no hidden lore, no extra flags, nothing sneaky hiding in the fine print π
and that's the wrap, fr fr π this one came out of ./drivers/tty and it's dated October 2026 β mwah, stan, no notes, see u in the next page π§ββοΈππ
π¦ 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