ENUM P9_PERM_T(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ enum p9_perm_t ✨

okay bestie, so this one is enum p9_perm_t β€” it's literally the 9P permissions enum, straight out of the Kernel API Manual. yes, that manual. come on, let's go πŸ’…


πŸŽ€ NAME πŸŽ€

enum p9_perm_t β€” the 9P permissions, fr fr


πŸ’– SYNOPSIS πŸ’–

enum p9_perm_t {
    P9_DMDIR ,
    P9_DMAPPEND ,
    P9_DMEXCL ,
    P9_DMMOUNT ,
    P9_DMAUTH ,
    P9_DMTMP ,
    P9_DMSYMLINK ,
    P9_DMLINK ,
    P9_DMDEVICE ,
    P9_DMNAMEDPIPE ,
    P9_DMSOCKET ,
    P9_DMSETUID ,
    P9_DMSETGID ,
    P9_DMSETVTX

};

🌸 Constants 🌸

ok so here's the whole cast, main character by main character πŸ‘‘

  • P9_DMDIR β€” the mode bit for directories. the og folder energy πŸ“
  • P9_DMAPPEND β€” the mode bit for is append-only. yes, append only, no takebacks πŸ’€
  • P9_DMEXCL β€” the mode bit for exclusive use (only one open handle allowed). one handle. that's it. that's the rule πŸ™ˆ
  • P9_DMMOUNT β€” the mode bit for mount points
  • P9_DMAUTH β€” the mode bit for the authentication file
  • P9_DMTMP β€” the mode bit for non-backed-up files
  • P9_DMSYMLINK β€” the mode bit for symbolic links (9P2000.u)
  • P9_DMLINK β€” the mode bit for hard-link (9P2000.u)
  • P9_DMDEVICE β€” the mode bit for device files (9P2000.u)
  • P9_DMNAMEDPIPE β€” the mode bit for named pipe (9P2000.u)
  • P9_DMSOCKET β€” the mode bit for socket (9P2000.u)
  • P9_DMSETUID β€” the mode bit for setuid (9P2000.u)
  • P9_DMSETGID β€” the mode bit for setgid (9P2000.u)
  • P9_DMSETVTX β€” the mode bit for sticky bit (9P2000.u)

πŸ¦‹ Description πŸ¦‹

so the vibe check here: 9P permissions differ slightly from Posix standard modes. that's the whole note. not a huge drama, just a lil difference bestie 🫢

See Also: http://plan9.bell-labs.com/magic/man2html/2/stat


🌈 SEE ALSO 🌈

Kernel file ./include/net/9p/9p.h β€” and the whole squad lives there too: enum p9_debug_flags(9), enum p9_msg_t(9), enum p9_open_mode_t(9), enum p9_qid_t(9), struct p9_qid(9), struct p9_wstat(9), struct p9_iattr_dotl(9), struct p9_fcall(9) πŸ’œ


and that's the page!! πŸŽ‰ from ./include/net/9p, dated October 2026 β€” mwah, slay, go read the source, ily bye πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from