DRAWFCALL(3)

πŸ“¦ version 0_git20260208, in alpine 3.24, arch rolling, nixos 26.05, nixpkgs unstable

Welcome to DRAWFCALL(3), bestie β€” the Library Functions Manual page for the window system protocol, and yes she’s serving Unix group-chat energy 🫢✨

πŸ’– NAME πŸ’–

convM2W, convW2M, drawfcallfmt, readwsysmsg, sizeW2M β€” window system protocol πŸͺŸπŸ’…

✨ SYNOPSIS ✨

Okay so first you gather the headers like you’re collecting stickers, no cap:

#include <u.h>
#include <libc.h>
#include <draw.h>
#include <mouse.h>
#include <cursor.h>
#include <drawfcall.h>

uint convM2W(uchar *ap, uint nap, Wsysmsg *w)

uint convW2M(Wsysmsg *w, uchar *ap, uint nap)

int  drawfcallfmt(Fmt*)

int  readwsysmsg(int fd, uchar *buf, uint nbuf)

uint sizeW2M(Wsysmsg *w)

🌸 DESCRIPTION 🌸

Okay so these routines are the analogues of the routines described in fcall(3), but make it graphics πŸ’… They manipulate graphics device protocol messages rather than 9P protocol messages. The graphics device protocol is used for internal communication between the devdraw(1) graphics server and the draw(3) library. A Wsysmsg is the C structure corresponding to a protocol message ✨

🚨 Heads up, bestie: the protocol is intentionally undocumented and may change. So don’t get too attached to any secret interpretation, fr fr πŸ’€

πŸŽ€ SOURCE πŸŽ€

/src/libdraw/drawfcall.c πŸ’Ύ

πŸ¦‹ SEE ALSO πŸ¦‹

devdraw(1), draw(3), graphics(3) β€” go give these a little read too, iykyk 🫢


That’s the whole page, bestie πŸ’– Source/version: the Library Functions Manual, page DRAWFCALL(3) β€” and the date? Not shown in the footer, so she’s a mystery 😭🫢