Repository navigation
Agent API_p15
Previous: API_p14.md
Depends on: headers/leakcheck.h, kernel/string.c, progs/file/file_assoc.h, progs/minios_abi.h, progs/minios_png.h, progs/nuklear/nuklear_minios.h, progs/nuklear/nuklear_theme.h
-
file_sys_dir_list(function)progs/file/file.c:101static long file_sys_dir_list(const char *path, char *buf, long cap)-- static unsigned char file_icon_mask[FILE_ICON_N][FILE_ICON_MAX * FILE_ICON_MAX]; static struct nk_minios_img... -
file_sys_spawn(function)progs/file/file.c:111static long file_sys_spawn(const char *path, int argc, const char **argv)-- static int file_preview_h; static int file_preview_on; /** Raw DIR_LIST syscall (241): names land NUL-separated in... -
file_ext_of(function)progs/file/file.c:122static void file_ext_of(const char *fname, char *dst, unsigned cap)-- } /** Raw SPAWN syscall (215) preserving this app across the child. static long file_sys_spawn(const char *path, int... -
file_icon_kind(function)progs/file/file.c:146static int file_icon_kind(const char *fname, int isdir)-- Icon kind for an entry: folder for dirs, image for .png, object for .o/.elf/.cvm, files for the text kinds... -
file_icon_sz(function)progs/file/file.c:158static int file_icon_sz(void)-- and for anything else. -
file_icon_decode(function)progs/file/file.c:165static int file_icon_decode(const char *path, unsigned char *px, unsi...-- Decode one RGBA icon into indexed pixels plus an alpha mask, scaled to the live size. -
file_icons_load(function)progs/file/file.c:213static int file_icons_load(void)-- Load the four kind icons; all-or-nothing so the UI never mixes icon * and text rows. -
file_toggle_icons(function)progs/file/file.c:238static int file_toggle_icons(void)-- Flip the icon size and reload the four kind icons. -
file_join(function)progs/file/file.c:245static int file_join(const char *dir, const char *name, char *dst, unsigned cap)-- Flip the icon size and reload the four kind icons. -
file_parent(function)progs/file/file.c:259static void file_parent(char *path)-- static int file_join(const char *dir, const char *name, char *dst, unsigned cap) { unsigned a = 0; unsigned b = 0... -
file_assoc_line(function)progs/file/file.c:269static int file_assoc_line(const char *line, char *ext, char *prog)-- return 0; } /** Parent of an absolute path, root stays root. static void file_parent(char *path) { unsigned n = 0... -
file_assoc_load(function)progs/file/file.c:302static void file_assoc_load(void)-- } if (line[p + k] && line[p + k] != '\n' && line[p + k] != '\r') return -1; while (p > 0 && (prog[p - 1] == ' ' ||... -
file_assoc_lookup(function)progs/file/file.c:318static const char *file_assoc_lookup(const char *ext)-- char line[FILE_LOG_LINE]; char ext[FILE_EXT_MAX + 1]; char prog[FILE_PROG_MAX + 1]; fassoc_clear(&file_assocs); f =... -
file_action_of(function)progs/file/file.c:323static int file_action_of(const char *fname, const char **prog_out)-- if (!f) return; while (fgets(line, sizeof(line), f)) { if (file_assoc_line(line, ext, prog) != 0) continue; if... -
file_refresh(function)progs/file/file.c:336static void file_refresh(void)-- /** Dispatch kind for a file name through the association table. static int file_action_of(const char *fname, const... -
file_preview_load(function)progs/file/file.c:351static int file_preview_load(const char *path)-- long rc = file_sys_dir_list(file_cwd, file_entries, FILE_LIST_CAP); if (rc < 0) { file_entry_count = 0... -
file_preview_blit(function)progs/file/file.c:385static void file_preview_blit(int ox, int oy)-- Blit the preview buffer into the NK back-buffer after rasterize (and its * RGB twin when the kernel maps it). -
file_spawn_visible(function)progs/file/file.c:407static long file_spawn_visible(const char *tool, int argc, const char **argv, ...-- int dx = ox + x; int dy = oy + y; unsigned char r, g, b; volatile uint8_t *d; if (dx < 0 || dx >= NK_W || dy < 0 ||... -
file_open_text(function)progs/file/file.c:430static void file_open_text(const char *path)-- printf("file: %s exit code: %ld\n", label, rc); fflush(stdout); nk_sys_vga_mode(1); nk_build_palette(pal768)... -
file_run_shell(function)progs/file/file.c:441static void file_run_shell(const char *path)-- } /** Open a text file in vedit, preserving this browser. static void file_open_text(const char *path) { const char... -
file_activate(function)progs/file/file.c:480static void file_activate(const char *dir, const char *name)-- if (strcmp(ext, "cvm") == 0) { args[0] = path; args[1] = 0; snprintf(label, sizeof(label), "run %s", path)... -
file_ui_build(function)progs/file/file.c:511static void file_ui_build(struct nk_context *ctx)-- snprintf(file_preview_path, sizeof(file_preview_path), "%s", path); snprintf(file_status, sizeof(file_status)... -
file_selftest(function)progs/file/file.c:613static int file_selftest(void)-- Headless selftest for BDD: assoc vectors plus a live listing. -
file_gui_run(function)progs/file/file.c:779static void file_gui_run(void) -
main(function)progs/file/file.c:838int main(int argc, char **argv)
Depends on: kernel/string.c
Imported by: progs/file/file.c, tests/test_file_assoc.c, tests/test_leakcheck.c
-
fassoc_ext_ok(function)progs/file/file_assoc.h:59static int fassoc_ext_ok(const char *ext)-- /** Docstring: one validated association entry, ext without dot. struct fassoc_entry { char ext[FASSOC_EXT_MAX + 1]... -
fassoc_prog_ok(function)progs/file/file_assoc.h:73static int fassoc_prog_ok(const char *prog)-- static int fassoc_ext_ok(const char *ext) { size_t n = 0; size_t k = 0; if (ext == NULL) return 0; while (ext[n] !=... -
fassoc_clear(function)progs/file/file_assoc.h:89static void fassoc_clear(struct fassoc_table *t)-- size_t k = 0; if (prog == NULL) return 0; while (prog[n] != 0) n++; if (n == 0 || n > (size_t)FASSOC_PROG_MAX)... -
fassoc_free(function)progs/file/file_assoc.h:95static void fassoc_free(struct fassoc_table *t)-- if (prog[0] != '/') return 0; for (k = 0; k < n; k++) { if (prog[k] == '|') return 0; } return 1; } /** Docstring... -
fassoc_reserve(function)progs/file/file_assoc.h:104static int fassoc_reserve(struct fassoc_table *t, size_t want)-- if (t == NULL) return; t->cnt = 0; } /** Docstring: release backing store and reset to zero init state. static void... -
fassoc_push(function)progs/file/file_assoc.h:125static int fassoc_push(struct fassoc_table *t, const char *ext, const char *prog)-- while (ncap < want) { size_t nxt = ncap * (size_t)FASSOC_GROW_NUM / (size_t)FASSOC_GROW_DEN + 1; if (nxt <= ncap)... -
fassoc_lookup(function)progs/file/file_assoc.h:140static const char *fassoc_lookup(const struct fassoc_table *t, const char *ext)-- if (t == NULL) return -1; if (!fassoc_ext_ok(ext)) return -1; if (!fassoc_prog_ok(prog)) return -1; if (t->cnt >=... -
fassoc_count(function)progs/file/file_assoc.h:150static size_t fassoc_count(const struct fassoc_table *t)-- return 0; } /** Docstring: program for ext in file order, empty string when unmapped. static const char...
Depends on: kernel/string.c, progs/minios_abi.h, progs/nk_palette.h
Imported by: tests/test_freedomui.c
-
net_dns_resolve(function)progs/freedomui/freedomui_minios.c:44int net_dns_resolve(const char *host); -
tls_handshake(function)progs/freedomui/freedomui_minios.c:45int tls_handshake(int fd, char *host); -
tls_send(function)progs/freedomui/freedomui_minios.c:46int tls_send(int fd, char *buf, int len); -
tls_recv(function)progs/freedomui/freedomui_minios.c:47int tls_recv(int fd, char *buf, int len); -
tls_close(function)progs/freedomui/freedomui_minios.c:48void tls_close(int fd); -
freedomui_default(function)progs/freedomui/freedomui_minios.c:97static FreedomUiConfig freedomui_default(void)-- long path_max; long url_max; long hops_max; long font_w; long font_h; long port_http; long port_https; long ink_bg... -
freedomui_build_palette(function)progs/freedomui/freedomui_minios.c:130static long freedomui_build_palette(unsigned char *pal, long cap)-- Shared hybrid palette, one table for every NK-window app (progs/nk_palette.h); this wrapper keeps the historic name... -
freedomui_engine_text(function)progs/freedomui/freedomui_minios.c:145static long freedomui_engine_text(char *body, long n, char **title, char **text)-- Parse a fetched body through the real engine into owned title and text. -
freedomui_sys_present(function)progs/freedomui/freedomui_minios.c:193static long freedomui_sys_present(long buf, long origin)-- static char f_path[FUI_PATH_MAX]; static char f_loc[FUI_URL_MAX]; static char f_hdr[FUI_HDR_MAX]; static char... -
freedomui_sys_title(function)progs/freedomui/freedomui_minios.c:200static long freedomui_sys_title(char *t)-- static long f_nbytes; static long f_secure; static long f_port; static long f_status; static long f_truncated; /**... -
freedomui_sys_palette(function)progs/freedomui/freedomui_minios.c:207static long freedomui_sys_palette(unsigned char *pal)-- static long freedomui_sys_present(long buf, long origin) { long ret; asm volatile("syscall" : "=a"(ret)... -
freedomui_sys_mouse(function)progs/freedomui/freedomui_minios.c:214static long freedomui_sys_mouse(long *m)-- static long freedomui_sys_title(char *t) { long ret; asm volatile("syscall" : "=a"(ret)... -
freedomui_sys_kbd(function)progs/freedomui/freedomui_minios.c:221static long freedomui_sys_kbd(void)-- static long freedomui_sys_palette(unsigned char *pal) { long ret; asm volatile("syscall" : "=a"(ret)... -
freedomui_sys_vga_mode(function)progs/freedomui/freedomui_minios.c:228static long freedomui_sys_vga_mode(long on)-- static long freedomui_sys_mouse(long *m) { long ret; asm volatile("syscall" : "=a"(ret) : "a"(MINIOS_SYS_MOUSE)... -
freedomui_sys_kbd_raw(function)progs/freedomui/freedomui_minios.c:235static long freedomui_sys_kbd_raw(long on)-- static long freedomui_sys_kbd(void) { long ret; asm volatile("syscall" : "=a"(ret) : "a"(MINIOS_SYS_KBD), "D"(0)... -
freedomui_sys_yield(function)progs/freedomui/freedomui_minios.c:242static long freedomui_sys_yield(void)-- static long freedomui_sys_vga_mode(long on) { long ret; asm volatile("syscall" : "=a"(ret)... -
fui_append(function)progs/freedomui/freedomui_minios.c:249static long fui_append(char *dst, long pos, char *src, long cap)-- static long freedomui_sys_kbd_raw(long on) { long ret; asm volatile("syscall" : "=a"(ret)... -
fui_strlen(function)progs/freedomui/freedomui_minios.c:267static long fui_strlen(char *s, long cap)-- } i = 0L; while (src[i] != 0) { if (pos + i + 1L >= cap) { return -1L; } dst[pos + i] = src[i]; i++; } dst[pos + i]... -
fui_split_url(function)progs/freedomui/freedomui_minios.c:283static long fui_split_url(FreedomUiConfig *c, char *url, char *host, char *path, long *port, long...-- if (!s || cap <= 0L) { return -1L; } i = 0L; while (i < cap && s[i] != 0) { i++; } if (i >= cap) { return -1L; }... -
fui_parse_headers(function)progs/freedomui/freedomui_minios.c:352static long fui_parse_headers(FreedomUiConfig *c, char *hdr, long *status, long *clen, long *hasc...-- return 0L; } path[k] = p[hl + k]; k++; } path[k] = 0; } else { path[0] = '/'; path[1] = 0; } return 1L; } /** Parse... -
fui_fetch_raw(function)progs/freedomui/freedomui_minios.c:470static long fui_fetch_raw(FreedomUiConfig *c, char *host, char *path, long port, long secure)-- } k++; } } } line++; while (hdr[i] == '\r' || hdr[i] == '\n') { i++; } } return 0L; } /** Fetch one response body... -
fui_render(function)progs/freedomui/freedomui_minios.c:698static long fui_render(FreedomUiConfig *c, size_t off)-- if (got < c->body_cap) { f_body[got] = (char)ch; got++; } else { f_truncated = 1L; } } } } tls_close((int)fd)... -
fui_browse(function)progs/freedomui/freedomui_minios.c:817static long fui_browse(FreedomUiConfig *c)-- long ink; if (bits & (0x80 >> px)) { ink = c->bar_fg; } else { ink = c->bar_bg; } fb[((size_t)c->text_rows *... -
freedomui_selftest(function)progs/freedomui/freedomui_minios.c:896static long freedomui_selftest(void)-- } off = ui_clamp_scroll((size_t)want, f_lay.count, (size_t)c->text_rows); changed = 1L; } if (changed) { if... -
freedomui_host_probe(function)progs/freedomui/freedomui_minios.c:984static long freedomui_host_probe(FreedomUiConfig *c)-- return 1L; } if (freedomui_sys_kbd() > 0x7FFFFFFFL) { printf("freedomui: kbd out of range\n"); return 1L; }... -
freedomui_host_entry(function)progs/freedomui/freedomui_minios.c:1067int freedomui_host_entry(FreedomUiConfig *c)-- if (title) { hp_free(title); } return -1L; } ui_layout_free(&lay); hp_free(text); if (title) { hp_free(title); }... -
main(function)progs/freedomui/freedomui_minios.c:1072int main(int argc, char **argv)-- ui_layout_free(&lay); hp_free(text); if (title) { hp_free(title); } return 0L; } /** Host harness entry for pure...
Depends on: kernel/string.c
-
write_all(function)progs/freedomui/media_unavailable.c:20static void write_all(int fd, const void *buf, size_t len)-- closed: no decoder process is ever started, and a direct --media-decoder invocation answers with one MD_ERROR and... -
media_decoder_run(function)progs/freedomui/media_unavailable.c:41void media_decoder_run(int out_fd, int cmd_fd)-- Refuses to start a decoder: the caller reports the failure and stays * responsive (browser_ui video_play already...
Depends on: kernel/string.c, progs/freedomui/ps2_keymap.h, progs/minios_abi.h
-
sys_fb_info_rgb(function)progs/freedomui/platform_minios.c:79static long sys_fb_info_rgb(int *rgb) -
now_ms(function)progs/freedomui/platform_minios.c:90static long now_ms(void) -
set_title(function)progs/freedomui/platform_minios.c:94static void set_title(const char *title) -
pf_display_open(function)progs/freedomui/platform_minios.c:108pf_status pf_display_open(pf_display **out) -
pf_display_close(function)progs/freedomui/platform_minios.c:124void pf_display_close(pf_display *d) -
pf_display_flush(function)progs/freedomui/platform_minios.c:133void pf_display_flush(pf_display *d) -
pf_display_set_cursor(function)progs/freedomui/platform_minios.c:137void pf_display_set_cursor(pf_display *d, pf_cursor c) -
deliver_pending(function)progs/freedomui/platform_minios.c:144static int deliver_pending(pf_display *d) -
key_event(function)progs/freedomui/platform_minios.c:154static void key_event(pf_display *d, const ps2_key *k, int kind) -
pump_keyboard(function)progs/freedomui/platform_minios.c:181static int pump_keyboard(pf_display *d) -
pump_mouse(function)progs/freedomui/platform_minios.c:195static int pump_mouse(pf_display *d) -
pf_display_wait(function)progs/freedomui/platform_minios.c:238int pf_display_wait(pf_display *d, struct pollfd *extra, int n, int timeout_ms) -
pf_clipboard_available(function)progs/freedomui/platform_minios.c:263int pf_clipboard_available(const pf_display *d) -
pf_clipboard_set_text(function)progs/freedomui/platform_minios.c:267pf_status pf_clipboard_set_text(pf_display *d, const char *text) -
pf_clipboard_get_text(function)progs/freedomui/platform_minios.c:274pf_status pf_clipboard_get_text(pf_display *d, char **out, size_t *out_len) -
pf_window_open(function)progs/freedomui/platform_minios.c:290pf_status pf_window_open(pf_display *d, const pf_window_opts *o, const p... -
pf_window_close(function)progs/freedomui/platform_minios.c:312void pf_window_close(pf_window *w) -
pf_window_surface(function)progs/freedomui/platform_minios.c:329cairo_surface_t *pf_window_surface(pf_window *w, int width, int height) -
pf_window_present(function)progs/freedomui/platform_minios.c:344void pf_window_present(pf_window *w) -
pf_window_set_title(function)progs/freedomui/platform_minios.c:378void pf_window_set_title(pf_window *w, const char *title) -
set_zoom_state(function)progs/freedomui/platform_minios.c:384static void set_zoom_state(pf_window *w, unsigned bit, int on) -
pf_window_set_maximized(function)progs/freedomui/platform_minios.c:393void pf_window_set_maximized(pf_window *w, int on) -
pf_window_set_fullscreen(function)progs/freedomui/platform_minios.c:397void pf_window_set_fullscreen(pf_window *w, int on) -
pf_window_minimize(function)progs/freedomui/platform_minios.c:401void pf_window_minimize(pf_window *w) -
pf_window_begin_move(function)progs/freedomui/platform_minios.c:405void pf_window_begin_move(pf_window *w) -
pf_window_begin_resize(function)progs/freedomui/platform_minios.c:409void pf_window_begin_resize(pf_window *w, pf_edge edge)
Depends on: kernel/string.c, progs/freedomui/ps2_keymap.h
-
ps2_init(function)progs/freedomui/ps2_keymap.c:144void ps2_init(ps2_state *s) -
held_mods(function)progs/freedomui/ps2_keymap.c:150static unsigned held_mods(const ps2_state *s) -
set_text(function)progs/freedomui/ps2_keymap.c:158static void set_text(ps2_key *k, char c) -
is_letter(function)progs/freedomui/ps2_keymap.c:164static int is_letter(char c) -
modifier_key(function)progs/freedomui/ps2_keymap.c:169static uint32_t modifier_key(ps2_state *s, unsigned code, int extended, int make)-- return m; } static void set_text(ps2_key *k, char c) { k->text[0] = c; k->text[1] = '\0'; k->text_len = 1; } static... -
extended_key(function)progs/freedomui/ps2_keymap.c:195static uint32_t extended_key(unsigned code, ps2_key *k)-- if (make) s->caps_lock = !s->caps_lock; return KE_KEY_Caps_Lock; } else if (!extended && code == SC_NUMLOCK) { if... -
plain_key(function)progs/freedomui/ps2_keymap.c:218static uint32_t plain_key(const ps2_state *s, unsigned code, ps2_key *k)-- case SC_E0_RIGHT: return KE_KEY_Right; case SC_E0_END: return KE_KEY_End; case SC_E0_DOWN: return KE_KEY_Down... -
ps2_feed(function)progs/freedomui/ps2_keymap.c:253int ps2_feed(ps2_state *s, uint8_t byte, ps2_key *out)
Imported by: progs/freedomui/platform_minios.c, progs/freedomui/ps2_keymap.c, tests/test_ps2_keymap.c
-
ps2_init(function)progs/freedomui/ps2_keymap.h:47void ps2_init(ps2_state *s);-- int extended; /* an E0 prefix is pending int skip; /* bytes of an E1 sequence still to swallow }... -
arguments(function)progs/freedomui/ps2_keymap.h:51* arguments (out is then left untouched). */ int ps2_feed(ps2_state *s, uint8_t byte, ps2_key *out);
Depends on: kernel/string.c, progs/minios_abi.h
-
numbers(function)progs/lisp/lisp.c:9* * Language surface: numbers (int64), strings, symbols, cons cells, closures * with lexical scope, and the special... -
lisp_version(function)progs/lisp/lisp.c:62static const char *lisp_version(void)-- Version string printed by --version and the REPL banner. -
msys(function)progs/lisp/lisp.c:205static long msys(long n, long a1, long a2, long a3)-- Raw 3-argument syscall through the x86-64 Linux ABI. -
msys5(function)progs/lisp/lisp.c:218static long msys5(long n, long a1, long a2, long a3, long a4, long a5)-- Raw 5-argument syscall for SYS_SPAWN with path, redirect, argc, argv. -
fatal(function)progs/lisp/lisp.c:233static void fatal(Runtime *rt, const char *message)-- Report a fatal internal failure and terminate the process. -
xalloc(function)progs/lisp/lisp.c:242static void *xalloc(Runtime *rt, size_t size)-- Allocate zeroed tracked memory that frees with the runtime. -
xstrdup(function)progs/lisp/lisp.c:266static char *xstrdup(Runtime *rt, const char *source)-- Duplicate a string into tracked memory. -
make_node(function)progs/lisp/lisp.c:284static Node *make_node(Runtime *rt, NodeType type)-- Allocate a node of the given type in tracked memory. -
make_error(function)progs/lisp/lisp.c:293static Node *make_error(Runtime *rt, const char *message)-- Build an error value carrying a diagnostic message. -
make_num(function)progs/lisp/lisp.c:302static Node *make_num(Runtime *rt, int64_t value)-- Build a numeric value node. -
make_str(function)progs/lisp/lisp.c:311static Node *make_str(Runtime *rt, const char *value)-- Build a string value node from a NUL-terminated source. -
make_sym(function)progs/lisp/lisp.c:320static Node *make_sym(Runtime *rt, const char *value)-- Build a symbol value node from a NUL-terminated name. -
make_prim(function)progs/lisp/lisp.c:329static Node *make_prim(Runtime *rt, PrimFn function)-- Build a primitive function value node. -
cons(function)progs/lisp/lisp.c:338static Node *cons(Runtime *rt, Node *car, Node *cdr)-- Build a cons cell from two values. -
is_nil(function)progs/lisp/lisp.c:348static bool is_nil(Runtime *rt, const Node *node)-- Test whether a node is the empty list in any of its spellings. -
make_file(function)progs/lisp/lisp.c:355static Node *make_file(Runtime *rt, FILE *handle)-- Register an open FILE handle and wrap it in a file value node. -
cleanup(function)progs/lisp/lisp.c:377static void cleanup(Runtime *rt)-- Close every tracked file and release every tracked allocation. -
runtime_init(function)progs/lisp/lisp.c:399static void runtime_init(Runtime *rt)-- Initialize a runtime with streams, constants and empty tables. -
env_new(function)progs/lisp/lisp.c:411static Env *env_new(Runtime *rt, Env *parent)-- Allocate a new environment frame with an optional parent. -
env_bind(function)progs/lisp/lisp.c:421static void env_bind(Runtime *rt, Env *env, Node *symbol, Node *value)-- Bind a symbol to a value in the innermost frame. -
env_set(function)progs/lisp/lisp.c:432static bool env_set(Env *env, Node *symbol, Node *value)-- Update the nearest visible binding of a symbol. -
env_lookup(function)progs/lisp/lisp.c:454static Node *env_lookup(Env *env, Node *symbol)-- Resolve the nearest visible binding of a symbol. -
reader_peek(function)progs/lisp/lisp.c:475static char reader_peek(const Reader *reader)-- Peek at the current reader character without consuming it. -
reader_next(function)progs/lisp/lisp.c:482static char reader_next(Reader *reader)-- Consume one reader character and track line and column. -
reader_at_end(function)progs/lisp/lisp.c:500static bool reader_at_end(const Reader *reader)-- Test whether the reader reached the end of its buffer. -
skip_space_and_comments(function)progs/lisp/lisp.c:507static void skip_space_and_comments(Reader *reader)-- Skip whitespace and line comments starting with a semicolon. -
sb_init(function)progs/lisp/lisp.c:523static void sb_init(StringBuilder *builder)-- Initialize a string builder with a bounded initial capacity. -
sb_push(function)progs/lisp/lisp.c:536static void sb_push(StringBuilder *builder, char value)-- Append one byte to a string builder with overflow-checked growth. -
parse_ok(function)progs/lisp/lisp.c:562static ParseResult parse_ok(Node *value)-- Build a successful parse result. -
parse_eof(function)progs/lisp/lisp.c:573static ParseResult parse_eof(void)-- Build an end-of-input parse result. -
parse_error(function)progs/lisp/lisp.c:584static ParseResult parse_error(const char *message)-- Build a parse error result with a bounded message. -
read_list(function)progs/lisp/lisp.c:596static ParseResult read_list(Runtime *rt, Reader *reader)-- Read a parenthesized list terminated by a closing paren. -
read_string(function)progs/lisp/lisp.c:626static ParseResult read_string(Runtime *rt, Reader *reader)-- Read a double-quoted string with backslash escapes. -
token_delimiter(function)progs/lisp/lisp.c:677static bool token_delimiter(char c)-- Test whether a character terminates an atom token. -
read_atom(function)progs/lisp/lisp.c:685static ParseResult read_atom(Runtime *rt, Reader *reader)-- Read a number, nil, t or symbol token. -
read_expr(function)progs/lisp/lisp.c:721static ParseResult read_expr(Runtime *rt, Reader *reader)-- Read one expression, skipping whitespace and comments first. -
list_count(function)progs/lisp/lisp.c:750static size_t list_count(Runtime *rt, Node *list, bool *proper)-- Count proper list elements and report whether the spine is proper. -
has_arity(function)progs/lisp/lisp.c:767static bool has_arity(Runtime *rt, Node *args, size_t expected)-- Test whether an argument list has exactly the expected length. -
arg_at(function)progs/lisp/lisp.c:775static Node *arg_at(Runtime *rt, Node *args, size_t index)-- Fetch the positional argument at an index or NULL when absent. -
arg_matches(function)progs/lisp/lisp.c:815static bool arg_matches(const Node *value, ArgKind kind)-- Test whether an already-fetched argument matches one ArgKind. -
check_args(function)progs/lisp/lisp.c:841static bool check_args(Runtime *rt, Node *args, const ArgKind *kinds, size_t n, Node **out)-- Validate that args is a proper list of exactly n elements whose types match kinds[0..n), writing each fetched... -
arity0(function)progs/lisp/lisp.c:861static bool arity0(Runtime *rt, Node *args)-- Validate that args is the empty argument list. -
prim_add(function)progs/lisp/lisp.c:869static Node *prim_add(Runtime *rt, Node *args)-- Add two numbers with overflow reported as an error value. -
prim_sub(function)progs/lisp/lisp.c:885static Node *prim_sub(Runtime *rt, Node *args)-- Subtract two numbers with overflow reported as an error value. -
prim_mul(function)progs/lisp/lisp.c:901static Node *prim_mul(Runtime *rt, Node *args)-- Multiply two numbers with overflow reported as an error value. -
prim_div(function)progs/lisp/lisp.c:917static Node *prim_div(Runtime *rt, Node *args)-- Divide two numbers with zero and overflow reported as errors. -
prim_eq(function)progs/lisp/lisp.c:939static Node *prim_eq(Runtime *rt, Node *args)-- Compare two numbers for equality. -
prim_lt(function)progs/lisp/lisp.c:951static Node *prim_lt(Runtime *rt, Node *args)-- Compare two numbers with less-than. -
prim_car(function)progs/lisp/lisp.c:963static Node *prim_car(Runtime *rt, Node *args)-- Return the first element of a cons cell or nil. -
prim_cdr(function)progs/lisp/lisp.c:975static Node *prim_cdr(Runtime *rt, Node *args)-- Return the rest of a cons cell or nil. -
prim_cons(function)progs/lisp/lisp.c:987static Node *prim_cons(Runtime *rt, Node *args)-- Build a cons cell from two values. -
prim_string_concat(function)progs/lisp/lisp.c:999static Node *prim_string_concat(Runtime *rt, Node *args)-- Concatenate two strings with an overflow-checked allocation. -
prim_string_eq(function)progs/lisp/lisp.c:1026static Node *prim_string_eq(Runtime *rt, Node *args)-- Compare two strings for equality. -
prim_string_length(function)progs/lisp/lisp.c:1038static Node *prim_string_length(Runtime *rt, Node *args)-- Return the byte length of a string. -
prim_string_at(function)progs/lisp/lisp.c:1050static Node *prim_string_at(Runtime *rt, Node *args)-- Return the one-character string at a byte index or nil when out of range. -
prim_char_code(function)progs/lisp/lisp.c:1072static Node *prim_char_code(Runtime *rt, Node *args)-- Convert between a one-character string and its byte value. -
prim_print(function)progs/lisp/lisp.c:1094static Node *prim_print(Runtime *rt, Node *args)-- Print a value without a trailing newline. -
prim_println(function)progs/lisp/lisp.c:1108static Node *prim_println(Runtime *rt, Node *args)-- Print a value with a trailing newline. -
file_mode_allowed(function)progs/lisp/lisp.c:1123static bool file_mode_allowed(const char *mode)-- Test whether a file mode string belongs to the safe whitelist. -
prim_read_char(function)progs/lisp/lisp.c:1183static Node *prim_read_char(Runtime *rt, Node *args)-- Read one byte from a file or nil at end of file. -
prim_write(function)progs/lisp/lisp.c:1200static Node *prim_write(Runtime *rt, Node *args)-- Write a string or byte value to an open file. -
prim_close_file(function)progs/lisp/lisp.c:1224static Node *prim_close_file(Runtime *rt, Node *args)-- Close an open file and release its runtime slot. -
prim_null_p(function)progs/lisp/lisp.c:1249static Node *prim_null_p(Runtime *rt, Node *args)-- Test whether a value is nil. -
prim_number_p(function)progs/lisp/lisp.c:1261static Node *prim_number_p(Runtime *rt, Node *args)-- Test whether a value is a number. -
prim_string_p(function)progs/lisp/lisp.c:1273static Node *prim_string_p(Runtime *rt, Node *args)-- Test whether a value is a string. -
prim_error_message(function)progs/lisp/lisp.c:1285static Node *prim_error_message(Runtime *rt, Node *args)-- Return the message of an error value or nil for other values. -
arity(function)progs/lisp/lisp.c:1300* * Variable arity (0 or 1); -
prim_exit(function)progs/lisp/lisp.c:1303static Node *prim_exit(Runtime *rt, Node *args)-- Terminate the process with a numeric exit status. -
prim_time_ms(function)progs/lisp/lisp.c:1330static Node *prim_time_ms(Runtime *rt, Node *args)-- Return milliseconds since boot through the kernel time service. -
prim_rtc(function)progs/lisp/lisp.c:1340static Node *prim_rtc(Runtime *rt, Node *args)-- Return the clock time as a three-element list or nil when unavailable. -
prim_fb_info(function)progs/lisp/lisp.c:1357static Node *prim_fb_info(Runtime *rt, Node *args)-- Return framebuffer width, height and pitch or nil when unavailable. -
prim_vol(function)progs/lisp/lisp.c:1377static Node *prim_vol(Runtime *rt, Node *args)-- Read or set the speaker volume, clamped to the valid range. -
prim_pal(function)progs/lisp/lisp.c:1405static Node *prim_pal(Runtime *rt, Node *args)-- Load a 768-byte VGA palette from a string value. -
prim_pcspeaker(function)progs/lisp/lisp.c:1421static Node *prim_pcspeaker(Runtime *rt, Node *args)-- Play a speaker tone for a bounded millisecond duration. -
prim_minios_run(function)progs/lisp/lisp.c:1465static Node *prim_minios_run(Runtime *rt, Node *args)-- Run a program through SYS_SPAWN and return its exit code. -
eval_list(function)progs/lisp/lisp.c:1527static Node *eval_list(Runtime *rt, Node *list, Env *env)-- Evaluate every element of a list into a fresh proper list. -
eval_sequence(function)progs/lisp/lisp.c:1551static Node *eval_sequence(Runtime *rt, Node *body, Env *env)-- Evaluate a body sequence and return the last value. -
valid_params(function)progs/lisp/lisp.c:1569static bool valid_params(Runtime *rt, Node *params)-- Test whether a parameter list holds only symbols. -
eval(function)progs/lisp/lisp.c:1583static Node *eval(Runtime *rt, Node *expression, Env *env)-- Evaluate an expression with tail-call reuse and a bounded depth. -
print_escaped_string(function)progs/lisp/lisp.c:1846static void print_escaped_string(FILE *out, const char *value)-- Write a string with escape sequences for readable output. -
print_node(function)progs/lisp/lisp.c:1877static void print_node(Runtime *rt, Node *node, bool readable)-- Print a value in readable or display form with a bounded depth. -
bind_primitive(function)progs/lisp/lisp.c:1948static void bind_primitive(Runtime *rt, Env *env, const char *name, PrimFn function)-- Register one named primitive in an environment frame. -
init_env(function)progs/lisp/lisp.c:2004static Env *init_env(Runtime *rt)-- Build the global environment with arithmetic, strings, files and MiniOS. -
bind_argv(function)progs/lisp/lisp.c:2017static void bind_argv(Runtime *rt, Env *env, int argc, char **argv, int first)-- Expose the script argument vector as a proper list of strings. -
read_all_file(function)progs/lisp/lisp.c:2029static char *read_all_file(const char *filename, size_t max_bytes)-- Read a whole file into memory with a hard size cap. -
process_source(function)progs/lisp/lisp.c:2087static int process_source(Runtime *rt, const char *source, const char *source_name, bool echo)-- Evaluate every form in a source buffer and report the first failure. -
process_inline(function)progs/lisp/lisp.c:2129static int process_inline(Runtime *rt, const char *code)-- Evaluate one inline expression from the -e flag. -
print_usage(function)progs/lisp/lisp.c:2136static void print_usage(Runtime *rt)-- Print usage for the command line interface. -
repl(function)progs/lisp/lisp.c:2143static int repl(Runtime *rt)-- Run the interactive read-eval loop on the runtime input stream. -
main(function)progs/lisp/lisp.c:2190int main(int argc, char **argv)-- Entry point with -e, script and REPL modes plus bounded arguments.
-
main(function)progs/lisp/tin.c:1int main()
Depends on: kernel/string.c
-
module(function)progs/lua/lua_main.c:5* C module (minios.c) can be registered globally before any script runs: *minios.run(...),minios.time_ms()... -
luaL_require_global(function)progs/lua/lua_main.c:22static void luaL_require_global(lua_State *L, const char *name, l... -
set_arg_table(function)progs/lua/lua_main.c:28static void set_arg_table(lua_State *L, int argc, char **argv, int first) -
docode(function)progs/lua/lua_main.c:41static int docode(lua_State *L, const char *code) -
dofile(function)progs/lua/lua_main.c:51static int dofile(lua_State *L, const char *name) -
repl(function)progs/lua/lua_main.c:61static int repl(lua_State *L) -
main(function)progs/lua/lua_main.c:105int main(int argc, char **argv)
Depends on: progs/minios_abi.h
Imported by: progs/micropython/variants/minios/lib/hello.py, progs/src/shell.py, progs/src/test.py
-
msys5(function)progs/lua/minios.c:37static long msys5(long n, long a1, long a2, long a3, long a4, long a5)-- /* ── raw syscall helpers (x86-64 Linux ABI) ─────────────────────────── static long msys(long n, long a1, long a2... -
minios_time_ms(function)progs/lua/minios.c:62static int minios_time_ms(lua_State *L)-- } /* ── MiniOS syscall numbers (canonical table from minios_abi.h) ─────── #include "minios_abi.h" #define... -
minios_rtc(function)progs/lua/minios.c:68static int minios_rtc(lua_State *L)-- #define SYS_PCSPK_INIT MINIOS_SYS_PCSPK_INIT #define SYS_PCSPK_TONE MINIOS_SYS_PCSPK_TONE #define SYS_RTC... -
minios_fb_info(function)progs/lua/minios.c:82static int minios_fb_info(lua_State *L)-- static int minios_rtc(lua_State *L) { int h, m, s; if (msys(SYS_RTC, (long)&h, (long)&m, (long)&s) < 0) {... -
minios_vol(function)progs/lua/minios.c:96static int minios_vol(lua_State *L)-- static int minios_fb_info(lua_State *L) { int w, h, p; if (msys(SYS_FB_INFO, (long)&w, (long)&h, (long)&p) < 0) {... -
minios_pal(function)progs/lua/minios.c:109static int minios_pal(lua_State *L)-- /* ── minios.vol([v]) -> current volume ─────────────────────────────── static int minios_vol(lua_State *L) { if... -
minios_pcspeaker(function)progs/lua/minios.c:119static int minios_pcspeaker(lua_State *L)-- return 1; } /* ── minios.pal(buf) -- load a 768-byte VGA DAC palette ────────────── static int minios_pal(lua_State... -
minios_run(function)progs/lua/minios.c:136static int minios_run(lua_State *L)-- ── minios.run(path[, args][, redirect]) -> exit code ─────────────── Runs a program through SYS_SPAWN (215)... -
luaopen_minios(function)progs/lua/minios.c:192int luaopen_minios(lua_State *L)
Depends on: progs/minios_abi.h
-
msys5(function)progs/micropython/variants/minios/minios_module.c:26static long msys5(long n, long a1, long a2, long a3, long a4, long a5)-- /* ── raw syscall helper (x86-64 Linux ABI) ─────────────────────────── static long msys(long n, long a1, long a2... -
minios_time_ms(function)progs/micropython/variants/minios/minios_module.c:52static mp_obj_t minios_time_ms(void) -
MP_DEFINE_CONST_FUN_OBJ_0(function)progs/micropython/variants/minios/minios_module.c:55static MP_DEFINE_CONST_FUN_OBJ_0(minios_time_ms_obj, minios_time_ms); -
minios_rtc(function)progs/micropython/variants/minios/minios_module.c:59static mp_obj_t minios_rtc(void) -
minios_fb_info(function)progs/micropython/variants/minios/minios_module.c:76static mp_obj_t minios_fb_info(void) -
MP_DEFINE_CONST_FUN_OBJ_VAR(function)progs/micropython/variants/minios/minios_module.c:107static MP_DEFINE_CONST_FUN_OBJ_VAR(minios_vol_obj, 0, minios_vol); -
minios_pal(function)progs/micropython/variants/minios/minios_module.c:111static mp_obj_t minios_pal(mp_obj_t buf_in) -
MP_DEFINE_CONST_FUN_OBJ_1(function)progs/micropython/variants/minios/minios_module.c:123static MP_DEFINE_CONST_FUN_OBJ_1(minios_pal_obj, minios_pal); -
minios_pcspeaker(function)progs/micropython/variants/minios/minios_module.c:127static mp_obj_t minios_pcspeaker(mp_obj_t freq_in, mp_obj_t ms_in) -
MP_DEFINE_CONST_FUN_OBJ_2(function)progs/micropython/variants/minios/minios_module.c:140static MP_DEFINE_CONST_FUN_OBJ_2(minios_pcspeaker_obj, minios_pcspeaker); -
minios_run(function)progs/micropython/variants/minios/minios_module.c:149static mp_obj_t minios_run(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) -
MP_DEFINE_CONST_FUN_OBJ_KW(function)progs/micropython/variants/minios/minios_module.c:193static MP_DEFINE_CONST_FUN_OBJ_KW(minios_run_obj, 1, minios_run); -
MP_DEFINE_CONST_DICT(function)progs/micropython/variants/minios/minios_module.c:207static MP_DEFINE_CONST_DICT(minios_module_globals, minios_module_globals_table);
Depends on: kernel/string.c, progs/minios_abi.h
-
best_tool_for(function)progs/minicraft/minicraft.c:231static int best_tool_for(unsigned char b) -
break_time_ms(function)progs/minicraft/minicraft.c:250static long break_time_ms(unsigned char b, int tool) -
break_beep_for(function)progs/minicraft/minicraft.c:275static long break_beep_for(unsigned char b) -
mc_toggle_zoom(function)progs/minicraft/minicraft.c:316static void mc_toggle_zoom(void) -
save_world(function)progs/minicraft/minicraft.c:330static int save_world(void); -
s_time_ms(function)progs/minicraft/minicraft.c:337static long s_time_ms(void) -
s_kbd(function)progs/minicraft/minicraft.c:342static long s_kbd(void) -
s_kbd_raw(function)progs/minicraft/minicraft.c:347static long s_kbd_raw(long on) -
s_getc_raw(function)progs/minicraft/minicraft.c:359static long s_getc_raw(void)-- Serial fallback for menus: SYS_KBD in raw mode carries PS/2 only, so a serial console can never drive a scancode... -
ser_get(function)progs/minicraft/minicraft.c:373static long ser_get(void) -
ser_unget(function)progs/minicraft/minicraft.c:386static void ser_unget(unsigned char b) -
menu_ser_key(function)progs/minicraft/minicraft.c:391static long menu_ser_key(long b) -
kbd_drain(function)progs/minicraft/minicraft.c:428static void kbd_drain(void)-- Drain stale scancodes (typematic repeats, a release that arrived with * its press) before leaving a menu, so they... -
s_vga(function)progs/minicraft/minicraft.c:433static long s_vga(long on) -
s_pal(function)progs/minicraft/minicraft.c:438static long s_pal(const unsigned char *p) -
s_present(function)progs/minicraft/minicraft.c:443static long s_present(void) -
s_title(function)progs/minicraft/minicraft.c:448static long s_title(const char *t) -
s_mouse(function)progs/minicraft/minicraft.c:453static long s_mouse(int *m) -
s_zoom(function)progs/minicraft/minicraft.c:458static long s_zoom(long on) -
s_yield(function)progs/minicraft/minicraft.c:463static void s_yield(void) -
s_pcspk_init(function)progs/minicraft/minicraft.c:468static long s_pcspk_init(void) -
beep(function)progs/minicraft/minicraft.c:478static void beep(long freq, long dur_ms) -
pal_set(function)progs/minicraft/minicraft.c:497static void pal_set(int i, int r, int g, int b) -
build_palette(function)progs/minicraft/minicraft.c:503static void build_palette(void) -
in_world(function)progs/minicraft/minicraft.c:562static int in_world(int x, int y, int z) -
chunk_of(function)progs/minicraft/minicraft.c:577static int chunk_of(int v)-- (void)x; (void)y; return z >= 0 && z < MC_H; } static unsigned int hash2(int x, int y); static unsigned int... -
chunk_local(function)progs/minicraft/minicraft.c:581static int chunk_local(int v) -
chunk_lidx(function)progs/minicraft/minicraft.c:586static int chunk_lidx(int lx, int ly, int z) -
chunk_find(function)progs/minicraft/minicraft.c:592static int chunk_find(int cx, int cy)-- O(1) fast path: DDA walks neighbours, so the last chunk almost always * hits; the 49-slot scan is the rare slow... -
world_max_recompute(function)progs/minicraft/minicraft.c:606static void world_max_recompute(void) -
chunk_evict_slot(function)progs/minicraft/minicraft.c:615static int chunk_evict_slot(int cx, int cy) -
chunk_ensure(function)progs/minicraft/minicraft.c:635static int chunk_ensure(int cx, int cy) -
chunk_build_meta(function)progs/minicraft/minicraft.c:658static void chunk_build_meta(int slot) -
col_recompute(function)progs/minicraft/minicraft.c:703static void col_recompute(int x, int y) -
col_top_at(function)progs/minicraft/minicraft.c:728static int col_top_at(int x, int y) -
light_recompute_col(function)progs/minicraft/minicraft.c:735static void light_recompute_col(int x, int y) -
get_b(function)progs/minicraft/minicraft.c:764static unsigned char get_b(int x, int y, int z) -
set_b(function)progs/minicraft/minicraft.c:774static void set_b(int x, int y, int z, unsigned char b) -
set_b_raw(function)progs/minicraft/minicraft.c:790static void set_b_raw(int x, int y, int z, unsigned char b) -
sky_light(function)progs/minicraft/minicraft.c:801static float sky_light(int x, int y, int z)-- world_dirty = 1; } static void set_b_raw(int x, int y, int z, unsigned char b) { int s; if (z < 0 || z >= MC_H)... -
is_solid(function)progs/minicraft/minicraft.c:811static int is_solid(unsigned char b) -
in_water_at(function)progs/minicraft/minicraft.c:814static int in_water_at(float x, float y, float z) -
is_visible(function)progs/minicraft/minicraft.c:819static int is_visible(unsigned char b) -
hash2(function)progs/minicraft/minicraft.c:823static unsigned int hash2(int x, int y) -
hash2_seed(function)progs/minicraft/minicraft.c:830static unsigned int hash2_seed(int x, int y, unsigned int seed) -
mc_smoothstep(function)progs/minicraft/minicraft.c:839static float mc_smoothstep(float t) -
biome_fdiv(function)progs/minicraft/minicraft.c:846static int biome_fdiv(int v, int c)-- Voronoi biome lattice: floor division so negatives land right. -
voro_site(function)progs/minicraft/minicraft.c:861static void voro_site(int cx, int cy, unsigned int seed, int cell, int *sx, int *sy) -
biome_voro(function)progs/minicraft/minicraft.c:869static int biome_voro(int x, int y, unsigned int seed, int cell, int ox, int oy, unsigned int... -
biome_desert(function)progs/minicraft/minicraft.c:893static int biome_desert(int x, int y, unsigned int seed) -
biome_snow(function)progs/minicraft/minicraft.c:897static int biome_snow(int x, int y, unsigned int seed) -
is_cave(function)progs/minicraft/minicraft.c:901static int is_cave(int x, int y, int z, unsigned int seed) -
ground_h_seed(function)progs/minicraft/minicraft.c:909static int ground_h_seed(int x, int y, unsigned int seed) -
inv_add(function)progs/minicraft/minicraft.c:931static int inv_add(int b, int n) -
inv_remove(function)progs/minicraft/minicraft.c:945static int inv_remove(int b, int n) -
decorate_column(function)progs/minicraft/minicraft.c:995static void decorate_column(int x, int y, unsigned int seed) -
gen_terrain_chunk(function)progs/minicraft/minicraft.c:1034static void gen_terrain_chunk(int slot) -
decorate_chunk(function)progs/minicraft/minicraft.c:1043static void decorate_chunk(int slot) -
ensure_around_px(function)progs/minicraft/minicraft.c:1056static void ensure_around_px(float px, float py)-- Keep a (2R+1)^2 ring of terrain around the player, an inner ring decorated, drop the rest (dirty chunks hit disk first). -
ensure_around(function)progs/minicraft/minicraft.c:1090static void ensure_around(void) -
new_world(function)progs/minicraft/minicraft.c:1095static void new_world(unsigned int seed)-- save_chunk_file(i); ch_used[i] = 0; if (ch_cache == i) ch_cache = -1; } } world_max_recompute(); } static void... -
mob_spawn_one(function)progs/minicraft/minicraft.c:1191static void mob_spawn_one(Pig *m, int id, int hp, long now) -
pig_collides(function)progs/minicraft/minicraft.c:1243static int pig_collides(float x, float y, float z) -
creeper_explode(function)progs/minicraft/minicraft.c:1257static void creeper_explode(Pig *c, long now) -
creep_sense(function)progs/minicraft/minicraft.c:1325static void creep_sense(Pig *c, float *pdx, float *pdy, float *pdz, float *pd3)-- Creeper perception in 3D: planar delta, eye-height delta and full distance. -
creep_has_los(function)progs/minicraft/minicraft.c:1337static int creep_has_los(Pig *c)-- Voxel line of sight between creeper eyes and player eyes, sampled every half block. -
creep_separate(function)progs/minicraft/minicraft.c:1361static void creep_separate(Pig *p, int id, float dt)-- Herd separation: creepers inside MC_CREEP_SEP_D push apart so the pack * never stacks on one tile and every one of... -
tick_mob(function)progs/minicraft/minicraft.c:1386static void tick_mob(Pig *p, int id, float dt, long now) -
tick_pigs(function)progs/minicraft/minicraft.c:1512static void tick_pigs(float dt, long now) -
face_color(function)progs/minicraft/minicraft.c:1520static unsigned char face_color(unsigned char b, int face) -
sky_color(function)progs/minicraft/minicraft.c:1569static unsigned char sky_color(float dz, float sun_dot, int x, int y, float tsec) -
shade_block(function)progs/minicraft/minicraft.c:1602static unsigned char shade_block(unsigned char b, int face, int bx, int by, int bz, ... -
cast_ray(function)progs/minicraft/minicraft.c:1659static RayHit cast_ray(float ox, float oy, float oz, float dx, float dy, float dz, float maxd) -
eye_z(function)progs/minicraft/minicraft.c:1750static float eye_z(void) -
mc_glyph(function)progs/minicraft/minicraft.c:1817static int mc_glyph(char ch) -
mc_pixel(function)progs/minicraft/minicraft.c:1825static void mc_pixel(int x, int y, unsigned char c) -
mc_text(function)progs/minicraft/minicraft.c:1831static void mc_text(int x, int y, const char *s, unsigned char fg) -
mc_text_bg(function)progs/minicraft/minicraft.c:1844static void mc_text_bg(int x, int y, const char *s, unsigned char fg, unsigned char bg) -
mc_block_name(function)progs/minicraft/minicraft.c:1857static const char *mc_block_name(unsigned char b) -
mc_facing(function)progs/minicraft/minicraft.c:1877static char mc_facing(void) -
cam_build(function)progs/minicraft/minicraft.c:1892static void cam_build(void) -
render_terrain(function)progs/minicraft/minicraft.c:1910static void render_terrain(RayHit tgt, float cyaw, float syaw, float cpit, ... -
mob_pixel(function)progs/minicraft/minicraft.c:1945static unsigned char mob_pixel(Pig *m, int id, int px, int py, int x0, int x1, int y0, int y1) -
render_mob_array(function)progs/minicraft/minicraft.c:1979static void render_mob_array(Pig *arr, int n, float fx, float fy, float fz, float rx, float r... -
render_pigs(function)progs/minicraft/minicraft.c:2030static void render_pigs(float cyaw, float syaw, float cpit, float spit, float ez) -
render_frame(function)progs/minicraft/minicraft.c:2038static void render_frame(void) -
sc_hist_push(function)progs/minicraft/minicraft.c:2151static void sc_hist_push(unsigned char b) -
poll_kbd(function)progs/minicraft/minicraft.c:2162static void poll_kbd(void) -
player_collides(function)progs/minicraft/minicraft.c:2355static int player_collides(float x, float y, float z) -
move_x(function)progs/minicraft/minicraft.c:2379static void move_x(float nx) -
move_y(function)progs/minicraft/minicraft.c:2384static void move_y(float ny) -
move_z_abs(function)progs/minicraft/minicraft.c:2389static MoveResult move_z_abs(float nz) -
block_intersects_player(function)progs/minicraft/minicraft.c:2404static int block_intersects_player(int bx, int by, int bz) -
try_autostep(function)progs/minicraft/minicraft.c:2413static void try_autostep(float tx, float ty) -
hurt(function)progs/minicraft/minicraft.c:2424static void hurt(int dmg, const char *why) -
tick_player(function)progs/minicraft/minicraft.c:2449static void tick_player(float dt) -
tick_water(function)progs/minicraft/minicraft.c:2548static void tick_water(long now) -
tick_hunger(function)progs/minicraft/minicraft.c:2596static void tick_hunger(long now) -
goal_text(function)progs/minicraft/minicraft.c:2608static const char *goal_text(void) -
tick_goals(function)progs/minicraft/minicraft.c:2619static void tick_goals(void) -
tick_discover(function)progs/minicraft/minicraft.c:2630static void tick_discover(long now) -
tick_interact(function)progs/minicraft/minicraft.c:2668static void tick_interact(void) -
mc_crc32(function)progs/minicraft/minicraft.c:2919static uint32_t mc_crc32(const void *data, size_t len, uint32_t crc) -
save_compute_crc(function)progs/minicraft/minicraft.c:2932static uint32_t save_compute_crc(const SaveHeader *hd) -
chunk_path(function)progs/minicraft/minicraft.c:2938static void chunk_path(int cx, int cy, char *out, size_t n) -
save_chunk_file(function)progs/minicraft/minicraft.c:2942static int save_chunk_file(int slot) -
load_chunk_file(function)progs/minicraft/minicraft.c:2974static int load_chunk_file(int slot, int cx, int cy) -
save_validate_loaded(function)progs/minicraft/minicraft.c:3056static int save_validate_loaded(void) -
load_reset_runtime(function)progs/minicraft/minicraft.c:3075static void load_reset_runtime(void) -
carve_blob(function)progs/minicraft/minicraft.c:3108static void carve_blob(const unsigned char *blob)-- Import a 64x64x32 legacy blob into chunks (0..3, 0..3), then dirty so * region files persist it. -
load_world_legacy(function)progs/minicraft/minicraft.c:3137static int load_world_legacy(FILE *f)-- Legacy raw save: fixed old_inv[12] layout is fragile if B_COUNT grows; * kept read-only for ancient saves, never... -
load_apply_player(function)progs/minicraft/minicraft.c:3175static void load_apply_player(const SaveHeader *hd) -
load_world_v3(function)progs/minicraft/minicraft.c:3194static int load_world_v3(FILE *f, SaveHeader *hd) -
load_world_v2(function)progs/minicraft/minicraft.c:3234static int load_world_v2(FILE *f, SaveHeader *hd) -
load_world(function)progs/minicraft/minicraft.c:3271static int load_world(void) -
selftest(function)progs/minicraft/minicraft.c:3345static int selftest(void) -
census(function)progs/minicraft/minicraft.c:3606static int census(void)-- 128x128 columns (64 biome cells): a 64-wide patch covers too few * 16-block biome cells and the desert rate... -
dumpstats(function)progs/minicraft/minicraft.c:3670static int dumpstats(void) -
title_menu(function)progs/minicraft/minicraft.c:3754static int title_menu(int have_save, int *seed_io) -
pause_menu(function)progs/minicraft/minicraft.c:3922static int pause_menu(int *seed_io)-- Pause menu on ESC (Alt+F4 still kills the process kernel-side): * 0 = resume, 1 = new world with *seed_io, 2 = save... -
main(function)progs/minicraft/minicraft.c:4095int main(int argc, char **argv)
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/mthreads.h, progs/src/opl3.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
-
DOOM_BACKBUF_ADDR(function)progs/minios_abi.h:128* * All three sit in the reserved tail above DOOM_BACKBUF_ADDR (the brk cap), * so a growing heap or mmap region can... -
in(function)progs/minios_abi.h:356* bytes in (refused past 4096, never truncated), GET copies out up to * the caller's cap (refused when empty or...
Imported by: progs/file/file.c, progs/pokemon/platform_minios.c, tests/test_minios_png.c
-
mpng_332_idx(function)progs/minios_png.h:58static int mpng_332_idx(unsigned r, unsigned g, unsigned b)-- static const char *mpng_left_candidates[MPNG_LEFT_N] = { "/icons/doom.png", "/icons/doomedit.png"... -
mpng_nearest(function)progs/minios_png.h:63static int mpng_nearest(const unsigned char *pal, long pal_n, unsigned r, ...-- "/icons/nuklear.png", "/icons/vedit.png", "/icons/file.png", "/icons/shell.png", "/icons/paint.png"... -
mpng_center(function)progs/minios_png.h:84static int mpng_center(int outer, int inner)-- for (k = 0; k < pal_n; k++) { long dr = (long)pal[k * 3] - (long)r; long dg = (long)pal[k * 3 + 1] - (long)g; long... -
mpng_fit_scale(function)progs/minios_png.h:93static int mpng_fit_scale(int sw, int sh, int boxw, int boxh)-- } return (int)best; } /** Docstring: centered offset of inner inside outer, negative when unfit. static int... -
mpng_rgb_to_idx_scaled(function)progs/minios_png.h:108static int mpng_rgb_to_idx_scaled(const unsigned char *rgb, int sw, int sh, ...-- int s = 1; int best = 1; if (sw <= 0 || sh <= 0 || boxw <= 0 || boxh <= 0) return -1; for (s = 1; s <= boxw && s <=... -
bound(function)progs/minios_png.h: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)progs/minios_png.h:172static int mpng_rgb_to_332_scaled(const unsigned char *rgb, int sw, int sh, ...-- int sy = y * sh / dh; for (x = 0; x < dw; x++) { int sx = x * sw / dw; const unsigned char *p = rgb + (sy * sw + sx)... -
mpng_blit_idx(function)progs/minios_png.h:196static int mpng_blit_idx(unsigned char *fb, int fw, int fh, const unsign...-- if (dw > MPNG_MAX_DIM || dh > MPNG_MAX_DIM) return MPNG_ERR_BOUND; for (y = 0; y < dh; y++) { int sy = y * sh / dh... -
mpng_load_file(function)progs/minios_png.h:222static int mpng_load_file(const char *path, unsigned char **out, long *out_n, ...-- int dy = oy + y; if (dy < 0 || dy >= fh) continue; for (x = 0; x < tw; x++) { int dx = ox + x; if (dx < 0 || dx >=...
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
-
nk_palette_build(function)progs/nk_palette.h:22static int nk_palette_build(unsigned char *pal, long cap)
Depends on: kernel/string.c, progs/nuklear/cvm_emit.h
-
module(function)progs/nuklear/cvm_emit.c:3* * Emits a cvm2 module (format v2) from a dataflow graph. Nodes are * topologically sorted (a true DAG order, so... -
code(function)progs/nuklear/cvm_emit.c:8`* exit code (OP_HALT leaves the operand-stack top as the exit status, which
- the shell reports ...`
-
cb_push(function)progs/nuklear/cvm_emit.c:79static int cb_push(struct codebuf *cb, unsigned char c) -
cb_u32(function)progs/nuklear/cvm_emit.c:91static int cb_u32(struct codebuf *cb, unsigned long v) -
cb_i64(function)progs/nuklear/cvm_emit.c:97static int cb_i64(struct codebuf *cb, long long v) -
cb_patch_u32(function)progs/nuklear/cvm_emit.c:103static void cb_patch_u32(struct codebuf *cb, size_t pos, unsigned long v) -
cb_imm(function)progs/nuklear/cvm_emit.c:111static int cb_imm(struct codebuf *cb, long long v)-- static int cb_i64(struct codebuf *cb, long long v) { for (int i = 0; i < 8; i++) if (cb_push(cb, (unsigned char)(v... -
req_inputs(function)progs/nuklear/cvm_emit.c:126static int req_inputs(enum cvm_node_type t)-- if (v >= -128 && v <= 127) { if (cb_push(cb, OP_PUSH_IMM8) < 0) return -1; if (cb_push(cb, (unsigned char)(v &... -
is_sink(function)progs/nuklear/cvm_emit.c:145static int is_sink(enum cvm_node_type t) -
topo_sort(function)progs/nuklear/cvm_emit.c:150static int topo_sort(const struct cvm_node *nodes, int n, int *order, char *...-- case NODE_EXIT: return 1; case NODE_IF: return 3; default: return 2; } } static int is_sink(enum cvm_node_type t) {... -
emit_operand(function)progs/nuklear/cvm_emit.c:213static int emit_operand(struct codebuf *code, const struct cvm_node *nodes, ...-- Emit one operand: the wired local slot or the fallback literal. -
emit_jz(function)progs/nuklear/cvm_emit.c:224static int emit_jz(struct codebuf *code, size_t *rel_pos) -
emit_jmp(function)progs/nuklear/cvm_emit.c:230static int emit_jmp(struct codebuf *code, size_t *rel_pos) -
cvm_compile(function)progs/nuklear/cvm_emit.c:236int cvm_compile(const struct cvm_node *nodes, int n, unsigned char **out, size_t ... -
w32(function)progs/nuklear/cvm_emit.c:491void w32(void *p, unsigned v)-- size_t ft = (size_t)nf * CVM_FUNC_ENTRY_SIZE; size_t gt = (size_t)ng * CVM_GLOBAL_ENTRY_SIZE; size_t nt = (size_t)nn...
Imported by: progs/nuklear/cvm_emit.c, progs/nuklear/node_editor.c
-
graph(function)progs/nuklear/cvm_emit.h:6* * A node graph (constants, arithmetic, bitwise, comparisons, a conditional * select, and string constants feeding... -
err(function)progs/nuklear/cvm_emit.h:67* err (err_cap bytes). The module is heap-allocated and owned by the caller * (free it). */ int cvm_compile(const...
Depends on: kernel/string.c, progs/minios_abi.h, progs/nuklear/cvm_emit.h, progs/nuklear/nuklear_minios.h, progs/nuklear/nuklear_theme.h
-
node_inputs(function)progs/nuklear/node_editor.c:96static int node_inputs(int k) -
node_outputs(function)progs/nuklear/node_editor.c:101static int node_outputs(int k) -
kind_name(function)progs/nuklear/node_editor.c:106static const char *kind_name(int k) -
kind_color(function)progs/nuklear/node_editor.c:111static struct nk_color kind_color(int k) -
graph_clear(function)progs/nuklear/node_editor.c:116static void graph_clear(void) -
graph_add(function)progs/nuklear/node_editor.c:122static int graph_add(int kind) -
graph_del(function)progs/nuklear/node_editor.c:136static void graph_del(int idx) -
graph_to_compiler(function)progs/nuklear/node_editor.c:154static int graph_to_compiler(struct cvm_node *out, int cap)-- g_count--; for (int i = 0; i < g_count; i++) for (int k = 0; k < 3; k++) { if (g_nodes[i].in[k] == idx) {... -
repair_graph(function)progs/nuklear/node_editor.c:176static int repair_graph(char *rep, size_t repcap, char *herr, size_t herrcap, ...-- Pre-compile pass: repair every open data input with a const 0 fallback (an open PrStr prints an empty line), so... -
addrep(function)progs/nuklear/node_editor.c:183void addrep(const char *s) -
adderr(function)progs/nuklear/node_editor.c:193void adderr(const char *s) -
compile_to(function)progs/nuklear/node_editor.c:283static int compile_to(const char *path)-- Compile the current graph to a file. -
write_quoted(function)progs/nuklear/node_editor.c:339static void write_quoted(FILE *f, const char *s)-- --- Headless graph text format (v2, backward compatible) ---- num a 5 str s "hi" add b a c add c... -
save_graph_file(function)progs/nuklear/node_editor.c:392static int save_graph_file(const char *path) -
parse_graph_file(function)progs/nuklear/node_editor.c:430static int parse_graph_file(const char *path) -
resolve(function)progs/nuklear/node_editor.c:437int resolve(const char *nme, int upto) -
parse_input(function)progs/nuklear/node_editor.c:443int parse_input(const char *tok, int idx, int k)-- static int parse_graph_file(const char *path) { FILE *f = fopen(path, "r"); if (!f) return -1; graph_clear(); static... -
pin_y(function)progs/nuklear/node_editor.c:522static float pin_y(struct gnode *n, int slot, int is_output)-- /* Link-drag state: click an output pin, drag to an input pin. static int linking_active; static int... -
node_h(function)progs/nuklear/node_editor.c:534static float node_h(struct gnode *n) -
ui_inspector(function)progs/nuklear/node_editor.c:542static void ui_inspector(struct nk_context *ctx) -
ui_build(function)progs/nuklear/node_editor.c:622static void ui_build(struct nk_context *ctx, float win_w, float win_h) -
gui_run(function)progs/nuklear/node_editor.c:931static void gui_run(void)-- circle.y = pin_y(n, k, 0) - PIN_R + oy; circle.w = PIN_DIAM; circle.h = PIN_DIAM; nk_fill_circle(canvas, circle... -
main(function)progs/nuklear/node_editor.c:983int main(int argc, char **argv)
Next: API_p16.md
Generated offline by readmenator from commit d64a8fe9383a. Edits here are overwritten by readmenator . --rebuild.
Start
Wiki
- community_0_headers_kernel
- community_10_orphans
- community_1_progs_doomgeneric_d_englsh
- community_2_progs_src
- community_3_progs_doomgeneric_p_spec
- community_4_tools_tls_crypto
- community_5_headers_vga_fb
- community_6_progs_doomgeneric_net_defs
- community_7_headers_batch
- community_8_headers_tick
- community_9_tools_doom_pwad
- concepts
- queries
- REPORT
Agent Docs
- API
- API_p10
- API_p11
- API_p12
- API_p13
- API_p14
- API_p15
- API_p16
- API_p17
- API_p18
- API_p19
- API_p2
- API_p20
- API_p21
- API_p3
- API_p4
- API_p5
- API_p6
- API_p7
- API_p8
- API_p9
- ARCHITECTURE
- ARCHITECTURE_p2
- ARCHITECTURE_p3
- ARCHITECTURE_p4
- CONCEPTS
- GOTCHAS
- INDEX
- INDEX_p2
- KB_asm
- KB_boot
- KB_doomgeneric
- KB_doomgeneric_p10
- KB_doomgeneric_p11
- KB_doomgeneric_p12
- KB_doomgeneric_p2
- KB_doomgeneric_p3
- KB_doomgeneric_p4
- KB_doomgeneric_p5
- KB_doomgeneric_p6
- KB_doomgeneric_p7
- KB_doomgeneric_p8
- KB_doomgeneric_p9
- KB_drivers
- KB_drivers_p2
- KB_file
- KB_freedomui
- KB_fs
- KB_headers
- KB_headers_arch_x86
- KB_headers_drivers
- KB_headers_kernel
- KB_headers_p2
- KB_headers_p3
- KB_headers_p4
- KB_headers_p5
- KB_headers_p6
- KB_kernel
- KB_kernel_p2
- KB_kernel_p3
- KB_kernel_p4
- KB_lib
- KB_lisp
- KB_lua
- KB_mcp
- KB_minios
- KB_misc
- KB_misc_p2
- KB_misc_p3
- KB_mm
- KB_net
- KB_nuklear
- KB_pokemon
- KB_progs
- KB_quake2generic
- KB_root
- KB_src
- KB_src_p2
- KB_src_p3
- KB_tests
- KB_tests_p2
- KB_tls_u
- KB_tools
- KB_tools_p2
- KB_wl
- KB_x86
- MEMORY
- SECURITY
- SYMBOLS
- SYMBOLS_p10
- SYMBOLS_p11
- SYMBOLS_p12
- SYMBOLS_p13
- SYMBOLS_p14
- SYMBOLS_p15
- SYMBOLS_p16
- SYMBOLS_p17
- SYMBOLS_p18
- SYMBOLS_p19
- SYMBOLS_p2
- SYMBOLS_p20
- SYMBOLS_p21
- SYMBOLS_p22
- SYMBOLS_p23
- SYMBOLS_p24
- SYMBOLS_p25
- SYMBOLS_p26
- SYMBOLS_p27
- SYMBOLS_p3
- SYMBOLS_p4
- SYMBOLS_p5
- SYMBOLS_p6
- SYMBOLS_p7
- SYMBOLS_p8
- SYMBOLS_p9
Recipes