Repository navigation
Agent API_p17
Previous: API_p16.md
Depends on: kernel/string.c
-
curlfree(function)progs/src/freedom.c:4* spirit of curlfree (http.c + htmlfilter.c): a bounded header phase, * Content-Length or EOF body reading... -
net_dns_resolve(function)progs/src/freedom.c:41int net_dns_resolve(const char *host);-- Ring-3 TLS build (phase 2 of docs/TLS_MIGRATION.md): host libc for sockets/stdio/strings (identical ABI numbers... -
tls_handshake(function)progs/src/freedom.c:42int tls_handshake(int fd, char *host); -
tls_send(function)progs/src/freedom.c:43int tls_send(int fd, char *buf, int len); -
tls_recv(function)progs/src/freedom.c:44int tls_recv(int fd, char *buf, int len); -
socket(function)progs/src/freedom.c:52int socket(int domain, int type, int proto);-- else -
connect(function)progs/src/freedom.c:53int connect(int fd, void *addr, int addrlen); -
sendto(function)progs/src/freedom.c:54int sendto(int fd, char *buf, int len, int flags, void *to, int tolen); -
recvfrom(function)progs/src/freedom.c:55int recvfrom(int fd, char *buf, int len, int flags, void *from, int *fromlen); -
close(function)progs/src/freedom.c:56int close(int fd); -
tls_close(function)progs/src/freedom.c:58static int tls_close(int fd)-- Session-aware close (frees the TLS session for fd, no-op when none): every fetch path must use this, never raw... -
printf(function)progs/src/freedom.c:63int printf(char *fmt, ...); -
puts(function)progs/src/freedom.c:64int puts(char *s); -
strlen(function)progs/src/freedom.c:65int strlen(char *s); -
strchr(function)progs/src/freedom.c:66char *strchr(char *s, int c); -
strcmp(function)progs/src/freedom.c:67int strcmp(char *a, char *b); -
strncmp(function)progs/src/freedom.c:68int strncmp(char *a, char *b, int n); -
memcpy(function)progs/src/freedom.c:69int memcpy(char *dst, char *src, int n); -
memset(function)progs/src/freedom.c:70int memset(char *dst, int c, int n); -
putchar(function)progs/src/freedom.c:71int putchar(int c); -
atoi(function)progs/src/freedom.c:151static int atoi(char *s)-- static char f_dom[FREEDOM_DOM_BUF]; static int f_domlen; static char f_css[FREEDOM_CSS_BUF]; static int f_csslen... -
append(function)progs/src/freedom.c:166static int append(char *dst, int pos, char *src, int cap)-- Append src to dst at pos; returns the new length or -1 when it does not fit. -
ci_lower(function)progs/src/freedom.c:176static int ci_lower(int c) -
ci_starts(function)progs/src/freedom.c:182static int ci_starts(char *s, char *pre)-- if (pos < 0) return -1; n = strlen(src); if (pos + n >= cap) return -1; memcpy(dst + pos, src, n); dst[pos + n] = 0... -
ci_eq(function)progs/src/freedom.c:193static int ci_eq(char *a, char *b)-- } /* Case-insensitive starts-with. static int ci_starts(char *s, char *pre) { while (*pre) { if (!*s) return 0; if... -
ci_index(function)progs/src/freedom.c:203static int ci_index(char *s, char *needle)-- return 1; } /* Case-insensitive equality. static int ci_eq(char *a, char *b) { while (*a && *b) { if (ci_lower(*a)... -
looks_like_url(function)progs/src/freedom.c:212static int looks_like_url(char *s)-- } return *a == 0 && b == 0; } / Case-insensitive index of needle in haystack, or -1. static int ci_index(char *s... -
has_scheme(function)progs/src/freedom.c:226static int has_scheme(char *s)-- Does s begin with ":" per RFC 3986 (ALPHA *(ALPHA/DIGIT/+/-/.) ":")? -
make_search(function)progs/src/freedom.c:242static void make_search(char *out, char *query, int cap)-- char c; c = s[0]; if (!((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))) return 0; for (i = 1; s[i]; i++) { c =... -
split_url(function)progs/src/freedom.c:266static int split_url(char *url)-- Split an http:// or https:// URL into f_host, f_path, f_port and f_secure. -
resolve_redirect(function)progs/src/freedom.c:313static int resolve_redirect(void)-- Recompute f_host/f_path/f_port/f_secure from the last Location value. -
put_ws(function)progs/src/freedom.c:366static void put_ws(void) -
put_utf(function)progs/src/freedom.c:377static void put_utf(int c)-- Print one text byte through the UTF-8 gate. -
put_text(function)progs/src/freedom.c:427static void put_text(int c)-- Print one text byte: whitespace collapses, everything else goes * through the UTF-8 gate. -
css_append(function)progs/src/freedom.c:483static void css_append(char *s, int n) -
css_line(function)progs/src/freedom.c:489static void css_line(char *s) -
dom_append(function)progs/src/freedom.c:494static void dom_append(char *s, int n) -
dom_space(function)progs/src/freedom.c:500static void dom_space(void) -
dom_nl(function)progs/src/freedom.c:504static void dom_nl(void) -
record_attr(function)progs/src/freedom.c:509static void record_attr(void)-- int i; for (i = 0; i < n && f_domlen < FREEDOM_DOM_BUF - 1; i++) f_dom[f_domlen++] = s[i]; } static void... -
is_void_tag(function)progs/src/freedom.c:534static int is_void_tag(void)-- f_hreflen = f_vallen < 127 ? f_vallen : 127; memcpy(f_href, f_val, f_hreflen); f_href[f_hreflen] = 0; } else if... -
classify_tag(function)progs/src/freedom.c:546static void classify_tag(void)-- A tag was fully collected into f_tagn (+ attributes). -
body_byte(function)progs/src/freedom.c:631static void body_byte(int c)-- } dom_nl(); if (!is_void_tag()) f_depth++; } if (ci_eq(f_tagn, "br") || ci_eq(f_tagn, "p") || ci_eq(f_tagn, "div")... -
head_line(function)progs/src/freedom.c:796static void head_line(char *line)-- f_rel_ss = 0; return; } if (c == '&') { f_entlen = 1; f_ent[0] = 0; return; } put_text(c); } /* --- HTTP -
parse_head(function)progs/src/freedom.c:821static void parse_head(void)-- Parse the collected header block f_hdr[0..f_hlen-1] (the last four * bytes are the terminating CRLF CRLF). -
recv_body(function)progs/src/freedom.c:843static int recv_body(int fd, char *buf, int len)-- f_hdr[lend] = 0; if (i == 0) { char *sp; sp = strchr(f_hdr, ' '); if (sp) f_status = atoi(sp + 1); } else if (lend >... -
send_all(function)progs/src/freedom.c:849static int send_all(int fd, char *buf, int len)-- head_line(f_hdr + i); } f_hdr[lend] = '\r'; i = lend + 2; } } /* Receive body bytes: TLS for f_secure, plain TCP... -
fetch(function)progs/src/freedom.c:860static int fetch(char *host, char *path, int port)-- Send one HTTP request and process the response body. -
fetch_css(function)progs/src/freedom.c:1031static void fetch_css(char *host, char *path)-- Fetch a linked stylesheet and print its raw body (through the UTF-8 * gate). -
print_css_dump(function)progs/src/freedom.c:1113static void print_css_dump(void)-- } continue; } f_ws = 0; put_utf(c); got++; } } tls_close(fd); putchar('\n'); printf("freedom: %s (%d bytes)\n"... -
print_dom_dump(function)progs/src/freedom.c:1122static void print_dom_dump(void)-- putchar('\n'); printf("freedom: %s (%d bytes)\n", host, got); } /* Print the collected CSS dump. static void... -
main(function)progs/src/freedom.c:1129int main(int argc, char **argv)
Depends on: headers/vga_fb.h, kernel/string.c, progs/minios_abi.h, progs/nk_palette.h, progs/wl/wl_mini.h
Imported by: tests/test_freedom_wl.c
-
net_dns_resolve(function)progs/src/freedom_wl.c:42int net_dns_resolve(const char *host); -
tls_handshake(function)progs/src/freedom_wl.c:43int tls_handshake(int fd, char *host); -
tls_send(function)progs/src/freedom_wl.c:44int tls_send(int fd, char *buf, int len); -
tls_recv(function)progs/src/freedom_wl.c:45int tls_recv(int fd, char *buf, int len); -
tls_close(function)progs/src/freedom_wl.c:46void tls_close(int fd); -
freedom_wl_surface_id(function)progs/src/freedom_wl.c:114static long freedom_wl_surface_id(void)-- Logical Wayland-mini surface id for this client (ADR-0024). -
freedom_wl_surface_attach(function)progs/src/freedom_wl.c:129static long freedom_wl_surface_attach(FreedomWlConfig *c)-- Attach this client to the wlcomp mapping: encode an attach message for the first pool and a commit for our surface... -
freedom_wl_default(function)progs/src/freedom_wl.c:158static FreedomWlConfig freedom_wl_default(void)-- if (pool != WL_ID_POOL_BASE || w != (int)c->surface_w || h != (int)c->surface_h) return -1L; n =... -
freedom_wl_clip_rect(function)progs/src/freedom_wl.c:196static long freedom_wl_clip_rect(FreedomWlConfig *c, long *x, long *y, long *w, long *h)-- c.hops_max = WL_HOPS_MAX; c.font_w = WL_FONT_W; c.font_h = WL_FONT_H; c.port_http = 80L; c.port_https = 443L... -
freedom_wl_frame_bytes(function)progs/src/freedom_wl.c:227static long freedom_wl_frame_bytes(FreedomWlConfig *c, long w, long h)-- } if (*x + *w > c->surface_w) { w = c->surface_w - *x; } if (*y + *h > c->surface_h) { h = c->surface_h - *y; } if... -
freedom_wl_keysym(function)progs/src/freedom_wl.c:246static long freedom_wl_keysym(FreedomWlConfig *c, long sc)-- if (w <= 0L || h <= 0L) { return -1L; } if (w > c->surface_w || h > c->surface_h) { return -1L; } bytes_per_pixel =... -
freedom_wl_sanitize_utf8(function)progs/src/freedom_wl.c:286static long freedom_wl_sanitize_utf8(char *s, long cap)-- } if (make == 0x39L) { return 32L; } if (make == 0x0EL) { return 8L; } if (make == 0x0FL) { return 9L; } return -1L... -
freedom_wl_title_ok(function)progs/src/freedom_wl.c:359static long freedom_wl_title_ok(FreedomWlConfig *c, char *t, long n)-- i++; } if (o >= cap - 1L) { break; } } if (o >= cap) { return -1L; } s[o] = 0; return o; } /** Validate a window... -
wl_copy(function)progs/src/freedom_wl.c:370static long wl_copy(char *dst, char *src, long cap)-- } /** Validate a window title against the kernel title bound. static long freedom_wl_title_ok(FreedomWlConfig *c... -
wl_strlen(function)progs/src/freedom_wl.c:388static long wl_strlen(char *s, long cap)-- } i = 0L; while (src[i] != 0) { if (i + 1L >= cap) { return -1L; } dst[i] = src[i]; i++; } dst[i] = 0; return 0L; }... -
wl_append(function)progs/src/freedom_wl.c:404static long wl_append(char *dst, long pos, char *src, long cap)-- if (!s || cap <= 0L) { return -1L; } i = 0L; while (i < cap && s[i] != 0) { i++; } if (i >= cap) { return -1L; }... -
wl_ci_lower(function)progs/src/freedom_wl.c:427static long wl_ci_lower(long ch)-- } if (pos + n >= cap) { return -1L; } i = 0L; while (i < n) { dst[pos + i] = src[i]; i++; } dst[pos + n] = 0; return... -
wl_ci_starts(function)progs/src/freedom_wl.c:435static long wl_ci_starts(char *s, char *pre)-- } dst[pos + n] = 0; return pos + n; } /** ASCII lowercase fold. static long wl_ci_lower(long ch) { if (ch >= 'A' &&... -
wl_ci_contains(function)progs/src/freedom_wl.c:453static long wl_ci_contains(char *s, char *needle)-- while (*pre) { if (*s == 0) { return 0L; } if (wl_ci_lower(*s) != wl_ci_lower(*pre)) { return 0L; } s++; pre++; }... -
wl_has_scheme(function)progs/src/freedom_wl.c:467static long wl_has_scheme(char *s)-- static long wl_ci_contains(char *s, char *needle) { if (!s || !needle) { return 0L; } while (*s) { if... -
wl_looks_like_url(function)progs/src/freedom_wl.c:493static long wl_looks_like_url(char *s)-- ch = s[i]; if (ch == ':') { return 1L; } if (!((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' &&... -
wl_make_search(function)progs/src/freedom_wl.c:512static long wl_make_search(char *out, char *query, long cap)-- dot = 0L; while (*s) { if (*s == ' ' || *s == '\t') { return 0L; } if (*s == '.') { dot = 1L; } s++; } return dot; }... -
wl_split_url(function)progs/src/freedom_wl.c:544static long wl_split_url(FreedomWlConfig *c, char *url, char *host, char *path, long *port, long ...-- } else { out[pos] = query; pos++; out[pos] = 0; } if (pos < 0L) { return -1L; } query++; } return pos; } /* Split... -
wl_resolve_redirect(function)progs/src/freedom_wl.c:609static long wl_resolve_redirect(FreedomWlConfig *c, char *loc, long secure, char *host, char *pat...-- if (plen < 0L) { return 0L; } if (wl_copy(path, p + hl, c->path_max) < 0L) { return 0L; } } else { path[0] = '/'... -
wl_scroll_clamp(function)progs/src/freedom_wl.c:689static long wl_scroll_clamp(FreedomWlConfig *c, long off, long nlines)-- if (last + 1L + l >= c->path_max) { return 0L; } i = 0L; while (i < l) { path[last + 1L + i] = loc[i]; i++; }... -
wl_filter_wrap(function)progs/src/freedom_wl.c:708static long wl_filter_wrap(FreedomWlConfig *c, char *body, long n, char *lines, long maxlines, lo...-- if (nlines <= c->text_rows) { return 0L; } maxoff = nlines - c->text_rows; if (off < 0L) { return 0L; } if (off >... -
wl_status_text(function)progs/src/freedom_wl.c:951static long wl_status_text(FreedomWlConfig *c, char *host, long nbytes, long off, long nlines, ch...-- lines[li * linelen + co] = (char)ch; co++; lines[li * linelen + co] = 0; } if (co > 0L) { return li + 1L; } if (li... -
freedom_wl_build_palette(function)progs/src/freedom_wl.c:1039static long freedom_wl_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... -
freedom_wl_sys_present(function)progs/src/freedom_wl.c:1062static long freedom_wl_sys_present(long buf, long origin)-- static char w_host[WL_HOST_MAX]; static char w_path[WL_PATH_MAX]; static char w_loc[WL_URL_MAX]; static char... -
freedom_wl_sys_title(function)progs/src/freedom_wl.c:1069static long freedom_wl_sys_title(char *t)-- static long w_nbytes; static long w_secure; static long w_port; static long w_status; static long w_truncated; /**... -
freedom_wl_sys_palette(function)progs/src/freedom_wl.c:1076static long freedom_wl_sys_palette(unsigned char *pal)-- static long freedom_wl_sys_present(long buf, long origin) { long ret; asm volatile("syscall" : "=a"(ret)... -
freedom_wl_sys_mouse(function)progs/src/freedom_wl.c:1083static long freedom_wl_sys_mouse(long *m)-- static long freedom_wl_sys_title(char *t) { long ret; asm volatile("syscall" : "=a"(ret)... -
freedom_wl_sys_kbd(function)progs/src/freedom_wl.c:1090static long freedom_wl_sys_kbd(void)-- static long freedom_wl_sys_palette(unsigned char *pal) { long ret; asm volatile("syscall" : "=a"(ret)... -
freedom_wl_sys_vga_mode(function)progs/src/freedom_wl.c:1097static long freedom_wl_sys_vga_mode(long on)-- static long freedom_wl_sys_mouse(long *m) { long ret; asm volatile("syscall" : "=a"(ret)... -
freedom_wl_sys_kbd_raw(function)progs/src/freedom_wl.c:1104static long freedom_wl_sys_kbd_raw(long on)-- static long freedom_wl_sys_kbd(void) { long ret; asm volatile("syscall" : "=a"(ret) : "a"(MINIOS_SYS_KBD)... -
freedom_wl_sys_yield(function)progs/src/freedom_wl.c:1111static long freedom_wl_sys_yield(void)-- static long freedom_wl_sys_vga_mode(long on) { long ret; asm volatile("syscall" : "=a"(ret)... -
wl_parse_headers(function)progs/src/freedom_wl.c:1118static long wl_parse_headers(FreedomWlConfig *c, char *hdr, long *status, long *clen, long *hascl...-- static long freedom_wl_sys_kbd_raw(long on) { long ret; asm volatile("syscall" : "=a"(ret)... -
wl_fetch_raw(function)progs/src/freedom_wl.c:1210static long wl_fetch_raw(FreedomWlConfig *c, char *host, char *path, long port, long secure)-- if (!wl_ci_starts(hdr + k, "text")) { istext = 0L; } } } line++; while (hdr[i] == '\r' || hdr[i] == '\n') { i++; } }... -
wl_render(function)progs/src/freedom_wl.c:1445static long wl_render(FreedomWlConfig *c, long off)-- if (got < c->body_cap) { w_body[got] = (char)ch; got++; } else { w_truncated = 1L; } } } } tls_close((int)fd)... -
wl_browse(function)progs/src/freedom_wl.c:1532static long wl_browse(FreedomWlConfig *c)-- long ink; if (bits & (0x80 >> px)) { ink = c->bar_fg; } else { ink = c->bar_bg; } fb[(c->text_rows * c->font_h +... -
freedom_wl_selftest(function)progs/src/freedom_wl.c:1613static long freedom_wl_selftest(void)-- off = off + (long)m[3] * c->scroll_step; changed = 1L; } if (changed) { off = wl_scroll_clamp(c, off, w_nlines); if... -
freedom_wl_host_probe(function)progs/src/freedom_wl.c:1696int freedom_wl_host_probe(FreedomWlConfig *c)-- return 1L; } if (freedom_wl_sys_kbd() > 0x7FFFFFFFL) { printf("freedom_wl: kbd out of range\n"); return 1L; }... -
main(function)progs/src/freedom_wl.c:1731int main(int argc, char **argv)-- } buf[0] = 'h'; buf[1] = 'i'; buf[2] = 0; if (freedom_wl_sanitize_utf8(buf, 16L) != 2L) { return 1; } if...
-
fprintf(function)progs/src/ftest.c:4extern int fprintf(void *stream, const char *fmt, ...);-- Exercises the kernel libc surface used by loaded .o programs: fprintf to stdout/stderr, snprintf into a buffer... -
snprintf(function)progs/src/ftest.c:5extern int snprintf(char *buf, unsigned long size, const char *fmt, ...); -
printf(function)progs/src/ftest.c:6extern int printf(const char *fmt, ...); -
exit(function)progs/src/ftest.c:7extern void exit(int code); -
fopen(function)progs/src/ftest.c:11extern void *fopen(const char *path, const char *mode); -
main(function)progs/src/ftest.c:13int main(int argc, char **argv)
-
printf(function)progs/src/hello.c:2extern int printf(const char *fmt, ...);-- /* MiniOS test program — compiled as relocatable .o, loaded by kernel ELF loader -
main(function)progs/src/hello.c:4int main(int argc, char **argv)
-
kernel(function)progs/src/http.c:3* Hostnames are resolved by the kernel (net_dns_resolve syscall). */ int socket(int domain, int type, int proto); -
connect(function)progs/src/http.c:6int connect(int fd, void *addr, int addrlen); -
sendto(function)progs/src/http.c:7int sendto(int fd, char *buf, int len, int flags, void *to, int tolen); -
recvfrom(function)progs/src/http.c:8int recvfrom(int fd, char *buf, int len, int flags, void *from, int *fromlen); -
shutdown(function)progs/src/http.c:9int shutdown(int fd, int how); -
close(function)progs/src/http.c:10int close(int fd); -
net_dns_resolve(function)progs/src/http.c:11int net_dns_resolve(const char *host); -
puts(function)progs/src/http.c:12int puts(char *s); -
printf(function)progs/src/http.c:13int printf(char *fmt, ...); -
strlen(function)progs/src/http.c:14int strlen(char *s); -
putchar(function)progs/src/http.c:15int putchar(int c); -
atoi(function)progs/src/http.c:18int atoi(char *s)-- int socket(int domain, int type, int proto); int connect(int fd, void *addr, int addrlen); int sendto(int fd, char... -
main(function)progs/src/http.c:29int main(int argc, char **argv)
-
js_str(function)progs/src/json.c:5* members keep their key in js_str (the member value node) and their value * in the node itself, and object members... -
free(function)progs/src/json.c:14void free(); -
printf(function)progs/src/json.c:15int printf(); -
putchar(function)progs/src/json.c:16int putchar(); -
puts(function)progs/src/json.c:17int puts(); -
strlen(function)progs/src/json.c:18int strlen(); -
strcmp(function)progs/src/json.c:19int strcmp(); -
fopen(function)progs/src/json.c:20void *fopen(); -
fclose(function)progs/src/json.c:21int fclose(); -
fread(function)progs/src/json.c:22int fread(); -
fseek(function)progs/src/json.c:23int fseek(); -
ftell(function)progs/src/json.c:24int ftell(); -
rewind(function)progs/src/json.c:25void rewind(); -
js_read_all(function)progs/src/json.c:58static char *js_read_all(const char *name, int *len) -
js_new(function)progs/src/json.c:76static int js_new(void) -
js_skip_ws(function)progs/src/json.c:81static void js_skip_ws(void) -
js_peek(function)progs/src/json.c:89static int js_peek(void) -
js_parse_string(function)progs/src/json.c:97static int js_parse_string(void) -
js_parse_number(function)progs/src/json.c:133static int js_parse_number(void) -
js_key_match(function)progs/src/json.c:143static int js_key_match(int child, const char *key) -
js_parse_object(function)progs/src/json.c:147static int js_parse_object(void) -
js_parse_array(function)progs/src/json.c:182static int js_parse_array(void) -
js_parse_value(function)progs/src/json.c:211static int js_parse_value(void) -
js_indent(function)progs/src/json.c:281static void js_indent(int n) -
js_print_str(function)progs/src/json.c:286static void js_print_str(const char *s) -
js_print_value(function)progs/src/json.c:303static void js_print_value(int node, int depth) -
js_find_member(function)progs/src/json.c:347static int js_find_member(int obj, const char *key) -
js_array_at(function)progs/src/json.c:357static int js_array_at(int arr, int idx) -
js_query(function)progs/src/json.c:369static int js_query(int root, const char *path) -
main(function)progs/src/json.c:401int main(int argc, char **argv)
-
syscall3(function)progs/src/kmem.c:7static long syscall3(long n, long a1, long a2, long a3)-- Kernel-pointer rejection probe. -
exit_now(function)progs/src/kmem.c:14static void exit_now(long code)
-
main(function)progs/src/ldhello.c:1int main(void)
Depends on: kernel/string.c, kernel/time.c
-
report(function)progs/src/lxabi.c:58static void report(const char *name, int ok, const char *detail) -
now_ms(function)progs/src/lxabi.c:68static long now_ms(void) -
busy_wait_ms(function)progs/src/lxabi.c:74static void busy_wait_ms(long ms) -
fork_probe(function)progs/src/lxabi.c:88static void fork_probe(uint64_t *out)-- Raw clone(SIGCHLD) with known values in every callee-saved register and in * the argument registers; both sides... -
regs_match(function)progs/src/lxabi.c:125static int regs_match(const uint64_t *r) -
check_fork_registers(function)progs/src/lxabi.c:131static void check_fork_registers(void) -
check_fork_cow_kernel_write(function)progs/src/lxabi.c:153static void check_fork_cow_kernel_write(void) -
worker(function)progs/src/lxabi.c:194static void *worker(void *arg) -
check_threads(function)progs/src/lxabi.c:208static void check_threads(void) -
detached_worker(function)progs/src/lxabi.c:238static void *detached_worker(void *arg) -
check_detached_reaped(function)progs/src/lxabi.c:244static void check_detached_reaped(void) -
signaller(function)progs/src/lxabi.c:268static void *signaller(void *arg) -
check_condvar(function)progs/src/lxabi.c:278static void check_condvar(void) -
check_pipe2_flags(function)progs/src/lxabi.c:300static void check_pipe2_flags(void) -
check_pipe_blocking(function)progs/src/lxabi.c:327static void check_pipe_blocking(void) -
check_pipe_epipe(function)progs/src/lxabi.c:349static void check_pipe_epipe(void) -
check_writev_pipe(function)progs/src/lxabi.c:360static void check_writev_pipe(void) -
check_poll(function)progs/src/lxabi.c:372static void check_poll(void) -
check_eventfd(function)progs/src/lxabi.c:396static void check_eventfd(void) -
check_close_range(function)progs/src/lxabi.c:421static void check_close_range(void) -
check_time(function)progs/src/lxabi.c:433static void check_time(void) -
check_mkdir(function)progs/src/lxabi.c:442static void check_mkdir(void) -
lxabi_sleeper(function)progs/src/lxabi.c:454static void *lxabi_sleeper(void *arg)-- } static void check_mkdir(void) { int rc = mkdir(LXABI_MKDIR_PATH, 0700); int ok = rc == 0 || errno == EEXIST; FILE... -
child_status(function)progs/src/lxabi.c:462static int child_status(void (*body)(void))-- Fork a child that runs body, wait for it with a bounded spin and return * its wait status, or -1 when it never ended... -
abort_from_worker_body(function)progs/src/lxabi.c:482static void abort_from_worker_body(void) -
lxabi_exit_group_worker(function)progs/src/lxabi.c:488static void *lxabi_exit_group_worker(void *arg) -
exit_group_from_worker_body(function)progs/src/lxabi.c:494static void exit_group_from_worker_body(void) -
wild_jump_body(function)progs/src/lxabi.c:500static void wild_jump_body(void) -
process(function)progs/src/lxabi.c:508`* process (never a kernel panic), and kill(pid, 0) or a harmless signal
- leaves the target aliv...`
-
main(function)progs/src/lxabi.c:535int main(void)
-
lx_syscall3(function)progs/src/lxhello.c:11static long lx_syscall3(long n, long a1, long a2, long a3) -
lx_strlen(function)progs/src/lxhello.c:23static unsigned long lx_strlen(const char *s) -
lx_write(function)progs/src/lxhello.c:29static void lx_write(const char *s) -
lx_write_int(function)progs/src/lxhello.c:33static void lx_write_int(long v) -
lmain(function)progs/src/lxhello.c:46int lmain(long argc, char **argv)-- static void lx_write_int(long v) { char buf[24]; int i = (int)sizeof(buf); int neg = 0; buf[--i] = 0; if (v < 0) {...
Depends on: kernel/string.c
-
report(function)progs/src/lxnet.c:48static void report(const char *name, int ok, const char *detail) -
wait_for(function)progs/src/lxnet.c:54static int wait_for(int fd, short events) -
read_all(function)progs/src/lxnet.c:61static int read_all(int fd, char *buf, size_t len)-- static void report(const char *name, int ok, const char *detail) { if (ok) printf("lxnet: %s ok\n", name); else {... -
check_udp(function)progs/src/lxnet.c:72static void check_udp(const struct sockaddr_in *peer) -
check_refused(function)progs/src/lxnet.c:143static void check_refused(const struct sockaddr_in *peer)-- A non-blocking connect to a port nobody listens on fails through poll * (POLLERR) with SO_ERROR = ECONNREFUSED... -
check_tcp(function)progs/src/lxnet.c:167static void check_tcp(const struct sockaddr_in *peer) -
check_misc(function)progs/src/lxnet.c:210static void check_misc(void) -
dial(function)progs/src/lxnet.c:229static int dial(const char *host, const char *port)-- if (fd >= 0) close(fd); struct addrinfo hints, *res = NULL; memset(&hints, 0, sizeof hints); hints.ai_family =... -
main(function)progs/src/lxnet.c:273int main(int argc, char **argv)
Depends on: kernel/string.c
-
report(function)progs/src/lxsecc.c:44static void report(const char *name, int ok, const char *detail) -
exit_code_of(function)progs/src/lxsecc.c:53static int exit_code_of(int st)-- Exit code of a reaped child under both encodings: Linux's status word (code << 8, signal in the low bits) and... -
run_child(function)progs/src/lxsecc.c:58static int run_child(void (*body)(void)) -
install_filter(function)progs/src/lxsecc.c:72static int install_filter(unsigned getpid_action)-- Filter: arch guard, getpid -> ERRNO(err_getpid), write/exit/exit_group/ * rt_sigreturn/mprotect(no PROT_EXEC)/fork... -
child_errno_action(function)progs/src/lxsecc.c:100static void child_errno_action(void) -
child_kill_action(function)progs/src/lxsecc.c:107static void child_kill_action(void) -
child_wx(function)progs/src/lxsecc.c:116static void child_wx(void)-- The page is the child's own anonymous mapping, made before the filter (which forbids mmap): a copy-on-write page... -
grandchild_inherits(function)progs/src/lxsecc.c:127static void grandchild_inherits(void) -
child_inherit(function)progs/src/lxsecc.c:133static void child_inherit(void) -
child_stacked(function)progs/src/lxsecc.c:142static void child_stacked(void) -
child_strict(function)progs/src/lxsecc.c:150static void child_strict(void) -
child_no_nnp(function)progs/src/lxsecc.c:157static void child_no_nnp(void) -
child_bad_program(function)progs/src/lxsecc.c:165static void child_bad_program(void) -
check_prctl_flags(function)progs/src/lxsecc.c:177static void check_prctl_flags(void) -
check_proc_self_exe(function)progs/src/lxsecc.c:197static void check_proc_self_exe(const char *argv0) -
main(function)progs/src/lxsecc.c:215int main(int argc, char **argv)
-
kernel(function)progs/src/lz4.c:6* * The codec lives in the kernel (lz4_kernel.c, the same one MiniFS uses), so * these tools are thin front-ends... -
free(function)progs/src/lz4.c:15void free(); -
printf(function)progs/src/lz4.c:16int printf(); -
strcmp(function)progs/src/lz4.c:17int strcmp(); -
strlen(function)progs/src/lz4.c:18int strlen(); -
fopen(function)progs/src/lz4.c:19void *fopen(); -
fclose(function)progs/src/lz4.c:20int fclose(); -
fread(function)progs/src/lz4.c:21int fread(); -
fwrite(function)progs/src/lz4.c:22int fwrite(); -
fseek(function)progs/src/lz4.c:23int fseek(); -
ftell(function)progs/src/lz4.c:24int ftell(); -
rewind(function)progs/src/lz4.c:25void rewind(); -
lz4_compress(function)progs/src/lz4.c:27int lz4_compress(char *src, int srclen, char *dst, int dstcap); -
lz4_decompress(function)progs/src/lz4.c:28int lz4_decompress(char *src, int srclen, char *dst, int dstcap); -
lz4_has(function)progs/src/lz4.c:39static int lz4_has(const char *s, const char *needle) -
lz4_read_all(function)progs/src/lz4.c:53static char *lz4_read_all(const char *name, int *len) -
lz4_write_all(function)progs/src/lz4.c:70static int lz4_write_all(const char *name, char *data, int len) -
lz4_compress_file(function)progs/src/lz4.c:80static int lz4_compress_file(const char *src, const char *dst) -
lz4_decompress_file(function)progs/src/lz4.c:117static int lz4_decompress_file(const char *src, const char *dst) -
main(function)progs/src/lz4.c:164int main(int argc, char **argv)
-
malloc(function)progs/src/lzss.c:13void *malloc(); -
free(function)progs/src/lzss.c:14void free(); -
printf(function)progs/src/lzss.c:15int printf(); -
strcmp(function)progs/src/lzss.c:16int strcmp(); -
strlen(function)progs/src/lzss.c:17int strlen(); -
fopen(function)progs/src/lzss.c:18void *fopen(); -
fclose(function)progs/src/lzss.c:19int fclose(); -
fread(function)progs/src/lzss.c:20int fread(); -
fwrite(function)progs/src/lzss.c:21int fwrite(); -
fseek(function)progs/src/lzss.c:22int fseek(); -
ftell(function)progs/src/lzss.c:23int ftell(); -
rewind(function)progs/src/lzss.c:24void rewind(); -
lz_in_getc(function)progs/src/lzss.c:64static int lz_in_getc(void) -
lz_out_put(function)progs/src/lzss.c:69static void lz_out_put(int c) -
lz_putbit1(function)progs/src/lzss.c:74static void lz_putbit1(void) -
lz_putbit0(function)progs/src/lzss.c:84static void lz_putbit0(void) -
lz_flush_bits(function)progs/src/lzss.c:93static void lz_flush_bits(void) -
lz_out_literal(function)progs/src/lzss.c:97static void lz_out_literal(int c) -
lz_out_pair(function)progs/src/lzss.c:105static void lz_out_pair(int x, int y) -
lz_encode(function)progs/src/lzss.c:118static int lz_encode(void) -
lz_getbit(function)progs/src/lzss.c:173static int lz_getbit(int n) -
lz_decode(function)progs/src/lzss.c:189static int lz_decode(void) -
lz_hdr_put(function)progs/src/lzss.c:218static void lz_hdr_put(char *h, int size) -
lz_hdr_get(function)progs/src/lzss.c:229static int lz_hdr_get(char *h) -
lz_has(function)progs/src/lzss.c:237static int lz_has(const char *s, const char *needle) -
lz_read_all(function)progs/src/lzss.c:251static char *lz_read_all(const char *name, int *len) -
lz_write_all(function)progs/src/lzss.c:268static int lz_write_all(const char *name, char *data, int len) -
lz_compress(function)progs/src/lzss.c:278static int lz_compress(const char *src, const char *dst) -
lz_decompress(function)progs/src/lzss.c:325static int lz_decompress(const char *src, const char *dst) -
main(function)progs/src/lzss.c:397int main(int argc, char **argv)
-
ENOMEM(function)progs/src/mmreuse.c:3* downward mmap cursor drains until a map fails with ENOMEM (-12); -
mmap_anon(function)progs/src/mmreuse.c:7static long mmap_anon(long len)-- mmap/munmap reclaim stress test. -
munmap(function)progs/src/mmreuse.c:21static long munmap(long addr, long len) -
exit_now(function)progs/src/mmreuse.c:31static void exit_now(long code)
-
mmap_anon(function)progs/src/mprot.c:11static long mmap_anon(long len) -
mprotect_sys(function)progs/src/mprot.c:25static long mprotect_sys(long addr, long len, long prot) -
write_str(function)progs/src/mprot.c:36static long write_str(const char *s, long n) -
exit_now(function)progs/src/mprot.c:44static void exit_now(long code)
Depends on: progs/minios_abi.h
Imported by: progs/src/fptest.c, progs/src/scfuzz.c, progs/src/thdemo.c
-
m_syscall6(function)progs/src/mthreads.h:50static inline long m_syscall6(long n, long a, long b, long c) -
myield(function)progs/src/mthreads.h:59static inline void myield(void) -
mfutex_wait(function)progs/src/mthreads.h:63static inline long mfutex_wait(volatile int *addr, int val) -
mfutex_wake(function)progs/src/mthreads.h:67static inline long mfutex_wake(volatile int *addr, int n) -
mmutex_init(function)progs/src/mthreads.h:71static inline void mmutex_init(mmutex_t *m) -
mmutex_lock(function)progs/src/mthreads.h:75static inline void mmutex_lock(mmutex_t *m) -
mmutex_unlock(function)progs/src/mthreads.h:90static inline void mmutex_unlock(mmutex_t *m) -
mthread_entry(function)progs/src/mthreads.h:98static void mthread_entry(void *p)-- Thread entry trampoline: runs fn(arg), stores the return, exits 0. * The exit code is always 0; join reads retval... -
mthread_create(function)progs/src/mthreads.h:117static int mthread_create(mthread_t *t, void *(*fn)(void *), void *arg) -
mthread_join(function)progs/src/mthreads.h:140static int mthread_join(mthread_t t, void **retval)
-
syscall(function)progs/src/mtop.c:12* * All system figures come from the MINFO syscall (251): heap used / * free, ramdisk used / cap, MiniFS free /... -
putchar(function)progs/src/mtop.c:35int putchar(); -
strlen(function)progs/src/mtop.c:36int strlen(); -
strcmp(function)progs/src/mtop.c:37int strcmp(); -
fopen(function)progs/src/mtop.c:38void *fopen(); -
fclose(function)progs/src/mtop.c:39int fclose(); -
fread(function)progs/src/mtop.c:40int fread(); -
rewind(function)progs/src/mtop.c:41void rewind(); -
socket(function)progs/src/mtop.c:42int socket(); -
close(function)progs/src/mtop.c:43int close(); -
net_dns_resolve(function)progs/src/mtop.c:44int net_dns_resolve(); -
sc3(function)progs/src/mtop.c:63static long sc3(long n, long a1, long a2, long a3) -
mtop_time(function)progs/src/mtop.c:72static long mtop_time(void) -
mtop_rtc(function)progs/src/mtop.c:76static long mtop_rtc(int *h, int *m, int *s) -
mtop_key(function)progs/src/mtop.c:80static long mtop_key(void) -
mtop_minfo(function)progs/src/mtop.c:84static long mtop_minfo(long sel, long *o1, long *o2) -
emit(function)progs/src/mtop.c:90static void emit(char *s) -
mtop_quit_key(function)progs/src/mtop.c:94static int mtop_quit_key(long k) -
mtop_clear_ansi(function)progs/src/mtop.c:103static void mtop_clear_ansi(void) -
mtop_clear(function)progs/src/mtop.c:113static void mtop_clear(void) -
mtop_atoi(function)progs/src/mtop.c:117static int mtop_atoi(char *s) -
mtop_putu(function)progs/src/mtop.c:136static void mtop_putu(long v) -
mtop_put2(function)progs/src/mtop.c:158static void mtop_put2(int v) -
mtop_put_kb(function)progs/src/mtop.c:163static void mtop_put_kb(long kb) -
mtop_bar(function)progs/src/mtop.c:179static void mtop_bar(long v, long max, int w) -
mtop_hist_max(function)progs/src/mtop.c:194static long mtop_hist_max(long *h, int n) -
mtop_hist_push(function)progs/src/mtop.c:204static void mtop_hist_push(long *h, long v) -
mtop_spark(function)progs/src/mtop.c:214static void mtop_spark(long *h, int n) -
mtop_mem(function)progs/src/mtop.c:242static long mtop_mem(long *used, long *freeb, long *total) -
mtop_cpu(function)progs/src/mtop.c:253static long mtop_cpu(long *count, long *busy) -
mtop_disk_open(function)progs/src/mtop.c:289static void mtop_disk_open(void) -
mtop_disk_read(function)progs/src/mtop.c:313static long mtop_disk_read(long *bytes) -
mtop_net_probe(function)progs/src/mtop.c:337static long mtop_net_probe(long *dns_ms, long *sock_ok) -
mtop_frame(function)progs/src/mtop.c:355static void mtop_frame(int n) -
main(function)progs/src/mtop.c:531int main(int argc, char **argv)
-
mvrn_sc3(function)progs/src/mvrn.c:9static long mvrn_sc3(long n, long a1, long a2, long a3)-- mvrn -- rename(82) syscall probe. -
mvrn_write(function)progs/src/mvrn.c:16static void mvrn_write(const char *s, unsigned long len) -
mvrn_exit(function)progs/src/mvrn.c:20static void mvrn_exit(long code) -
mvrn_fail(function)progs/src/mvrn.c:24static void mvrn_fail(int step) -
lmain(function)progs/src/mvrn.c:32int lmain(void)
-
write_str(function)progs/src/nx.c:11static long write_str(const char *s, long n) -
exit_now(function)progs/src/nx.c:19static void exit_now(long code)
Depends on: kernel/string.c, progs/minios_abi.h
Imported by: progs/piano/piano.c
-
sys_time(function)progs/src/opl3.c:36static long sys_time(void) -
sys_open(function)progs/src/opl3.c:39static long sys_open(long on) -
sys_submit(function)progs/src/opl3.c:42static long sys_submit(const void *buf, long len) -
busy_ms(function)progs/src/opl3.c:46static void busy_ms(long ms) -
opl3_set_instrument(function)progs/src/opl3.c:52static void opl3_set_instrument(opl3_chip *chip)-- } static long sys_open(long on) { long r; asm volatile("syscall":"=a"(r):"a"(SYS_SB16_OPEN),"D"(on):"rcx","r11","... -
opl3_note(function)progs/src/opl3.c:69static void opl3_note(opl3_chip *chip, unsigned block, unsigned fnum, int on) -
render(function)progs/src/opl3.c:77static void render(opl3_chip *chip, long ms, long *fail)-- Rendermsof the current note and stream it to the SB16. -
main(function)progs/src/opl3.c:107int main(void)
-
sc_open(function)progs/src/pcmap.c:12static long sc_open(const char *p)-- pcmap probe: file-backed MAP_PRIVATE mmap shares text. -
sc_mmap(function)progs/src/pcmap.c:21static long sc_mmap(long len, long prot, long flags, long fd, long off) -
sc_write(function)progs/src/pcmap.c:34static long sc_write(long fd, const char *s, long n) -
sc_exit(function)progs/src/pcmap.c:42static void sc_exit(long code) -
sc_fnv(function)progs/src/pcmap.c:46static unsigned long sc_fnv(const char *p, long n) -
sc_hex8(function)progs/src/pcmap.c:56static void sc_hex8(unsigned long v, char *out) -
sc_munmap(function)progs/src/pcmap.c:65static long sc_munmap(long addr, long len)
-
p_write(function)progs/src/pollready.c:26static long p_write(long fd, const char *s, long n) -
p_strlen(function)progs/src/pollready.c:30static unsigned long p_strlen(const char *s) -
p_puts(function)progs/src/pollready.c:36static void p_puts(long fd, const char *s) -
p_atoi(function)progs/src/pollready.c:40static int p_atoi(const char *s) -
p_parse_ip(function)progs/src/pollready.c:46static int p_parse_ip(const char *s, unsigned char out[4]) -
lmain(function)progs/src/pollready.c:63int lmain(long argc, char **argv)-- int v = 0; int digits = 0; while (*s >= '0' && *s <= '9') { v = v * 10 + (*s - '0'); s++; digits++; } if (!digits ||...
Depends on: progs/minios_abi.h
-
buffers(function)progs/src/sbtone.c:14`*
- Exit code is the number of submitted buffers (0 on failure to open). */
#include <stdio.h>...`
-
main(function)progs/src/sbtone.c:36int main(void)
Depends on: progs/src/mthreads.h
-
guest(function)progs/src/scfuzz.c:7`* the guest (the BDD timeout then talks). All fuzz maps stay inside
- one private 4 MB arena (pa...`
-
sc_mprotect(function)progs/src/scfuzz.c:38static long sc_mprotect(long addr, long len, long prot) -
sc_munmap(function)progs/src/scfuzz.c:49static long sc_munmap(long addr, long len) -
sc_write(function)progs/src/scfuzz.c:53static long sc_write(long fd, const char *s, long n) -
sc_exit(function)progs/src/scfuzz.c:61static void sc_exit(long code) -
sc_rng(function)progs/src/scfuzz.c:67static unsigned long sc_rng(unsigned long *s) -
sc_fold(function)progs/src/scfuzz.c:76static unsigned long sc_fold(unsigned long h, unsigned long v) -
sc_hex8(function)progs/src/scfuzz.c:88static void sc_hex8(unsigned long v, char *out) -
sc_worker(function)progs/src/scfuzz.c:97static unsigned long sc_worker(int me, unsigned long seed) -
sc_thread1(function)progs/src/scfuzz.c:154static void *sc_thread1(void *arg)
Depends on: progs/lua/minios.c
-
run_capture(function)progs/src/shell.py:20def run_capture(cmd, args) -
expand(function)progs/src/shell.py:30def expand(line, env) -
main(function)progs/src/shell.py:36def main()
-
lx_syscall3(function)progs/src/spin.c:11static long lx_syscall3(long n, long a1, long a2, long a3) -
lx_strlen(function)progs/src/spin.c:20static unsigned long lx_strlen(const char *s) -
lx_write(function)progs/src/spin.c:26static void lx_write(const char *s) -
lx_write_int(function)progs/src/spin.c:30static void lx_write_int(long v) -
lx_atoi(function)progs/src/spin.c:42static long lx_atoi(const char *s) -
spin_u32(function)progs/src/spin.c:66static void spin_u32(unsigned char *d, unsigned long v) -
spin_hdr(function)progs/src/spin.c:73static void spin_hdr(unsigned char *d, unsigned long id, unsigned long op, unsigned long ... -
spin_box_ok(function)progs/src/spin.c:82static int spin_box_ok(const char *box) -
spin_hex8(function)progs/src/spin.c:95static void spin_hex8(unsigned int v, char *dst) -
spin_write_all(function)progs/src/spin.c:104static long spin_write_all(long fd, const unsigned char *buf, long len) -
spin_emit(function)progs/src/spin.c:114static int spin_emit(const char *box, unsigned int seq, const unsigned char *msg, long mlen) -
spin_raw_file(function)progs/src/spin.c:145static int spin_raw_file(const char *box) -
spin_pixels(function)progs/src/spin.c:169static void spin_pixels(long off) -
spin_wl(function)progs/src/spin.c:181static int spin_wl(const char *box, const char *narg) -
lmain(function)progs/src/spin.c:225int lmain(long argc, char **argv)
Depends on: progs/minios_abi.h, progs/src/mthreads.h
-
threads(function)progs/src/thdemo.c:3* * Ten threads (1 main + 5 producers + 4 consumers) share one address * space through thread_spawn (MiniOS syscall... -
producer(function)progs/src/thdemo.c:36static void *producer(void *p) -
consumer(function)progs/src/thdemo.c:57static void *consumer(void *p) -
main(function)progs/src/thdemo.c:82int main(void)
-
write(function)progs/src/w1.c:1int write(int fd, char *buf, int n); -
main(function)progs/src/w1.c:3int main(void)
Depends on: headers/tls.h, headers/tls_port.h, kernel/string.c
-
syscall(function)progs/tls_u/tls_u_main.c:10`* the MiniOS DNS syscall (200, sig 0: error-check only, sends nothing).
- The kernel keeps servi...`
-
parse_port(function)progs/tls_u/tls_u_main.c:47static int parse_port(const char *s)-- Strict port parser (clang-tidy cert-err34-c: atoi reports no errors, so "abc" and overflow both become 0 and fail... -
main(function)progs/tls_u/tls_u_main.c:61int main(int argc, char **argv)
Depends on: kernel/string.c, kernel/time.c
-
sockets(function)progs/tls_u/tls_u_port.c:5`* sockets: on the host they are host sockets (used by the
- openssl-s_server interop test), insi...`
-
tls_u_recv(function)progs/tls_u/tls_u_port.c:39int tls_u_recv(int fd, char *buf, int len) -
tls_u_recv_timeout(function)progs/tls_u/tls_u_port.c:44int tls_u_recv_timeout(int fd, char *buf, int len, unsigned long ms) -
tls_u_close(function)progs/tls_u/tls_u_port.c:55void tls_u_close(int fd) -
tls_free_fd(function)progs/tls_u/tls_u_port.c:66void tls_free_fd(int fd);-- Session-aware close for multi-fetch processes (freedom follows redirects and linked stylesheets, reusing the lowest... -
tls_close(function)progs/tls_u/tls_u_port.c:67void tls_close(int fd)-- Session-aware close for multi-fetch processes (freedom follows redirects and linked stylesheets, reusing the lowest... -
tls_now_days(function)progs/tls_u/tls_u_port.c:72long tls_now_days(void) -
tls_random(function)progs/tls_u/tls_u_port.c:78void tls_random(unsigned char *out, unsigned len) -
u_raw_syscall3(function)progs/tls_u/tls_u_port.c:99static long u_raw_syscall3(long n, long a1, long a2, long a3) -
parse_quad(function)progs/tls_u/tls_u_port.c:122static int parse_quad(const char *s, unsigned *ip_out)-- Strict dotted-quad parser (clang-tidy cert-err34-c: sscanf %u has undefined overflow and accepts whitespace/sign, so... -
tls_u_resolve(function)progs/tls_u/tls_u_port.c:147int tls_u_resolve(const char *host, unsigned *ip_out) -
answer(function)progs/tls_u/tls_u_port.c:163* answer (some resolvers go IPv6-only on the first query). */ memset(&hints, 0, sizeof(hints)); -
net_dns_resolve(function)progs/tls_u/tls_u_port.c:183int net_dns_resolve(const char *host)-- freedom's resolver name: kernel DNS value semantics (u32 host order, * -1 on failure).
Next: API_p18.md
Generated offline by readmenator from commit e1e960505938. 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