Skip to content

Agent KB_progs

grisun0 edited this page Oct 23, 2026 · 12 revisions

Subsystem: progs

progs/minios_abi.h

  • Doc: Single source of truth for the MiniOS user-kernel ABI.
  • Layer: utility
  • Language: h
  • Symbols:
    • DOOM_BACKBUF_ADDR (function, line 133) * * All three sit in the reserved tail above DOOM_BACKBUF_ADDR (the brk cap), * so a growing heap or mmap region can...
    • range (function, line 334) * number inside the MiniOS window and outside the pcm2 range (246-248). */ #define MINIOS_SYS_LZ4_DECOMPRESS 255...
    • MINIOS_ABI_H (macro, line 2) #define MINIOS_ABI_H
    • MINIOS_ABI_VERSION (macro, line 44) #define MINIOS_ABI_VERSION
    • MINIOS_ABI_CHECKSUM (macro, line 48) #define MINIOS_ABI_CHECKSUM
    • MINIOS_USER_LOAD_BASE (macro, line 118) #define MINIOS_USER_LOAD_BASE
    • MINIOS_USER_LOAD_END (macro, line 119) #define MINIOS_USER_LOAD_END
    • MINIOS_USER_STACK_SIZE (macro, line 120) #define MINIOS_USER_STACK_SIZE
    • MINIOS_USER_STACK_TOP (macro, line 121) #define MINIOS_USER_STACK_TOP
    • MINIOS_USER_STACK_BASE (macro, line 122) #define MINIOS_USER_STACK_BASE
    • MINIOS_USER_BRK_END (macro, line 123) #define MINIOS_USER_BRK_END
    • MINIOS_DOOM_BACKBUF_ADDR (macro, line 140) #define MINIOS_DOOM_BACKBUF_ADDR
    • MINIOS_DOOM_W (macro, line 141) #define MINIOS_DOOM_W
    • MINIOS_DOOM_H (macro, line 142) #define MINIOS_DOOM_H
    • MINIOS_FB_ADDR (macro, line 143) #define MINIOS_FB_ADDR
    • MINIOS_NK_BACKBUF_ADDR (macro, line 144) #define MINIOS_NK_BACKBUF_ADDR
    • MINIOS_NK_W (macro, line 145) #define MINIOS_NK_W
    • MINIOS_NK_H (macro, line 146) #define MINIOS_NK_H
    • MINIOS_LDSO_BASE (macro, line 161) #define MINIOS_LDSO_BASE
    • MINIOS_LDSO_SIZE (macro, line 162) #define MINIOS_LDSO_SIZE
    • MINIOS_LDSO_END (macro, line 163) #define MINIOS_LDSO_END
    • MINIOS_NK_RGB_ADDR (macro, line 171) #define MINIOS_NK_RGB_ADDR
    • MINIOS_NK_RGB_BYTES (macro, line 172) #define MINIOS_NK_RGB_BYTES
    • MINIOS_HEAP_BASE (macro, line 177) #define MINIOS_HEAP_BASE
    • MINIOS_HEAP_SIZE (macro, line 183) #define MINIOS_HEAP_SIZE
    • MINIOS_PCI_MMIO_SIZE (macro, line 207) #define MINIOS_PCI_MMIO_SIZE
    • MINIOS_DEV_MMIO_VBASE (macro, line 219) #define MINIOS_DEV_MMIO_VBASE
    • MINIOS_FB_WIDTH_MAX (macro, line 224) #define MINIOS_FB_WIDTH_MAX
    • MINIOS_FB_HEIGHT_MAX (macro, line 225) #define MINIOS_FB_HEIGHT_MAX
    • MINIOS_SYS_READ (macro, line 243) #define MINIOS_SYS_READ
    • MINIOS_SYS_WRITE (macro, line 244) #define MINIOS_SYS_WRITE
    • MINIOS_SYS_OPEN (macro, line 245) #define MINIOS_SYS_OPEN
    • MINIOS_SYS_CLOSE (macro, line 246) #define MINIOS_SYS_CLOSE
    • MINIOS_SYS_FSTAT (macro, line 247) #define MINIOS_SYS_FSTAT
    • MINIOS_SYS_POLL (macro, line 248) #define MINIOS_SYS_POLL
    • MINIOS_SYS_LSEEK (macro, line 249) #define MINIOS_SYS_LSEEK
    • MINIOS_SYS_MMAP (macro, line 250) #define MINIOS_SYS_MMAP
    • MINIOS_SYS_MPROTECT (macro, line 251) #define MINIOS_SYS_MPROTECT
    • MINIOS_SYS_MUNMAP (macro, line 252) #define MINIOS_SYS_MUNMAP
    • MINIOS_SYS_BRK (macro, line 253) #define MINIOS_SYS_BRK
    • MINIOS_SYS_RT_SIGACTION (macro, line 254) #define MINIOS_SYS_RT_SIGACTION
    • MINIOS_SYS_RT_SIGPROCMASK (macro, line 255) #define MINIOS_SYS_RT_SIGPROCMASK
    • MINIOS_SYS_IOCTL (macro, line 256) #define MINIOS_SYS_IOCTL
    • MINIOS_SYS_WRITEV (macro, line 257) #define MINIOS_SYS_WRITEV
    • MINIOS_SYS_ACCESS (macro, line 258) #define MINIOS_SYS_ACCESS
    • MINIOS_SYS_SCHED_YIELD (macro, line 259) #define MINIOS_SYS_SCHED_YIELD
    • MINIOS_SYS_GETPID (macro, line 260) #define MINIOS_SYS_GETPID
    • MINIOS_SYS_SOCKET (macro, line 261) #define MINIOS_SYS_SOCKET
    • MINIOS_SYS_CONNECT (macro, line 262) #define MINIOS_SYS_CONNECT
    • MINIOS_SYS_SENDTO (macro, line 263) #define MINIOS_SYS_SENDTO
    • MINIOS_SYS_RECVFROM (macro, line 264) #define MINIOS_SYS_RECVFROM
    • MINIOS_SYS_SHUTDOWN (macro, line 265) #define MINIOS_SYS_SHUTDOWN
    • MINIOS_SYS_FORK (macro, line 266) #define MINIOS_SYS_FORK
    • MINIOS_SYS_VFORK (macro, line 267) #define MINIOS_SYS_VFORK
    • MINIOS_SYS_EXECVE (macro, line 268) #define MINIOS_SYS_EXECVE
    • MINIOS_SYS_EXIT (macro, line 269) #define MINIOS_SYS_EXIT
    • MINIOS_SYS_WAIT4 (macro, line 270) #define MINIOS_SYS_WAIT4
    • MINIOS_SYS_KILL (macro, line 271) #define MINIOS_SYS_KILL
    • MINIOS_SYS_UNAME (macro, line 272) #define MINIOS_SYS_UNAME
    • MINIOS_SYS_UNLINK (macro, line 273) #define MINIOS_SYS_UNLINK
    • MINIOS_SYS_RENAME (macro, line 274) #define MINIOS_SYS_RENAME
    • MINIOS_SYS_READLINK (macro, line 275) #define MINIOS_SYS_READLINK
    • MINIOS_SYS_GETTID (macro, line 276) #define MINIOS_SYS_GETTID
    • MINIOS_SYS_FLOCK (macro, line 280) #define MINIOS_SYS_FLOCK
    • MINIOS_SYS_FSYNC (macro, line 281) #define MINIOS_SYS_FSYNC
    • MINIOS_SYS_FDATASYNC (macro, line 282) #define MINIOS_SYS_FDATASYNC
    • MINIOS_SYS_GETCWD (macro, line 283) #define MINIOS_SYS_GETCWD
    • MINIOS_SYS_GETTIMEOFDAY (macro, line 284) #define MINIOS_SYS_GETTIMEOFDAY
    • MINIOS_SYS_ARCH_PRCTL (macro, line 285) #define MINIOS_SYS_ARCH_PRCTL
    • MINIOS_SYS_OPENAT (macro, line 286) #define MINIOS_SYS_OPENAT
    • MINIOS_SYS_NEWFSTATAT (macro, line 287) #define MINIOS_SYS_NEWFSTATAT
    • MINIOS_SYS_STATX (macro, line 290) #define MINIOS_SYS_STATX
    • MINIOS_SYS_SET_ROBUST_LIST (macro, line 294) #define MINIOS_SYS_SET_ROBUST_LIST
    • MINIOS_SYS_PRLIMIT64 (macro, line 298) #define MINIOS_SYS_PRLIMIT64
    • MINIOS_SYS_GETRANDOM (macro, line 299) #define MINIOS_SYS_GETRANDOM
    • MINIOS_SYS_RSEQ (macro, line 300) #define MINIOS_SYS_RSEQ
    • MINIOS_SYS_EXIT_GROUP (macro, line 301) #define MINIOS_SYS_EXIT_GROUP
    • MINIOS_SYS_SET_TID_ADDRESS (macro, line 302) #define MINIOS_SYS_SET_TID_ADDRESS
    • MINIOS_SYS_CLOCK_GETTIME (macro, line 303) #define MINIOS_SYS_CLOCK_GETTIME
    • MINIOS_SYS_TGKILL (macro, line 304) #define MINIOS_SYS_TGKILL
    • MINIOS_SYS_DNS (macro, line 307) #define MINIOS_SYS_DNS
    • MINIOS_SYS_TLS_HANDSHAKE (macro, line 313) #define MINIOS_SYS_TLS_HANDSHAKE
    • MINIOS_SYS_TLS_SEND (macro, line 314) #define MINIOS_SYS_TLS_SEND
    • MINIOS_SYS_TLS_RECV (macro, line 315) #define MINIOS_SYS_TLS_RECV
    • MINIOS_SYS_TIME (macro, line 318) #define MINIOS_SYS_TIME
    • MINIOS_SYS_KBD (macro, line 319) #define MINIOS_SYS_KBD
    • MINIOS_SYS_PALETTE (macro, line 320) #define MINIOS_SYS_PALETTE
    • MINIOS_SYS_KBD_RAW (macro, line 321) #define MINIOS_SYS_KBD_RAW
    • MINIOS_SYS_VGA_MODE (macro, line 322) #define MINIOS_SYS_VGA_MODE
    • MINIOS_SYS_PCSPK_INIT (macro, line 323) #define MINIOS_SYS_PCSPK_INIT
    • MINIOS_SYS_PCSPK_TONE (macro, line 324) #define MINIOS_SYS_PCSPK_TONE
    • MINIOS_SYS_DOOM_FRAME (macro, line 325) #define MINIOS_SYS_DOOM_FRAME
    • MINIOS_SYS_RTC (macro, line 326) #define MINIOS_SYS_RTC
    • MINIOS_SYS_FB_INFO (macro, line 327) #define MINIOS_SYS_FB_INFO
    • MINIOS_SYS_PCSPK_VOL (macro, line 328) #define MINIOS_SYS_PCSPK_VOL
    • MINIOS_SYS_SPAWN (macro, line 329) #define MINIOS_SYS_SPAWN
    • MINIOS_SYS_LZ4_COMPRESS (macro, line 330) #define MINIOS_SYS_LZ4_COMPRESS
    • MINIOS_SYS_LZ4_DECOMPRESS (macro, line 335) #define MINIOS_SYS_LZ4_DECOMPRESS
    • MINIOS_SYS_MOUSE (macro, line 336) #define MINIOS_SYS_MOUSE
    • MINIOS_SYS_NK_FRAME (macro, line 337) #define MINIOS_SYS_NK_FRAME
    • MINIOS_SYS_SB16_OPEN (macro, line 338) #define MINIOS_SYS_SB16_OPEN
    • MINIOS_SYS_SB16_SUBMIT (macro, line 339) #define MINIOS_SYS_SB16_SUBMIT
    • MINIOS_SYS_GFX_SET_TITLE (macro, line 340) #define MINIOS_SYS_GFX_SET_TITLE
    • MINIOS_SYS_SB16_PUMP (macro, line 341) #define MINIOS_SYS_SB16_PUMP
    • MINIOS_SYS_SB16_STREAM_OPEN (macro, line 344) #define MINIOS_SYS_SB16_STREAM_OPEN
    • MINIOS_SYS_SB16_STREAM_CLOSE (macro, line 345) #define MINIOS_SYS_SB16_STREAM_CLOSE
    • MINIOS_SYS_SB16_STREAM_SUBMIT (macro, line 346) #define MINIOS_SYS_SB16_STREAM_SUBMIT
    • MINIOS_SYS_SB16_STREAM_VOLUME (macro, line 347) #define MINIOS_SYS_SB16_STREAM_VOLUME
    • MINIOS_SYS_THREAD_SPAWN (macro, line 348) #define MINIOS_SYS_THREAD_SPAWN
    • MINIOS_SYS_FUTEX_WAIT (macro, line 349) #define MINIOS_SYS_FUTEX_WAIT
    • MINIOS_SYS_FUTEX_WAKE (macro, line 350) #define MINIOS_SYS_FUTEX_WAKE
    • MINIOS_SYS_SUBMIT_BATCH (macro, line 351) #define MINIOS_SYS_SUBMIT_BATCH
    • MINIOS_SYS_GETC_RAW (macro, line 352) #define MINIOS_SYS_GETC_RAW
    • MINIOS_SYS_GFX_PRESENT (macro, line 353) #define MINIOS_SYS_GFX_PRESENT
    • MINIOS_SYS_SECCOMP (macro, line 354) #define MINIOS_SYS_SECCOMP
    • MINIOS_SYS_NICE (macro, line 355) #define MINIOS_SYS_NICE
    • MINIOS_SYS_RLIMIT (macro, line 356) #define MINIOS_SYS_RLIMIT
    • MINIOS_SYS_DIR_LIST (macro, line 357) #define MINIOS_SYS_DIR_LIST
    • MINIOS_SYS_GFX_ZOOM (macro, line 358) #define MINIOS_SYS_GFX_ZOOM
    • MINIOS_SYS_WL_ATTACH (macro, line 363) #define MINIOS_SYS_WL_ATTACH
    • MINIOS_SYS_WL_COMMIT (macro, line 364) #define MINIOS_SYS_WL_COMMIT
    • MINIOS_SYS_WL_INPUT (macro, line 365) #define MINIOS_SYS_WL_INPUT
    • MINIOS_SYS_PCM2_OPEN (macro, line 371) #define MINIOS_SYS_PCM2_OPEN
    • MINIOS_SYS_PCM2_WRITE (macro, line 372) #define MINIOS_SYS_PCM2_WRITE
    • MINIOS_SYS_PCM2_CLOSE (macro, line 373) #define MINIOS_SYS_PCM2_CLOSE
    • MINIOS_SYS_CLIP_SET (macro, line 381) #define MINIOS_SYS_CLIP_SET
    • MINIOS_SYS_CLIP_GET (macro, line 382) #define MINIOS_SYS_CLIP_GET
    • MINIOS_SYS_MINFO (macro, line 399) #define MINIOS_SYS_MINFO
    • MINIOS_PCM2_NONBLOCK (macro, line 400) #define MINIOS_PCM2_NONBLOCK
    • MINIOS_PCM2_RATE (macro, line 404) #define MINIOS_PCM2_RATE
    • MINIOS_PCM2_FRAG (macro, line 405) #define MINIOS_PCM2_FRAG
    • MINIOS_SYS_CLONE (macro, line 407) #define MINIOS_SYS_CLONE
    • MINIOS_GFX_BUF_GAME (macro, line 416) #define MINIOS_GFX_BUF_GAME
    • MINIOS_GFX_BUF_NK (macro, line 417) #define MINIOS_GFX_BUF_NK
    • MINIOS_GFX_BUF_NK_RGB (macro, line 418) #define MINIOS_GFX_BUF_NK_RGB
    • MINIOS_SYS_FRAMEBUFFER_COMMIT (macro, line 419) #define MINIOS_SYS_FRAMEBUFFER_COMMIT
    • MINIOS_SYS_WINDOW_PRESENT (macro, line 420) #define MINIOS_SYS_WINDOW_PRESENT
    • MINIOS_SYS_WINDOW_TITLE (macro, line 421) #define MINIOS_SYS_WINDOW_TITLE
    • MINIOS_GFX_ZOOM_NATIVE (macro, line 428) #define MINIOS_GFX_ZOOM_NATIVE
    • MINIOS_GFX_ZOOM_2X (macro, line 429) #define MINIOS_GFX_ZOOM_2X
    • MINIOS_GFX_ZOOM_FULLSCREEN (macro, line 430) #define MINIOS_GFX_ZOOM_FULLSCREEN
    • MINIOS_GFX_ZOOM_WINDOWED (macro, line 431) #define MINIOS_GFX_ZOOM_WINDOWED
    • SYS_TIME_MS (macro, line 434) #define SYS_TIME_MS
    • SYS_PALETTE (macro, line 435) #define SYS_PALETTE
    • SYS_PCSPK_INIT (macro, line 436) #define SYS_PCSPK_INIT
    • SYS_PCSPK_TONE (macro, line 437) #define SYS_PCSPK_TONE
    • SYS_RTC (macro, line 438) #define SYS_RTC
    • SYS_FB_INFO (macro, line 439) #define SYS_FB_INFO
    • SYS_PCSPK_VOL (macro, line 440) #define SYS_PCSPK_VOL
    • SYS_SPAWN (macro, line 441) #define SYS_SPAWN
    • SYS_TIME (macro, line 442) #define SYS_TIME
    • SYS_WRITE (macro, line 443) #define SYS_WRITE
    • MINIOS_EABI_MISMATCH (macro, line 450) #define MINIOS_EABI_MISMATCH
    • MINIOS_NOTE_NAME (macro, line 463) #define MINIOS_NOTE_NAME
    • MINIOS_NOTE_PROCESS (macro, line 464) #define MINIOS_NOTE_PROCESS
    • MINIOS_NOTE_SIGN (macro, line 465) #define MINIOS_NOTE_SIGN
  • Imported by: headers/kernel.h, headers/vga_fb.h, progs/doomedit/doomedit.c, progs/doomgeneric/doomgeneric_minios.c, progs/doomgeneric/i_minios_sound.c, progs/file/file.c, progs/freedomui/freedomui_minios.c, progs/freedomui/platform_minios.c, progs/lisp/lisp.c, progs/lua/minios.c, progs/micropython/variants/minios/minios_module.c, progs/minicraft/minicraft.c, progs/nuklear/node_editor.c, progs/nuklear/nuklear_minios.h, progs/paint/paint.c, progs/piano/piano.c, progs/pokemon/platform_minios.c, progs/quake2generic/q2generic_minios.c, progs/quake2generic/snddma_minios.c, progs/src/audio.c, progs/src/fptest.c, progs/src/freedom_wl.c, progs/src/lxproc.c, progs/src/mthreads.h, progs/src/opl3.c, progs/src/pip.c, progs/src/sbtone.c, progs/src/thdemo.c, progs/wl/wlcomp.c, tests/test_abi.c, tests/test_wl.c, tools/abi_stamp.c

