STRUCT GSM_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct gsm_config β€” the basic configuration parameters for n_gsm, bestie. that's it, that's the whole vibe ✨

so you know how this page is from the Kernel API Manual? yeah. we're in kernel land now and we're gonna have fun with it πŸŽ€


🌸 SYNOPSIS 🌸

struct gsm_config {
    unsigned int adaption;
    unsigned int encapsulation;
    unsigned int initiator;
    unsigned int t1;
    unsigned int t2;
    unsigned int t3;
    unsigned int n2;
    unsigned int mru;
    unsigned int mtu;
    unsigned int k;
    unsigned int i;
    unsigned int unused[8];
 };

like… look at her. twelve fields. eight of them are just vibes (unused, we'll get to you). iconic honestly πŸ‘‘


πŸ¦‹ Members πŸ¦‹

okay so let's go field by field, no skipping, we don't do that here πŸ’…

  • adaption β€” the convergence layer type, periodt.
  • encapsulation β€” the framing. it's 0 = basic option, 1 = advanced option. pick your fighter πŸ₯Š
  • initiator β€” initiator or responder. are you the one starting things or the one responding? main character or supporting cast, no wrong answer πŸ’«
  • t1 β€” Acknowledgment timer ⏰
  • t2 β€” Response timer for the multiplexer control channel ⏰
  • t3 β€” Response timer for the wake-up procedure ⏰ (yes girl, wake up 🌞)
  • n2 β€” Maximum number of retransmissions πŸ”
  • mru β€” Maximum incoming frame payload size πŸ“₯
  • mtu β€” Maximum outgoing frame payload size πŸ“€
  • k β€” Window size πŸͺŸ
  • i β€” Frame type, and it's 1 = UIH, 2 = UI. just those two, don't get creative 😌
  • unused β€” Can not be used. that's it. that's the description. hands off the unused array bestie πŸ™ˆ (it's literally eight unsigned ints of do not touch)

✨ Description ✨

so this structure is used in combination with GSMIOC_GETCONF and GSMIOC_SETCONF to retrieve and set the basic parameters of an n_gsm ldisc. like, that's the whole job 🫢

and if you want to configure the extended ldisc parameters? that's not this girl. that's struct gsm_config_ext, she has her own page πŸ’β€β™€οΈ

🚨 important lore: all timers are in units of 1/100th of a second. so like, do the math. t1 of 100 = one second. ngl this is the detail everyone forgets and it's giving chaos 😭

🌈 SEE ALSO 🌈

  • Kernel file ./include/uapi/linux/gsmmux.h β€” also: struct gsm_netconfig(9), struct gsm_config_ext(9), struct gsm_dlci_config(9) πŸ¦‹ go read those too, i'll wait

and that's the page!! πŸ’œ source lives at ./include/uapi/linux, dated October 2026, and it's struct gsm_config(9) in the Kernel API Manual β€” slay, go configure ur ldisc, mwah πŸŽ€πŸ’‹

πŸ“¦ where this page comes from