Skip to content

Agent KB_headers_p5

grisun0 edited this page Oct 30, 2026 · 14 revisions

Subsystem: headers (page 5 of 6)

Previous: KB_headers_p4.md

headers/syscalls_proc.h

  • Doc: process-management syscall handlers shared with the
  • Layer: utility
  • Language: h
  • Symbols:
    • dispatcher (function, line 5) * dispatcher (kernel/syscalls.c). These handlers touch only scheduler * state (current_pid, procs[], do_* /...
    • sys_minios_nice (function, line 12) long sys_minios_nice(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_minios_clone (function, line 13) long sys_minios_clone(long flags, long newsp, long a3, long a4, long a5, long a6);
    • sys_minios_thread_spawn (function, line 14) long sys_minios_thread_spawn(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_yield (function, line 15) long sys_linux_yield(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_getpid (function, line 16) long sys_linux_getpid(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_gettid (function, line 17) long sys_linux_gettid(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_fork (function, line 18) long sys_linux_fork(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_clone (function, line 19) long sys_linux_clone(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_vfork (function, line 20) long sys_linux_vfork(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_execve (function, line 21) long sys_linux_execve(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_exit (function, line 22) long sys_linux_exit(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_wait4 (function, line 23) long sys_linux_wait4(long a1, long a2, long a3, long a4, long a5, long a6);
    • sys_linux_kill (function, line 24) long sys_linux_kill(long a1, long a2, long a3, long a4, long a5, long a6);
    • linux_signal_fatal (function, line 31) int linux_signal_fatal(long sig);
    • do_proc_exit (function, line 34) long do_proc_exit(long code);
    • SYSCALLS_PROC_H (macro, line 2) #define SYSCALLS_PROC_H
    • LINUX_SIGNAL_MAX (macro, line 28) #define LINUX_SIGNAL_MAX
    • LINUX_SIGNAL_EXIT_BASE (macro, line 29) #define LINUX_SIGNAL_EXIT_BASE
    • LINUX_EXIT_STATUS_MASK (macro, line 30) #define LINUX_EXIT_STATUS_MASK
  • Imported by: kernel/proc_sec.c, kernel/syscalls.c, kernel/syscalls_proc.c

headers/tick.h

  • Doc: Docstring: Tick listener bus contract.
  • Layer: utility
  • Language: h
  • Symbols:
    • tick_config_t (struct, line 22)
    • tick_reset (function, line 47) void tick_reset(void);
    • tick_register_audio (function, line 54) int tick_register_audio(tick_fn_t fn, void *ctx);
    • tick_register_desktop (function, line 61) int tick_register_desktop(tick_fn_t fn, void *ctx);
    • tick_register_usb (function, line 69) int tick_register_usb(tick_fn_t fn, void *ctx);
    • tick_run_usb (function, line 72) void tick_run_usb(void);
    • tick_run_audio (function, line 75) void tick_run_audio(void);
    • tick_run_desktop (function, line 78) void tick_run_desktop(void);
    • tick_audio_count (function, line 81) int tick_audio_count(void);
    • tick_desktop_count (function, line 84) int tick_desktop_count(void);
    • tick_desktop_due (function, line 92) int tick_desktop_due(unsigned long long ticks, unsigned interval);
    • TICK_H (macro, line 19) #define TICK_H
    • TICK_MAX_AUDIO_LISTENERS (macro, line 29) #define TICK_MAX_AUDIO_LISTENERS
    • TICK_MAX_DESKTOP_LISTENERS (macro, line 31) #define TICK_MAX_DESKTOP_LISTENERS
    • TICK_MAX_USB_LISTENERS (macro, line 34) #define TICK_MAX_USB_LISTENERS
    • TICK_CONFIG_DEFAULT (macro, line 37) #define TICK_CONFIG_DEFAULT
  • Imported by: kernel/sched.c, kernel/tick.c, tests/test_tick.c

headers/tlb.h

  • Doc: cross-CPU TLB shootdown (docs/spec/smp-sched.md, "TLB shootdown").
  • Layer: utility
  • Language: h
  • Symbols:
    • space (function, line 4) * while that CPU keeps running the same address space (CLONE_VM threads on * an AP). Callers clear the PTEs, flush...
    • tlb_shootdown_count (function, line 22) unsigned long tlb_shootdown_count(void);
    • tlb_shootdown_timeouts (function, line 23) unsigned long tlb_shootdown_timeouts(void);
    • tlb_nmi_entry (function, line 26) void tlb_nmi_entry(void);
    • tlb_shoot_acks (variable, line 27) extern volatile unsigned int tlb_shoot_acks;
    • TLB_H (macro, line 10) #define TLB_H
    • TLB_RELEASE_BATCH (macro, line 13) #define TLB_RELEASE_BATCH
  • Imported by: kernel/mm/cow.c, kernel/mm/paging.c, kernel/mm/tlb.c, kernel/sched.c, kernel/shell.c, kernel/syscalls.c

headers/tls.h

  • Doc: tls_free_fd: Kernel built without the TLS engine (net/tls*.c unlinked): no session can ever...
  • Layer: utility
  • Language: h
  • Symbols:
    • tls_root (struct, line 70)
    • sha256_ctx (struct, line 79)
    • tls_pubkey (struct, line 85)
    • tls_session (struct, line 95)
    • tls_free_fd (function, line 293) static inline void tls_free_fd(int fd)
    • sha256_init (function, line 168) void sha256_init(struct sha256_ctx *c);
    • sha256_update (function, line 169) void sha256_update(struct sha256_ctx *c, const unsigned char *data, unsigned len);
    • sha256_final (function, line 170) void sha256_final(struct sha256_ctx *c, unsigned char out[32]);
    • sha256 (function, line 171) void sha256(const unsigned char *data, unsigned len, unsigned char out[32]);
    • sha384 (function, line 172) void sha384(const unsigned char *data, unsigned len, unsigned char out[48]);
    • hmac_sha256 (function, line 174) void hmac_sha256(const unsigned char *key, unsigned klen, const unsigned char *data, unsigned dlen, unsigned char...
    • tls_prf (function, line 179) void tls_prf(const unsigned char *secret, unsigned secret_len, const char *label, const unsigned char *seed...
    • aes128_encrypt_block (function, line 184) void aes128_encrypt_block(const unsigned char key[16], const unsigned char in[16], unsigned char out[16]);
    • aes128_gcm_seal (function, line 189) int aes128_gcm_seal(const unsigned char key[16], const unsigned char salt[4], unsigned long long seq, const unsigned...
    • aes128_gcm_open (function, line 197) int aes128_gcm_open(const unsigned char key[16], const unsigned char salt[4], unsigned long long seq, const unsigned...
    • aes128_gcm_seal_core (function, line 208) int aes128_gcm_seal_core(const unsigned char key[16], const unsigned char nonce[12], const unsigned char *aad...
    • aes128_gcm_open_core (function, line 213) int aes128_gcm_open_core(const unsigned char key[16], const unsigned char nonce[12], const unsigned char *aad...
    • p256_scalar_mult (function, line 222) int p256_scalar_mult(const unsigned char scalar[32], const unsigned char qx[32], const unsigned char qy[32]...
    • p384_scalar_mult (function, line 225) int p384_scalar_mult(const unsigned char scalar[48], const unsigned char qx[48], const unsigned char qy[48]...
    • p256_ecdh (function, line 231) int p256_ecdh(const unsigned char priv[32], const unsigned char peer_x[32], const unsigned char peer_y[32], unsigned...
    • p256_point_valid (function, line 236) int p256_point_valid(const unsigned char x[32], const unsigned char y[32]);
    • p256_pub (function, line 237) int p256_pub(const unsigned char priv[32], unsigned char x[32], unsigned char y[32]);
    • p256_scalar_valid (function, line 239) int p256_scalar_valid(const unsigned char scalar[32]);
    • ecdsa_verify (function, line 243) int ecdsa_verify(int curve, const unsigned char pub_x[], const unsigned char pub_y[], const unsigned char digest[]...
    • rsa_pkcs1_verify_sha256 (function, line 249) int rsa_pkcs1_verify_sha256(const unsigned char *n, unsigned n_len, const unsigned char *e, unsigned e_len, const...
    • rsa_pkcs1_verify_sha384 (function, line 253) int rsa_pkcs1_verify_sha384(const unsigned char *n, unsigned n_len, const unsigned char *e, unsigned e_len, const...
    • tls_x509_parse_pubkey (function, line 261) int tls_x509_parse_pubkey(const unsigned char *der, unsigned len, struct tls_pubkey *pk);
    • now (function, line 267) * window against now (days since epoch). Returns 0 on success. */ int tls_x509_verify_chain(const unsigned char...
    • tls_handshake (function, line 277) int tls_handshake(int fd, const char *host);
    • tls_send (function, line 280) int tls_send(int fd, const char *buf, int len);
    • tls_recv (function, line 284) int tls_recv(int fd, char *buf, int len);
    • tls_sys_handshake (function, line 297) long tls_sys_handshake(long fd, long host);
    • tls_sys_send (function, line 298) long tls_sys_send(long fd, long buf, long len);
    • tls_sys_recv (function, line 299) long tls_sys_recv(long fd, long buf, long len);
    • tls_roots (variable, line 75) extern const struct tls_root tls_roots[TLS_ROOT_COUNT];
    • TLS_H (macro, line 2) #define TLS_H
    • TLS_CT_CCS (macro, line 7) #define TLS_CT_CCS
    • TLS_CT_ALERT (macro, line 8) #define TLS_CT_ALERT
    • TLS_CT_HANDSHAKE (macro, line 9) #define TLS_CT_HANDSHAKE
    • TLS_CT_APPDATA (macro, line 10) #define TLS_CT_APPDATA
    • TLS_REC_HEADER (macro, line 11) #define TLS_REC_HEADER
    • TLS_REC_MAX (macro, line 12) #define TLS_REC_MAX
    • TLS_MSG_MAX (macro, line 13) #define TLS_MSG_MAX
    • TLS_PLAIN_MAX (macro, line 14) #define TLS_PLAIN_MAX
    • TLS_VERSION_TLS12 (macro, line 15) #define TLS_VERSION_TLS12
    • TLS_VERSION_TLS10 (macro, line 16) #define TLS_VERSION_TLS10
    • TLS_HS_CLIENT_HELLO (macro, line 19) #define TLS_HS_CLIENT_HELLO
    • TLS_HS_SERVER_HELLO (macro, line 20) #define TLS_HS_SERVER_HELLO
    • TLS_HS_CERTIFICATE (macro, line 21) #define TLS_HS_CERTIFICATE
    • TLS_HS_SERVER_KEY_EXCHANGE (macro, line 22) #define TLS_HS_SERVER_KEY_EXCHANGE
    • TLS_HS_SERVER_HELLO_DONE (macro, line 23) #define TLS_HS_SERVER_HELLO_DONE
    • TLS_HS_CLIENT_KEY_EXCHANGE (macro, line 24) #define TLS_HS_CLIENT_KEY_EXCHANGE
    • TLS_HS_FINISHED (macro, line 25) #define TLS_HS_FINISHED
    • TLS_CSUITE_ECDHE_RSA_AES128GCM (macro, line 28) #define TLS_CSUITE_ECDHE_RSA_AES128GCM
    • TLS_CSUITE_ECDHE_ECDSA_AES128GCM (macro, line 29) #define TLS_CSUITE_ECDHE_ECDSA_AES128GCM
    • TLS_SIG_RSA_PKCS1_SHA256 (macro, line 32) #define TLS_SIG_RSA_PKCS1_SHA256
    • TLS_SIG_ECDSA_P256_SHA256 (macro, line 33) #define TLS_SIG_ECDSA_P256_SHA256
    • TLS_SIG_ECDSA_P384_SHA384 (macro, line 34) #define TLS_SIG_ECDSA_P384_SHA384
    • TLS_GROUP_SECP256R1 (macro, line 37) #define TLS_GROUP_SECP256R1
    • TLS_EXT_SERVER_NAME (macro, line 40) #define TLS_EXT_SERVER_NAME
    • TLS_EXT_SUPPORTED_GROUPS (macro, line 41) #define TLS_EXT_SUPPORTED_GROUPS
    • TLS_EXT_EC_POINT_FORMATS (macro, line 42) #define TLS_EXT_EC_POINT_FORMATS
    • TLS_EXT_SIGNATURE_ALGS (macro, line 43) #define TLS_EXT_SIGNATURE_ALGS
    • TLS_ALERT_LEVEL_WARNING (macro, line 46) #define TLS_ALERT_LEVEL_WARNING
    • TLS_ALERT_LEVEL_FATAL (macro, line 47) #define TLS_ALERT_LEVEL_FATAL
    • TLS_HS_TIMEOUT_MS (macro, line 50) #define TLS_HS_TIMEOUT_MS
    • TLS_READ_TIMEOUT_MS (macro, line 51) #define TLS_READ_TIMEOUT_MS
    • TLS_HOST_MAX (macro, line 54) #define TLS_HOST_MAX
    • TLS_CHAIN_MAX (macro, line 57) #define TLS_CHAIN_MAX
    • TLS_CERT_MAX (macro, line 58) #define TLS_CERT_MAX
    • TLS_BN_4096_WORDS (macro, line 62) #define TLS_BN_4096_WORDS
    • TLS_BN_384_WORDS (macro, line 63) #define TLS_BN_384_WORDS
    • TLS_ROOT_COUNT (macro, line 68) #define TLS_ROOT_COUNT
  • Imported by: net/net.c, net/tls.c, net/tls_crypto.c, net/tls_x509.c, progs/tls_u/tls_u_main.c, tls_test.c

headers/tls_port.h

  • Doc: Portability shim between the MiniOS kernel and the host-side test
  • Layer: utility
  • Language: h
  • Symbols:
    • tls_now_days (function, line 40) static inline long tls_now_days(void)
    • tls_random (function, line 44) static inline void tls_random(unsigned char *out, unsigned len)
    • these (function, line 29) * of these (tls_test.c). */ extern int tls_test_send(int fd, const char *buf, int len);
    • tls_test_recv (function, line 31) extern int tls_test_recv(int fd, char *buf, int len);
    • tls_test_recv_timeout (function, line 32) extern int tls_test_recv_timeout(int fd, char *buf, int len, unsigned long ms);
    • tls_test_close (function, line 33) extern void tls_test_close(int fd);
    • sockets (function, line 62) * sockets (glibc maps socket/connect/send/recv/poll onto the MiniOS * Linux ABI numbers the kernel implements);
    • gettimeofday (function, line 64) * gettimeofday(96) and entropy from /dev/urandom with a time/pid * fallback. Session slots are indexed by raw OS fd...
    • tls_u_recv (function, line 82) int tls_u_recv(int fd, char *buf, int len);
    • tls_u_recv_timeout (function, line 83) int tls_u_recv_timeout(int fd, char *buf, int len, unsigned long ms);
    • tls_u_close (function, line 84) void tls_u_close(int fd);
    • syscall (function, line 95) * the MiniOS DNS syscall (200, invoked sig-0-safe). 0 on success. */ int tls_u_resolve(const char *host, unsigned...
    • TLS_PORT_H (macro, line 2) #define TLS_PORT_H
    • TLS_FD_MAX (macro, line 18) #define TLS_FD_MAX
    • TLS_PRINTF (macro, line 20) #define TLS_PRINTF
    • TLS_MALLOC (macro, line 21) #define TLS_MALLOC(n)
    • TLS_FREE (macro, line 22) #define TLS_FREE(p)
    • TLS_MEMCPY (macro, line 23) #define TLS_MEMCPY
    • TLS_MEMSET (macro, line 24) #define TLS_MEMSET
    • TLS_MEMCMP (macro, line 25) #define TLS_MEMCMP
    • TLS_STRLEN (macro, line 26) #define TLS_STRLEN
    • TLS_SEND (macro, line 35) #define TLS_SEND
    • TLS_RECV (macro, line 36) #define TLS_RECV
    • TLS_RECV_TIMEOUT (macro, line 37) #define TLS_RECV_TIMEOUT
    • TLS_CLOSE (macro, line 38) #define TLS_CLOSE
    • TLS_FD_MAX (macro, line 71) #define TLS_FD_MAX
    • TLS_PRINTF (macro, line 73) #define TLS_PRINTF
    • TLS_MALLOC (macro, line 74) #define TLS_MALLOC(n)
    • TLS_FREE (macro, line 75) #define TLS_FREE(p)
    • TLS_MEMCPY (macro, line 76) #define TLS_MEMCPY
    • TLS_MEMSET (macro, line 77) #define TLS_MEMSET
    • TLS_MEMCMP (macro, line 78) #define TLS_MEMCMP
    • TLS_STRLEN (macro, line 79) #define TLS_STRLEN
    • TLS_SEND (macro, line 86) #define TLS_SEND
    • TLS_RECV (macro, line 87) #define TLS_RECV
    • TLS_RECV_TIMEOUT (macro, line 88) #define TLS_RECV_TIMEOUT
    • TLS_CLOSE (macro, line 89) #define TLS_CLOSE
    • TLS_PRINTF (macro, line 103) #define TLS_PRINTF
    • TLS_MALLOC (macro, line 104) #define TLS_MALLOC(n)
    • TLS_FREE (macro, line 105) #define TLS_FREE(p)
    • TLS_MEMCPY (macro, line 106) #define TLS_MEMCPY
    • TLS_MEMSET (macro, line 107) #define TLS_MEMSET
    • TLS_MEMCMP (macro, line 108) #define TLS_MEMCMP
    • TLS_STRLEN (macro, line 109) #define TLS_STRLEN
    • TLS_SEND (macro, line 111) #define TLS_SEND
    • TLS_RECV (macro, line 112) #define TLS_RECV
    • TLS_RECV_TIMEOUT (macro, line 113) #define TLS_RECV_TIMEOUT
    • TLS_CLOSE (macro, line 114) #define TLS_CLOSE
    • TLS_FD_MAX (macro, line 115) #define TLS_FD_MAX
  • Depends on: headers/kernel.h, headers/net.h, kernel/string.c, kernel/time.c
  • Imported by: net/tls.c, net/tls_crypto.c, net/tls_x509.c, progs/tls_u/tls_u_main.c, tls_test.c

headers/tls_roots.h

  • Doc: embedded CA roots (DER), generated by mkroots.sh.
  • Layer: utility
  • Language: h
  • Imported by: net/tls.c

headers/vga_fb.h

  • Doc: Framebuffer geometry.
  • Layer: utility
  • Language: h
  • Symbols:
    • mouse_state_t (struct, line 159)
    • fb_bytes_per_pixel (function, line 30) int fb_bytes_per_pixel(void);
    • vga_fb_read_rgb (function, line 34) unsigned long vga_fb_read_rgb(int x, int y);
    • vga_fb_set_gfx_palette (function, line 38) void vga_fb_set_gfx_palette(const unsigned char *pal);
    • vga_fb_boot_config (function, line 40) void vga_fb_boot_config(void);
    • SYS_DOOM_FRAME (function, line 44) * and calls SYS_DOOM_FRAME (211) to have the kernel composite it onto the * desktop at its native resolution, so the...
    • SYS_NK_FRAME (function, line 63) * SYS_NK_FRAME (220);
    • vga_fb_blit_nk_window (function, line 75) void vga_fb_blit_nk_window(void);
    • vga_fb_blit_nk_rgb_window (function, line 76) void vga_fb_blit_nk_rgb_window(void);
    • below (function, line 99) * file below (800x600 RGB PNG on the ramdisk, produced by * tools/gen_desktop_pngs.py) is decoded once per boot via...
    • vga_fb_init (function, line 177) void vga_fb_init(void);
    • vga_fb_term_ring_init (function, line 182) void vga_fb_term_ring_init(void);
    • vga_fb_term_feed (function, line 183) void vga_fb_term_feed(const char *line, int len);
    • vga_fb_history_page (function, line 184) void vga_fb_history_page(int dir);
    • vga_fb_clear (function, line 185) void vga_fb_clear(void);
    • vga_fb_pixel (function, line 186) void vga_fb_pixel(int x, int y, uint8_t color);
    • vga_fb_rect (function, line 187) void vga_fb_rect(int x, int y, int w, int h, uint8_t color);
    • vga_fb_pixel_rgb (function, line 189) void vga_fb_pixel_rgb(int x, int y, uint8_t r, uint8_t g, uint8_t b);
    • vga_fb_rect_rgb (function, line 190) void vga_fb_rect_rgb(int x, int y, int w, int h, uint8_t r, uint8_t g, uint8_t b);
    • vga_fb_char (function, line 191) void vga_fb_char(int col, int row, char c, uint8_t fg, uint8_t bg);
    • vga_fb_str (function, line 192) void vga_fb_str(int col, int row, const char *s, uint8_t fg, uint8_t bg);
    • vga_fb_putc_term (function, line 193) void vga_fb_putc_term(char c);
    • vga_fb_puts_term (function, line 194) void vga_fb_puts_term(const char *s);
    • term_clear (function, line 195) void term_clear(void);
    • vga_fb_text_cursor (function, line 196) void vga_fb_text_cursor(int col);
    • vga_fb_hide_text_cursor (function, line 197) void vga_fb_hide_text_cursor(void);
    • fb_read_packed (function, line 200) unsigned long fb_read_packed(int x, int y);
    • fb_write_packed (function, line 201) void fb_write_packed(int x, int y, unsigned long rgb);
    • vga_fb_draw_desktop (function, line 202) void vga_fb_draw_desktop(void);
    • vga_fb_toggle_fullscreen (function, line 203) void vga_fb_toggle_fullscreen(void);
    • vga_fb_move_terminal (function, line 204) void vga_fb_move_terminal(int dx, int dy);
    • vga_fb_snap_window (function, line 205) void vga_fb_snap_window(int zone);
    • vga_fb_resize (function, line 206) void vga_fb_resize(int dcols, int drows);
    • vga_fb_reset_default (function, line 207) void vga_fb_reset_default(void);
    • vga_fb_toggle_minimize (function, line 208) void vga_fb_toggle_minimize(void);
    • vga_fb_is_minimized (function, line 209) int vga_fb_is_minimized(void);
    • vga_fb_is_fullscreen (function, line 210) int vga_fb_is_fullscreen(void);
    • vga_fb_gfx_set_fullscreen (function, line 218) int vga_fb_gfx_set_fullscreen(int on);
    • vga_fb_gfx_set_hidden (function, line 219) int vga_fb_gfx_set_hidden(int hide);
    • vga_fb_gfx_view_name (function, line 220) const char *vga_fb_gfx_view_name(void);
    • vga_fb_gfx_origin (function, line 221) void vga_fb_gfx_origin(int *x, int *y);
    • vga_fb_gfx_map_mouse (function, line 222) void vga_fb_gfx_map_mouse(int *x, int *y);
    • fb_write_row_packed (function, line 224) void fb_write_row_packed(int x, int y, const unsigned int *src, int n);
    • fb_read_row_packed (function, line 225) void fb_read_row_packed(int x, int y, unsigned int *dst, int n);
    • vga_fb_close_active (function, line 226) int vga_fb_close_active(void);
    • vga_fb_focus_next (function, line 230) void vga_fb_focus_next(void);
    • vga_fb_focus_id (function, line 231) int vga_fb_focus_id(int id);
    • vga_fb_focus_get (function, line 232) int vga_fb_focus_get(void);
    • vga_fb_focus_event (function, line 235) const wm_notify_event_t *vga_fb_focus_event(void);
    • vga_fb_focus_report (function, line 236) void vga_fb_focus_report(int before, int source);
    • vga_fb_theme_name (function, line 237) int vga_fb_theme_name(char *dst, int cap);
    • vga_fb_ps2_owner (function, line 243) int vga_fb_ps2_owner(int pid);
    • vga_fb_nterms_get (function, line 244) int vga_fb_nterms_get(void);
    • vga_fb_term_split (function, line 245) int vga_fb_term_split(void);
    • vga_fb_term_close_focused (function, line 246) int vga_fb_term_close_focused(void);
    • vga_fb_tile_all (function, line 247) void vga_fb_tile_all(void);
    • vga_fb_layout_set (function, line 248) int vga_fb_layout_set(int mode);
    • vga_fb_layout_cycle (function, line 249) void vga_fb_layout_cycle(void);
    • vga_fb_layout_get (function, line 250) int vga_fb_layout_get(void);
    • vga_fb_layout_name (function, line 251) const char *vga_fb_layout_name(void);
    • vga_fb_list_windows (function, line 252) void vga_fb_list_windows(void);
    • wm_close_pending (function, line 253) int wm_close_pending(void);
    • wm_clear_close (function, line 254) void wm_clear_close(void);
    • wm_gfx_mode_active (function, line 255) int wm_gfx_mode_active(void);
    • vga_fb_mouse_tick (function, line 256) void vga_fb_mouse_tick(void);
    • vga_fb_wait_tick (function, line 260) void vga_fb_wait_tick(void);
    • vga_fb_mouse_init (function, line 261) void vga_fb_mouse_init(void);
    • dock_bounce_counts (function, line 264) void dock_bounce_counts(unsigned long *kicks, unsigned long *paints);
    • dock_click_count (function, line 265) void dock_click_count(unsigned long *edges);
    • dock_pending_active (function, line 266) int dock_pending_active(void);
    • pixels (function, line 270) * are heap buffers of packed pixels (fb_read_packed order), 0 on OOM or a * degenerate rect. A disabled effect or a...
    • vga_fx_enabled (function, line 274) int vga_fx_enabled(void);
    • vga_fx_snap_rect (function, line 275) unsigned int *vga_fx_snap_rect(int x, int y, int w, int h);
    • vga_fx_restore_rect (function, line 276) void vga_fx_restore_rect(int x, int y, int w, int h, const unsigned int *buf);
    • vga_fx_free (function, line 277) void vga_fx_free(unsigned int *buf);
    • vga_fx_melt_rect (function, line 278) void vga_fx_melt_rect(int x, int y, int w, int h, const unsigned int *oldb, const unsigned int *newb);
    • vga_fx_melt_from_black (function, line 280) void vga_fx_melt_from_black(int x, int y, int w, int h, const unsigned int *newb);
    • vga_fx_burn_rect (function, line 281) void vga_fx_burn_rect(int x, int y, int w, int h, const unsigned int *oldb, const unsigned int *newb, int stride);
    • vga_fx_genie_rect (function, line 283) void vga_fx_genie_rect(int wx, int wy, int ww, int wh, int tx, int ty, const unsigned int *bgb, const unsigned int...
    • vga_fb_set_gfx_mode (function, line 297) void vga_fb_set_gfx_mode(int on);
    • fb_width (variable, line 23) extern int fb_width;
    • fb_height (variable, line 24) extern int fb_height;
    • fb_pitch (variable, line 25) extern int fb_pitch;
    • fb_bpp (variable, line 26) extern int fb_bpp;
    • fb_phys_base (variable, line 27) extern unsigned long fb_phys_base;
    • gfx_win_title (variable, line 50) extern const char *gfx_win_title;
    • gfx_frames_composited (variable, line 59) extern unsigned long gfx_frames_composited;
    • nk_win_y (variable, line 79) extern int nk_win_x, nk_win_y;
    • term_rows (variable, line 156) extern int term_x, term_y, term_cols, term_rows;
    • mouse_state (variable, line 167) extern mouse_state_t mouse_state;
    • fx_melts_completed (variable, line 288) extern unsigned long fx_melts_completed;
    • fx_burns_completed (variable, line 289) extern unsigned long fx_burns_completed;
    • fx_genies_completed (variable, line 290) extern unsigned long fx_genies_completed;
    • vga_fb_active (variable, line 299) extern int vga_fb_active;
    • VGA_FB_H (macro, line 2) #define VGA_FB_H
    • FB_ADDR (macro, line 22) #define FB_ADDR
    • DOOM_W (macro, line 46) #define DOOM_W
    • DOOM_H (macro, line 47) #define DOOM_H
    • DOOM_BACKBUF_ADDR (macro, line 48) #define DOOM_BACKBUF_ADDR
    • GFX_TITLE_DEFAULT (macro, line 52) #define GFX_TITLE_DEFAULT
    • NK_W (macro, line 67) #define NK_W
    • NK_H (macro, line 68) #define NK_H
    • NK_BACKBUF_ADDR (macro, line 69) #define NK_BACKBUF_ADDR
    • NK_RGB_ADDR (macro, line 73) #define NK_RGB_ADDR
    • NK_RGB_BYTES (macro, line 74) #define NK_RGB_BYTES
    • COL_BLACK (macro, line 82) #define COL_BLACK
    • COL_BG (macro, line 83) #define COL_BG
    • COL_TASKBAR (macro, line 84) #define COL_TASKBAR
    • COL_TASKBAR_TXT (macro, line 85) #define COL_TASKBAR_TXT
    • COL_TITLEBAR (macro, line 86) #define COL_TITLEBAR
    • COL_TITLE_TXT (macro, line 87) #define COL_TITLE_TXT
    • COL_TERMINAL (macro, line 88) #define COL_TERMINAL
    • COL_TERM_TXT (macro, line 89) #define COL_TERM_TXT
    • COL_TERM_CUR (macro, line 90) #define COL_TERM_CUR
    • COL_BORDER (macro, line 91) #define COL_BORDER
    • COL_WHITE (macro, line 92) #define COL_WHITE
    • COL_SHADOW (macro, line 93) #define COL_SHADOW
    • COL_HIGHLIGHT (macro, line 94) #define COL_HIGHLIGHT
    • COL_SCROLLBAR (macro, line 95) #define COL_SCROLLBAR
    • COL_SCROLL_THUMB (macro, line 96) #define COL_SCROLL_THUMB
    • WALLPAPER_PATH (macro, line 103) #define WALLPAPER_PATH
    • WALL_PAL_BASE (macro, line 104) #define WALL_PAL_BASE
    • WALL_PAL_SIZE (macro, line 105) #define WALL_PAL_SIZE
    • FONT_W (macro, line 107) #define FONT_W
    • FONT_H (macro, line 108) #define FONT_H
    • TERM_MAX_COLS (macro, line 113) #define TERM_MAX_COLS
    • TERM_MAX_ROWS (macro, line 114) #define TERM_MAX_ROWS
    • TASKBAR_H (macro, line 117) #define TASKBAR_H
    • TASKBAR_PAD (macro, line 118) #define TASKBAR_PAD
    • TASKBAR_CLOCK_CH (macro, line 119) #define TASKBAR_CLOCK_CH
    • TASKBAR_VOL_CH (macro, line 120) #define TASKBAR_VOL_CH
    • TASKBAR_VOL_STEP (macro, line 121) #define TASKBAR_VOL_STEP
    • TASKBAR_ICON_W (macro, line 122) #define TASKBAR_ICON_W
    • TASKBAR_BTN_W (macro, line 123) #define TASKBAR_BTN_W
    • TASKBAR_KBD_CH (macro, line 125) #define TASKBAR_KBD_CH
    • TASKBAR_KBD_W (macro, line 126) #define TASKBAR_KBD_W
    • TASKBAR_THEME_CH (macro, line 128) #define TASKBAR_THEME_CH
    • TASKBAR_THEME_W (macro, line 129) #define TASKBAR_THEME_W
    • TILING_LEFT (macro, line 132) #define TILING_LEFT
    • TILING_RIGHT (macro, line 133) #define TILING_RIGHT
    • TILING_TOP (macro, line 134) #define TILING_TOP
    • TILING_BOTTOM (macro, line 135) #define TILING_BOTTOM
    • TILING_TOP_LEFT (macro, line 136) #define TILING_TOP_LEFT
    • TILING_TOP_RIGHT (macro, line 137) #define TILING_TOP_RIGHT
    • TILING_BOTTOM_LEFT (macro, line 138) #define TILING_BOTTOM_LEFT
    • TILING_BOTTOM_RIGHT (macro, line 139) #define TILING_BOTTOM_RIGHT
    • SCROLLBAR_W (macro, line 142) #define SCROLLBAR_W
    • SCROLLBAR_PAD (macro, line 143) #define SCROLLBAR_PAD
    • WM_BTN_W (macro, line 148) #define WM_BTN_W
    • WM_BTN_H (macro, line 149) #define WM_BTN_H
    • WM_BTN_PAD (macro, line 150) #define WM_BTN_PAD
    • WM_BTN_MIN (macro, line 151) #define WM_BTN_MIN
    • WM_BTN_MAX (macro, line 152) #define WM_BTN_MAX
    • WM_BTN_CLOSE (macro, line 153) #define WM_BTN_CLOSE
    • SB_MAX_LINES (macro, line 173) #define SB_MAX_LINES
    • SB_LINE_MAX (macro, line 174) #define SB_LINE_MAX
    • WM_FOCUS_GFX (macro, line 229) #define WM_FOCUS_GFX
  • Depends on: headers/wm_notify.h, progs/minios_abi.h
  • Imported by: drivers/kbd.c, drivers/usbhid.c, kernel.c, kernel/console.c, kernel/console_in.c, kernel/exec.c, kernel/loader.c, kernel/minifetch.c, kernel/mm/cow.c, kernel/mm/paging.c, kernel/panic.c, kernel/sched.c, kernel/shell.c, kernel/spawn.c, kernel/syscalls.c, kernel/vga_cursor.c, kernel/vga_fb.c, kernel/vga_fx.c, progs/src/freedom_wl.c

headers/vga_fx.h

  • Doc: Docstring: DOOM-melt desktop effect contract for MiniOS.
  • Layer: utility
  • Language: h
  • Symbols:
    • vga_fx_config_t (struct, line 16)
    • vga_fx_motion_t (struct, line 155)
    • vga_fx_rand (function, line 30) static inline unsigned long vga_fx_rand(unsigned long *s)
    • vga_fx_init_cols (function, line 47) static inline int vga_fx_init_cols(const vga_fx_config_t *cfg, int *cols, int w)
    • vga_fx_advance (function, line 71) static inline int vga_fx_advance(const vga_fx_config_t *cfg, int *cols, int w, int h)
    • vga_fx_front (function, line 97) static inline int vga_fx_front(int col_y, int h)
    • vga_fx_clamp_rect (function, line 109) static inline int vga_fx_clamp_rect(int *x, int *y, int *w, int *h, int fb_w, int fb_h)
    • vga_fx_smooth (function, line 177) static inline int vga_fx_smooth(int q)
    • vga_fx_hash2 (function, line 191) static inline unsigned long vga_fx_hash2(int x, int y, unsigned long seed)
    • vga_fx_noise (function, line 204) static inline int vga_fx_noise(int x, int y, int cell, unsigned long seed)
    • vga_fx_burn_span (function, line 230) static inline int vga_fx_burn_span(const vga_fx_motion_t *cfg)
    • vga_fx_burn_threshold (function, line 241) static inline int vga_fx_burn_threshold(const vga_fx_motion_t *cfg, int lx, int ly, int w, int h)
    • vga_fx_burn_pixel (function, line 260) static inline int vga_fx_burn_pixel(const vga_fx_motion_t *cfg, int thr, int prog, int *heat)
    • vga_fx_fire_color (function, line 289) static inline unsigned int vga_fx_fire_color(int heat)
    • vga_fx_mix (function, line 319) static inline unsigned int vga_fx_mix(unsigned int a, unsigned int b, int alpha)
    • vga_fx_burn_compose (function, line 340) static inline unsigned int vga_fx_burn_compose(unsigned int base, int heat)
    • longer (function, line 353) `* longer (the lag), every row follows the same smoothstep toward the
  • target and narrows to gen...`
  • VGA_FX_H (macro, line 13) #define VGA_FX_H
  • VGA_FX_CONFIG_DEFAULT (macro, line 24) #define VGA_FX_CONFIG_DEFAULT
  • VGA_FX_COLS_MAX (macro, line 27) #define VGA_FX_COLS_MAX
  • VGA_FX_PROG_ONE (macro, line 136) #define VGA_FX_PROG_ONE
  • VGA_FX_FRAME_MS (macro, line 140) #define VGA_FX_FRAME_MS
  • VGA_FX_HEAT_STEP (macro, line 143) #define VGA_FX_HEAT_STEP
  • VGA_FX_HEAT_MAX (macro, line 146) #define VGA_FX_HEAT_MAX
  • VGA_FX_MOTION_DEFAULT (macro, line 173) #define VGA_FX_MOTION_DEFAULT
  • Imported by: kernel/vga_fb.c, kernel/vga_fx.c, tests/test_fx.c

headers/vma.h

  • Doc: vma_ctx_t: Per-process VMA context (multitask foundation): every non-CLONE_VM process owns its...
  • Layer: utility
  • Language: h
  • Symbols:
    • vma_node (struct, line 21)
    • vma_ctx_t (struct, line 44)
    • vma_view_t (struct, line 76)
    • base (type_alias, line 20) typedef struct vma_node { unsigned long base;
    • vma_tree_init (function, line 64) void vma_tree_init(void);
    • vma_tree_insert (function, line 65) vma_node_t *vma_tree_insert(vma_node_t **root, unsigned long base, unsigned long len);
    • vma_tree_find (function, line 66) vma_node_t *vma_tree_find(vma_node_t *root, unsigned long base);
    • vma_tree_find_containing (function, line 67) vma_node_t *vma_tree_find_containing(vma_node_t *root, unsigned long va);
    • vma_tree_delete (function, line 68) int vma_tree_delete(vma_node_t **root, unsigned long base);
    • vma_ctx_init (function, line 69) void vma_ctx_init(vma_ctx_t *c, vma_node_t *pool);
    • vma_ctx_bind (function, line 70) void vma_ctx_bind(vma_ctx_t *c);
    • vma_ctx_save (function, line 71) void vma_ctx_save(vma_ctx_t *c);
    • vma_view_save (function, line 86) void vma_view_save(vma_view_t *v);
    • vma_view_load (function, line 87) void vma_view_load(const vma_view_t *v);
    • vma_ctx_alloc (function, line 90) vma_ctx_t *vma_ctx_alloc(void);
    • vma_ctx_free (function, line 91) void vma_ctx_free(vma_ctx_t *c);
    • VMA_NIL (variable, line 55) extern vma_node_t *VMA_NIL;
    • vma_live_root (variable, line 56) extern vma_node_t *vma_live_root;
    • vma_free_root (variable, line 57) extern vma_node_t *vma_free_root;
    • vma_pool (variable, line 58) extern vma_node_t vma_pool[VMA_MAX];
    • vma_pool_n (variable, line 59) extern int vma_pool_n;
    • vma_spare (variable, line 60) extern vma_node_t *vma_spare;
    • vma_pool_ptr (variable, line 61) extern vma_node_t *vma_pool_ptr;
    • vma_legacy (variable, line 62) extern vma_ctx_t vma_legacy;
    • VMA_H (macro, line 2) #define VMA_H
    • VMA_MAX (macro, line 31) #define VMA_MAX
  • Imported by: headers/kernel.h, headers/sched.h, headers/spawn.h, kernel/spawn.c, tests/test_fault.c, tests/test_vma.c, tests/test_vma_bench.c, vma.c

headers/wm_chrome.h

  • Doc: Docstring: Window chrome pixel math for the MiniOS desktop.
  • Layer: utility
  • Language: h
  • Symbols:
    • wm_chrome_config_t (struct, line 18)
    • wm_chrome_isqrt (function, line 41) static inline unsigned long wm_chrome_isqrt(unsigned long v)
    • wm_chrome_clamp (function, line 61) static inline int wm_chrome_clamp(int v)
    • wm_chrome_blend_channel (function, line 67) static inline int wm_chrome_blend_channel(int dst, int src, int alpha)
    • wm_chrome_blend (function, line 76) static inline unsigned long wm_chrome_blend(unsigned long dst, unsigned long src, int alpha)
    • wm_chrome_shift (function, line 85) static inline unsigned long wm_chrome_shift(unsigned long px, int delta)
    • wm_chrome_gradient (function, line 95) static inline unsigned long wm_chrome_gradient(unsigned long base, int row, int span, ...
    • wm_chrome_shadow_alpha (function, line 110) static inline int wm_chrome_shadow_alpha(const wm_chrome_config_t *cfg, int px, int py, ...
    • wm_chrome_corner_coverage (function, line 141) static inline int wm_chrome_corner_coverage(int radius, int x, int y)
    • wm_chrome_disc_coverage (function, line 162) static inline int wm_chrome_disc_coverage(int radius, int x, int y)
    • by (function, line 107) * The shadow is the window rect shifted by (dx,dy);
    • WM_CHROME_H (macro, line 12) #define WM_CHROME_H
    • WM_CHROME_ALPHA_OPAQUE (macro, line 15) #define WM_CHROME_ALPHA_OPAQUE
    • WM_CHROME_CONFIG_DEFAULT (macro, line 35) #define WM_CHROME_CONFIG_DEFAULT
    • WM_CHROME_RADIUS_MAX (macro, line 38) #define WM_CHROME_RADIUS_MAX
  • Imported by: kernel/vga_fb.c, tests/test_chrome.c

Next: KB_headers_p6.md

Start

Wiki

Agent Docs

Recipes

Clone this wiki locally