progs/minios_png.h

  • Doc: Docstring: shared ring-3 PNG helpers for MiniOS apps (progs/minios_png.h).
  • Layer: utility
  • Language: h
  • Symbols:
    • mpng_332_idx (function, line 58) static int mpng_332_idx(unsigned r, unsigned g, unsigned b)
    • mpng_nearest (function, line 63) static int mpng_nearest(const unsigned char *pal, long pal_n, unsigned r, ...
    • mpng_center (function, line 84) static int mpng_center(int outer, int inner)
    • mpng_fit_scale (function, line 93) static int mpng_fit_scale(int sw, int sh, int boxw, int boxh)
    • mpng_rgb_to_idx_scaled (function, line 108) static int mpng_rgb_to_idx_scaled(const unsigned char *rgb, int sw, int sh, ...
    • bound (function, line 140) `* its 512 source bound (pinned by the host suite), so icon and policy
  • art never grow through t...`
  • mpng_rgb_to_332_scaled (function, line 172) static int mpng_rgb_to_332_scaled(const unsigned char *rgb, int sw, int sh, ...
  • mpng_blit_idx (function, line 196) static int mpng_blit_idx(unsigned char *fb, int fw, int fh, const unsign...
  • mpng_load_file (function, line 222) static int mpng_load_file(const char *path, unsigned char **out, long *out_n, ...
  • MINIOS_PNG_H (macro, line 22) #define MINIOS_PNG_H
  • MPNG_FILE_MAX (macro, line 28) #define MPNG_FILE_MAX
  • MPNG_MAX_DIM (macro, line 29) #define MPNG_MAX_DIM
  • MPNG_BIG_DIM (macro, line 33) #define MPNG_BIG_DIM
  • MPNG_PAL_N (macro, line 34) #define MPNG_PAL_N
  • MPNG_PAL_BYTES (macro, line 35) #define MPNG_PAL_BYTES
  • MPNG_PATH_MAX (macro, line 36) #define MPNG_PATH_MAX
  • MPNG_RIGHT_PATH (macro, line 37) #define MPNG_RIGHT_PATH
  • MPNG_LEFT_N (macro, line 38) #define MPNG_LEFT_N
  • MPNG_ERR_OK (macro, line 39) #define MPNG_ERR_OK
  • MPNG_ERR_BOUND (macro, line 40) #define MPNG_ERR_BOUND
  • MPNG_ERR_EMPTY (macro, line 41) #define MPNG_ERR_EMPTY
  • Imported by: progs/file/file.c, progs/pokemon/platform_minios.c, tests/test_minios_png.c

progs/nk_palette.h

  • Doc: one shared hybrid palette for every NK-window app.
  • Layer: utility
  • Language: h
  • Symbols:
    • nk_palette_build (function, line 22) static int nk_palette_build(unsigned char *pal, long cap)
    • NK_PALETTE_H (macro, line 12) #define NK_PALETTE_H
    • NK_PAL_BYTES (macro, line 14) #define NK_PAL_BYTES
    • NK_PAL_DESK (macro, line 15) #define NK_PAL_DESK
    • NK_PAL_CUBE (macro, line 16) #define NK_PAL_CUBE
    • NK_PAL_GRAYS (macro, line 17) #define NK_PAL_GRAYS
    • NK_PAL_ACCENTS (macro, line 18) #define NK_PAL_ACCENTS
    • NK_PAL_ERR_OK (macro, line 19) #define NK_PAL_ERR_OK
    • NK_PAL_ERR_BOUND (macro, line 20) #define NK_PAL_ERR_BOUND
  • Imported by: progs/freedomui/freedomui_minios.c, progs/nuklear/nuklear_minios.c, progs/src/freedom_wl.c, progs/wl/wlcomp.c, tests/test_wl.c

Start

Wiki

Agent Docs

Recipes

Clone this wiki locally