gsmld_write(9)
π gsmld_write(9) β Kernel API Manual π
okay so bestie, welcome to gsmld_write(9), a page straight out of the Kernel API Manual, and honestly? it's a little baddie of a function. let's get into it π
β¨ NAME β¨
gsmld_write β the write function for tty. that's it, that's the vibe. it writes. to a tty. slay π
β¨ SYNOPSIS β¨
ssize_t gsmld_write (struct tty_struct *tty , struct file *file , const
u8 *buf , size_t nr );
look at her. four arguments, one ssize_t return, zero notes. iconic π
β¨ ARGUMENTS β¨
ttyβ the tty device. the main character of this whole operation π«Άfileβ the file object. yes bestie, that file object πΈbufβ a userspace buffer pointer. it's pointing at stuff. respect it β¨nrβ the size of the I/O. in other words, how much we're moving π«
β¨ DESCRIPTION β¨
okay so here's the tea β β this one gets called when the owner of the device wants to send a frame itself, or like, some other control data. very "i'll handle this myself" energy, love that for them π
the data gets transferred as-is. no glow-up, no edits, no nothing. and because of that, it must be properly framed and checksummed as appropriate by userspace. so that's on you, bestie, not on the kernel π
also key detail: frames are either sent whole or not at all. no half-frames, no messy in-betweens, none of that. and likeβ¦ that's genuinely a good thing? because it avoids pain on the user side π fr fr, nobody wants to deal with a half-sent frame. we simply don't have the energy.
β¨ SEE ALSO β¨
π¦ Kernel file ./drivers/tty/n_gsm.c β go read it, iykyk
and now, the full bestie roll call β literally every single one, no skips, no cuts, periodt π:
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_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_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 a lot of friends and she knows every single one of them π
π and that's the whole page, bestie! no cap, you now know gsmld_write better than most people know their own wifi password β¨
this little masterpiece lives in ./drivers/tty, dated October 2026 β mwah, go forth and frame your data properly π
ππ¦
π¦ 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