Skip to content

Agent API_p8

grisun0 edited this page Oct 23, 2026 · 11 revisions

API (page 8 of 21)

Previous: API_p7.md

kernel/syscalls.c

Depends on: headers/arch/x86/boot/bootdefs.h, headers/arch/x86/hal_io.h, headers/arch/x86/msr.h, headers/batch.h, headers/block.h, headers/driver.h, headers/drivers/kbd.h, headers/futex.h, headers/ide.h, headers/ktime.h, headers/lz4_kernel.h, headers/minifs.h, headers/net.h, headers/pcache.h, headers/pcm2.h, headers/pcspk.h, headers/percpu_rq.h, headers/proc_sec.h, headers/randmix.h, headers/rcu.h, headers/rtc.h, headers/sanitize.h, headers/sb16.h, headers/sched.h, headers/select_map.h, headers/shell.h, headers/spawn.h, headers/sync.h, headers/syscalls_proc.h, headers/tlb.h, headers/vga_fb.h, headers/zip.h

  • kfd_view_current (function) kernel/syscalls.c:61 static kfd_view_t *kfd_view_current(void) -- Docstring: View owning the caller's fds: its own on isolated procs * and threads, the root on pid 0 and any pid...
  • kfd_view_root (function) kernel/syscalls.c:71 kfd_view_t *kfd_view_root(void) -- Docstring: Static root view (shell pid 0, pids without their own): * entries are the historical shared table, never...
  • kfd_get (function) kernel/syscalls.c:90 KFILE *kfd_get(int fd)
  • kfd_put (function) kernel/syscalls.c:103 void kfd_put(KFILE *f)
  • kfd_view_count (function) kernel/syscalls.c:115 static int kfd_view_count(kfd_view_t *v) -- } void kfd_put(KFILE *f) { irqflags_t flags; int drop = 0; if (!f) return; spin_lock_irqsave(&fd_lock, &flags)...
  • untouched (function) kernel/syscalls.c:139 * child untouched (caller refuses fail-closed). */ int kfd_view_copy(proc_t *child, proc_t *parent)
  • NULL (function) kernel/syscalls.c:166 * on NULL (already released or never owned). */ void kfd_view_release(proc_t *p)
  • kfd_view_cloexec (function) kernel/syscalls.c:197 void kfd_view_cloexec(void) -- Docstring: Close every CLOEXEC fd in the caller's own view (execve: the image is replaced, marked descriptors must...
  • by (function) kernel/syscalls.c:225 * is indexed by (syscall_number - 200). New syscalls are added by: * 1. Adding a MINIOS_SYS_* constant to...
  • wall_us_now (function) kernel/syscalls.c:256 unsigned long wall_us_now(void) -- wall_us_now: RTC-anchored wall clock in microseconds (Phase 0.2/0.3).
  • sys_minios_dns (function) kernel/syscalls.c:266 static long sys_minios_dns(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_tls_retired (function) kernel/syscalls.c:271 static long sys_minios_tls_retired(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_time (function) kernel/syscalls.c:284 static long sys_linux_time(long a1, long a2, long a3, long a4, long a5, long a6) -- time (201): the retired kernel-TLS handshake number now serves Linux time(2), exactly as 202 serves futex (ADR-0014...
  • sys_linux_futex (function) kernel/syscalls.c:293 static long sys_linux_futex(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_time (function) kernel/syscalls.c:342 static long sys_minios_time(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_kbd (function) kernel/syscalls.c:346 static long sys_minios_kbd(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_palette (function) kernel/syscalls.c:366 static long sys_minios_palette(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_kbd_raw (function) kernel/syscalls.c:378 static long sys_minios_kbd_raw(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_vga_mode (function) kernel/syscalls.c:384 static long sys_minios_vga_mode(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_pcspk_init (function) kernel/syscalls.c:391 static long sys_minios_pcspk_init(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_pcspk_tone (function) kernel/syscalls.c:395 static long sys_minios_pcspk_tone(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_doom_frame (function) kernel/syscalls.c:409 static long sys_minios_doom_frame(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_gfx_zoom (function) kernel/syscalls.c:420 static long sys_minios_gfx_zoom(long a1, long a2, long a3, long a4, long a5, long a6) -- Graphics window scale request (a1): 0 native, 1 2x nearest-neighbour zoom for the 320x200 game window, 2 true...
  • sys_minios_rtc (function) kernel/syscalls.c:429 static long sys_minios_rtc(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_fb_info (function) kernel/syscalls.c:442 static long sys_minios_fb_info(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_pcspk_vol (function) kernel/syscalls.c:462 static long sys_minios_pcspk_vol(long a1, long a2, long a3, long a4, long a5, long a6)
  • boot (function) kernel/syscalls.c:479 * boot (minfo_sleep_init from sched_init);
  • minfo_sleep_init (function) kernel/syscalls.c:486 void minfo_sleep_init(int tick_ok)
  • minfo_tick_wake (function) kernel/syscalls.c:491 void minfo_tick_wake(void *ctx)
  • view (function) kernel/syscalls.c:503 * view (same as the clear` builtin). Anything else is -EINVAL. Each
  • out-word is range-checked...`
  • sys_minios_spawn (function) kernel/syscalls.c:594 static long sys_minios_spawn(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_lz4_compress (function) kernel/syscalls.c:605 static long sys_minios_lz4_compress(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_lz4_decompress (function) kernel/syscalls.c:618 static long sys_minios_lz4_decompress(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_mouse (function) kernel/syscalls.c:632 static long sys_minios_mouse(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_nk_frame (function) kernel/syscalls.c:656 static long sys_minios_nk_frame(long a1, long a2, long a3, long a4, long a5, long a6)
  • sb16_audio_device (function) kernel/syscalls.c:669 static device_t *sb16_audio_device(void) -- } static long sys_minios_nk_frame(long a1, long a2, long a3, long a4, long a5, long a6) { (void)a2; (void)a3...
  • sys_minios_sb16_open (function) kernel/syscalls.c:675 static long sys_minios_sb16_open(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_submit (function) kernel/syscalls.c:687 static long sys_minios_sb16_submit(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_gfx_title (function) kernel/syscalls.c:698 static long sys_minios_gfx_title(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_pump (function) kernel/syscalls.c:712 static long sys_minios_sb16_pump(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_stream_open (function) kernel/syscalls.c:716 static long sys_minios_sb16_stream_open(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_stream_close (function) kernel/syscalls.c:720 static long sys_minios_sb16_stream_close(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_stream_submit (function) kernel/syscalls.c:724 static long sys_minios_sb16_stream_submit(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_pcm2_open (function) kernel/syscalls.c:737 static long sys_minios_pcm2_open(long a1, long a2, long a3, long a4, long a5, long a6) -- Low-latency PCM path (pcm2, syscalls 246-248): OPEN takes flags, WRITE returns bytes taken (blocking unless...
  • sys_minios_pcm2_write (function) kernel/syscalls.c:742 static long sys_minios_pcm2_write(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_pcm2_close (function) kernel/syscalls.c:750 static long sys_minios_pcm2_close(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_clip_set (function) kernel/syscalls.c:760 static long sys_minios_clip_set(long a1, long a2, long a3, long a4, long a5, long a6) -- Shared text clipboard (syscalls 249-250): SET copies len bytes in (refused past 4096, never truncated), GET copies...
  • sys_minios_clip_get (function) kernel/syscalls.c:770 static long sys_minios_clip_get(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_sb16_stream_vol (function) kernel/syscalls.c:786 static long sys_minios_sb16_stream_vol(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_futex_wait (function) kernel/syscalls.c:799 static long sys_minios_futex_wait(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_futex_wake (function) kernel/syscalls.c:805 static long sys_minios_futex_wake(long a1, long a2, long a3, long a4, long a5, long a6)
  • batch_kdispatch (function) kernel/syscalls.c:814 static long batch_kdispatch(uint32_t opcode)
  • DOOM_FRAME (function) kernel/syscalls.c:829 * DOOM_FRAME (211) and NK_FRAME (220) stay as compat aliases. */ static long sys_minios_gfx_prese...
  • sys_minios_getc_raw (function) kernel/syscalls.c:863 static long sys_minios_getc_raw(long a1, long a2, long a3, long a4, long a5, long a6) -- Raw keystroke read for fullscreen ring-3 programs (vedit): one byte from the serial + PS/2 multiplexer with no line...
  • sys_minios_submit_batch (function) kernel/syscalls.c:874 static long sys_minios_submit_batch(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_rlimit (function) kernel/syscalls.c:897 static long sys_minios_rlimit(long a1, long a2, long a3, long a4, long a5, long a6) -- RLIMIT/cgroups-lite (240): a1 = op (SET/GET), a2 = resource (AS/CPU/NOFILE), a3 = value for SET.
  • sys_linux_getdents64 (function) kernel/syscalls.c:976 static long sys_linux_getdents64(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_dir_list (function) kernel/syscalls.c:1069 static long sys_minios_dir_list(long a1, long a2, long a3, long a4, long a5, long a6)
  • syscall_trace_enabled (function) kernel/syscalls.c:1241 long syscall_trace_enabled(void)
  • syscall_trace_set (function) kernel/syscalls.c:1242 void syscall_trace_set(int on)
  • syscall_trace_verbose_enabled (function) kernel/syscalls.c:1243 long syscall_trace_verbose_enabled(void)
  • syscall_trace_verbose_set (function) kernel/syscalls.c:1244 void syscall_trace_verbose_set(int on)
  • syscall_trace_shown (function) kernel/syscalls.c:1245 unsigned long syscall_trace_shown(void)
  • unchanged (function) kernel/syscalls.c:1260 * unchanged (same code, same order of checks). Numbers >= 200 that * overlap real Linux ABIs stay in the switch as...
  • sys_linux_read (function) kernel/syscalls.c:1271 static long sys_linux_read(long a1, long a2, long a3, long a4, long a5, long a6)
  • EAGAIN (function) kernel/syscalls.c:1287 * writer open is EAGAIN (-11, retry);
  • EOF (function) kernel/syscalls.c:1288 * is EOF (0). */ KFILE *o = kfd_get(0);
  • fd_write (function) kernel/syscalls.c:1327 static long fd_write(long fd, const char *buf, long cnt) -- Write cnt validated user bytes to fd: a dup2/pipe override on fd 1/2 (pipeline stage stdout) is served instead of...
  • sys_linux_write (function) kernel/syscalls.c:1351 static long sys_linux_write(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_writev (function) kernel/syscalls.c:1358 static long sys_linux_writev(long a1, long a2, long a3, long a4, long a5, long a6)
  • kfd_install (function) kernel/syscalls.c:1403 static long kfd_install(KFILE *f, int cloexec) -- Install an open description as the lowest free fd (>= 3), honouring * close-on-exec; shared by do_open_path's file...
  • do_open_kpath (function) kernel/syscalls.c:1426 static long do_open_kpath(const char *path, long flags) -- Trusted core: path is already a kernel string (syscall argument that * passed SANITIZE_STR, or an *at(2) join...
  • do_open_path (function) kernel/syscalls.c:1452 static long do_open_path(const char *path, long flags)
  • sys_linux_open (function) kernel/syscalls.c:1457 static long sys_linux_open(long a1, long a2, long a3, long a4, long a5, long a6)
  • cwd (function) kernel/syscalls.c:1466 `* ENAMETOOLONG instead of silently resolving against the cwd (the bug
  • that broke shutil.rmtree...`
  • kfd_claim_from (function) kernel/syscalls.c:1529 static long kfd_claim_from(KFILE *f, long minfd, int cloexec) -- Claim the lowest free fd slot >= minfd for an already-opened KFILE (pipes, dup, eventfd), arming close-on-exec when...
  • kfd_claim (function) kernel/syscalls.c:1554 static long kfd_claim(KFILE *f)
  • sys_linux_pipe2 (function) kernel/syscalls.c:1578 static long sys_linux_pipe2(long a1, long a2, long a3, long a4, long a5, long a6) -- pipe2 (293): O_CLOEXEC arms close-on-exec on both ends, O_NONBLOCK makes * both descriptions non-blocking; O_DIRECT...
  • sys_linux_pipe (function) kernel/syscalls.c:1606 static long sys_linux_pipe(long a1, long a2, long a3, long a4, long a5, long a6)
  • kfd_cloexec_get (function) kernel/syscalls.c:1612 static int kfd_cloexec_get(long fd) -- kfclose(w); return wfd; } ufd[0] = (int)rfd; ufd[1] = (int)wfd; return 0; } static long sys_linux_pipe(long a1, long...
  • kfd_cloexec_set (function) kernel/syscalls.c:1622 static void kfd_cloexec_set(long fd, int on)
  • kfile_status_flags (function) kernel/syscalls.c:1633 static long kfile_status_flags(KFILE *f) -- Linux open-file status flags of a description: access mode from its * kind plus O_APPEND and O_NONBLOCK.
  • sys_linux_dup3 (function) kernel/syscalls.c:1684 static long sys_linux_dup3(long a1, long a2, long a3, long a4, long a5, long a6) -- break; case LINUX_F_SETFL: if (f) f->nonblock = (a3 & LINUX_O_NONBLOCK) ?
  • sys_linux_close_range (function) kernel/syscalls.c:1694 static long sys_linux_close_range(long a1, long a2, long a3, long a4, long a5, long a6) -- return r; } /* dup3 (292): dup2 with O_CLOEXEC as the only flag; old == new is EINVAL. static long...
  • sys_linux_eventfd2 (function) kernel/syscalls.c:1718 static long sys_linux_eventfd2(long a1, long a2, long a3, long a4, long a5, long a6) -- spin_lock_irqsave(&fd_lock, &flags_irq); for (fd = lo; fd <= hi && fd < KFD_MAX; fd++) if (v->f[fd]) v->cloexec |=...
  • sys_linux_eventfd (function) kernel/syscalls.c:1731 static long sys_linux_eventfd(long a1, long a2, long a3, long a4, long a5, long a6)
  • kfd_poll_revents (function) kernel/syscalls.c:1739 int kfd_poll_revents(int fd) -- Docstring: poll(2) readiness of a non-socket descriptor (pipes, eventfds, files, console), masked by nothing: the...
  • kfile_user_read (function) kernel/syscalls.c:1774 static long kfile_user_read(KFILE *f, char *buf, long cnt) -- Linux read on a description: an eventfd takes its counter, a pipe read end blocks (yielding) while empty with the...
  • kfile_user_write (function) kernel/syscalls.c:1804 static long kfile_user_write(KFILE *f, const char *buf, long cnt) -- Linux write on a description: an eventfd adds to its counter, a pipe write end blocks (yielding) while full unless...
  • sys_linux_dup (function) kernel/syscalls.c:1833 static long sys_linux_dup(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_dup2 (function) kernel/syscalls.c:1848 static long sys_linux_dup2(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_close (function) kernel/syscalls.c:1882 static long sys_linux_close(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_lseek (function) kernel/syscalls.c:1905 static long sys_linux_lseek(long a1, long a2, long a3, long a4, long a5, long a6)
  • mm_ensure_cur (function) kernel/syscalls.c:1923 static int mm_ensure_cur(unsigned long start, unsigned long end) -- Back isolated user windows (mrun/proc_spawn_elf): their page tables start with only segments + stack mapped, so...
  • sys_linux_brk (function) kernel/syscalls.c:1932 static long sys_linux_brk(long a1, long a2, long a3, long a4, long a5, long a6)
  • mmap_tag_file (function) kernel/syscalls.c:1973 static int mmap_tag_file(unsigned long base, int ino, unsigned long off) -- Docstring: Tag a freshly carved live node as file-backed.
  • mmap_range_free (function) kernel/syscalls.c:1988 static int mmap_range_free(unsigned long base, unsigned long len) -- Invariant guard for every range mmap hands out: it must not overlap a live mapping or reach below the brk heap.
  • sys_linux_mmap (function) kernel/syscalls.c:1997 static long sys_linux_mmap(long a1, long a2, long a3, long a4, long a5, long a6)
  • vma_live_first_overlap (function) kernel/syscalls.c:2095 static vma_node_t *vma_live_first_overlap(unsigned long base, unsigned long end) -- Lowest live mapping overlapping [base, end), or VMA_NIL.
  • vma_live_remainder (function) kernel/syscalls.c:2112 static int vma_live_remainder(unsigned long base, unsigned long len, int file, int ino, u... -- int sp = 0; vma_node_t *x = vma_live_root; while (x != VMA_NIL || sp > 0) { while (x != VMA_NIL) { if (sp < 64)...
  • split (function) kernel/syscalls.c:2126 * hold a split (the mapping is restored untouched). */ static long sys_linux_munmap(long a1, long...
  • mprotect_pte (function) kernel/syscalls.c:2176 static volatile unsigned long *mprotect_pte(unsigned long cr3, unsigned long va) -- Docstring: Locate the PTE for a user address in the caller's live tables (syscall entry keeps the caller CR3 loaded...
  • first (function) kernel/syscalls.c:2200 `* passes under mm_lock: validate every page first (present, user,
  • private), then apply, so a h...`
  • vma_free_cover (function) kernel/syscalls.c:2281 static vma_node_t *vma_free_cover(unsigned long base, unsigned long len) -- Free-tree node covering [base, base+len) entirely, or VMA_NIL.
  • vma_live_overlap (function) kernel/syscalls.c:2300 static int vma_live_overlap(unsigned long base, unsigned long len) -- while (x != VMA_NIL || sp > 0) { while (x != VMA_NIL) { if (sp < 64) stack[sp++] = x; x = x->left; } x =...
  • node (function) kernel/syscalls.c:2322 * mapping is one exact live VMA node (what mmap inserts);
  • sys_linux_mremap (function) kernel/syscalls.c:2327 static long sys_linux_mremap(long a1, long a2, long a3, long a4, long a5, long a6) -- Linux mremap(25): resize or move one mmap region. glibc's realloc calls it when growing large mmap'd chunks (the...
  • sys_linux_sigaction (function) kernel/syscalls.c:2593 static long sys_linux_sigaction(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_sigprocmask (function) kernel/syscalls.c:2598 static long sys_linux_sigprocmask(long a1, long a2, long a3, long a4, long a5, long a6)
  • kfile_readable_bytes (function) kernel/syscalls.c:2617 static int kfile_readable_bytes(KFILE *f) -- #define LINUX_TCGETS 0x5401 #define LINUX_TIOCGWINSZ 0x5413 #define LINUX_FIONREAD 0x541B #define...
  • FIONREAD (function) kernel/syscalls.c:2633 `* descriptor answers FIONREAD (bytes readable now), FIONBIO (O_NONBLOCK),
  • FIOCLEX/FIONCLEX (FD...`
  • sys_linux_access (function) kernel/syscalls.c:2673 static long sys_linux_access(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_socket (function) kernel/syscalls.c:2695 static long sys_linux_socket(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_connect (function) kernel/syscalls.c:2700 static long sys_linux_connect(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_bind (function) kernel/syscalls.c:2706 static long sys_linux_bind(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_listen (function) kernel/syscalls.c:2712 static long sys_linux_listen(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_accept (function) kernel/syscalls.c:2717 static long sys_linux_accept(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_sendto (function) kernel/syscalls.c:2723 static long sys_linux_sendto(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_recvfrom (function) kernel/syscalls.c:2728 static long sys_linux_recvfrom(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_shutdown (function) kernel/syscalls.c:2733 static long sys_linux_shutdown(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_prlimit64 (function) kernel/syscalls.c:2768 static long sys_linux_prlimit64(long a1, long a2, long a3, long a4, long a5, long a6) -- prlimit64(pid, resource, new, old): pid 0 or a live pid.
  • sys_linux_sched_getaffinity (function) kernel/syscalls.c:2801 static long sys_linux_sched_getaffinity(long a1, long a2, long a3, long a4, long a5, long a6) -- sched_getaffinity(pid, size, mask): every task may run on every CPU, so the mask has the low cpu_count bits set; the...
  • linux_timespec_us (function) kernel/syscalls.c:2823 static long linux_timespec_us(long ts) -- Microseconds of a user timespec, or -EINVAL when it is malformed * (negative, or tv_nsec outside [0, 1e9)); huge...
  • sys_linux_pause (function) kernel/syscalls.c:2840 static long sys_linux_pause(long a1, long a2, long a3, long a4, long a5, long a6) -- pause(34): wait for a signal.
  • sys_linux_nanosleep (function) kernel/syscalls.c:2848 static long sys_linux_nanosleep(long a1, long a2, long a3, long a4, long a5, long a6) -- nanosleep(35): sleep the relative interval at *req on the monotonic * clock; -EINVAL for a malformed interval...
  • clock (function) kernel/syscalls.c:2859 * clock (the monotonic TSC clock times it, as Linux does: glibc sends * every nanosleep here as a relative...
  • clock_gettime (function) kernel/syscalls.c:2863 * clock_gettime(1) reads. */ static long sys_linux_clock_nanosleep(long a1, long a2, long a3, lon...
  • long (function) kernel/syscalls.c:2865 unsigned long (*now)(void);
  • sys_linux_setsockopt (function) kernel/syscalls.c:2880 static long sys_linux_setsockopt(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getsockopt (function) kernel/syscalls.c:2887 static long sys_linux_getsockopt(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getsockname (function) kernel/syscalls.c:2894 static long sys_linux_getsockname(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getpeername (function) kernel/syscalls.c:2900 static long sys_linux_getpeername(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_sendmsg (function) kernel/syscalls.c:2906 static long sys_linux_sendmsg(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_sendmmsg (function) kernel/syscalls.c:2912 static long sys_linux_sendmmsg(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_poll (function) kernel/syscalls.c:2920 static long sys_linux_poll(long a1, long a2, long a3, long a4, long a5, long a6)
  • select_timeout_ms (function) kernel/syscalls.c:2946 static int select_timeout_ms(const long *t, int pselect, long *out) -- Convert a sanitized timeval/timespec to a net_sys_poll budget: 0 polls once, -1 waits forever (net_sys_poll's...
  • sys_linux_select (function) kernel/syscalls.c:3031 static long sys_linux_select(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_pselect6 (function) kernel/syscalls.c:3036 static long sys_linux_pselect6(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_flock (function) kernel/syscalls.c:3041 static long sys_linux_flock(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_fsync (function) kernel/syscalls.c:3050 static long sys_linux_fsync(long a1, long a2, long a3, long a4, long a5, long a6) -- fsync/fdatasync: the ramdisk is memory (always durable) and MiniFS persists through kfclose/minifs_sync, so there is...
  • sys_linux_fdatasync (function) kernel/syscalls.c:3055 static long sys_linux_fdatasync(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getcwd (function) kernel/syscalls.c:3060 static long sys_linux_getcwd(long a1, long a2, long a3, long a4, long a5, long a6)
  • unlink_kpath (function) kernel/syscalls.c:3073 static long unlink_kpath(const char *path) -- static long sys_linux_getcwd(long a1, long a2, long a3, long a4, long a5, long a6) { (void)a3; (void)a4; (void)a5...
  • sys_linux_unlink (function) kernel/syscalls.c:3089 static long sys_linux_unlink(long a1, long a2, long a3, long a4, long a5, long a6)
  • readlink_path (function) kernel/syscalls.c:3101 static long readlink_path(const char *path, char *buf, long bufsz) -- readlink of /proc/self/exe answers the caller's image path (absolute, no NUL, truncated to the buffer like Linux)...
  • sys_linux_readlink (function) kernel/syscalls.c:3117 static long sys_linux_readlink(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_prctl (function) kernel/syscalls.c:3123 static long sys_linux_prctl(long a1, long a2, long a3, long a4, long a5, long a6) -- if (!exe[0]) return -2; len = (long)kstrlen(exe) + 1; if (len > bufsz) len = bufsz; buf[0] = '/'; for (i = 1; i <...
  • sys_linux_rename (function) kernel/syscalls.c:3132 static long sys_linux_rename(long a1, long a2, long a3, long a4, long a5, long a6) -- rename(82): same-filesystem file move through fs_rename (ramdisk in-place, MiniFS entry move).
  • sys_linux_fstat (function) kernel/syscalls.c:3146 static long sys_linux_fstat(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_gettimeofday (function) kernel/syscalls.c:3171 static long sys_linux_gettimeofday(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_arch_prctl (function) kernel/syscalls.c:3194 static long sys_linux_arch_prctl(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_uname (function) kernel/syscalls.c:3206 static long sys_linux_uname(long a1, long a2, long a3, long a4, long a5, long a6)
  • answer (function) kernel/syscalls.c:3230 `* made glibc answer (uid_t)-1, which CPython's startup reads. */ #define LINUX_UID_GID_ROOT 0

st...`

  • sys_linux_getgid (function) kernel/syscalls.c:3238 static long sys_linux_getgid(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_geteuid (function) kernel/syscalls.c:3243 static long sys_linux_geteuid(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getegid (function) kernel/syscalls.c:3248 static long sys_linux_getegid(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_madvise (function) kernel/syscalls.c:3255 static long sys_linux_madvise(long a1, long a2, long a3, long a4, long a5, long a6) -- madvise (28): advice only; glibc frees thread stacks with it and * ignores the result, MiniOS keeps the pages, so 0...
  • sys_linux_mkdir (function) kernel/syscalls.c:3263 static long sys_linux_mkdir(long a1, long a2, long a3, long a4, long a5, long a6) -- mkdir (83): a MiniFS directory.
  • rmdir_kpath (function) kernel/syscalls.c:3299 static long rmdir_kpath(const char *path) -- rmdir (84): remove one empty MiniFS directory (the ramdisk carries no directories of its own; its prefixes come from...
  • sys_linux_rmdir (function) kernel/syscalls.c:3320 static long sys_linux_rmdir(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_umask (function) kernel/syscalls.c:3334 static long sys_linux_umask(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_fchmod (function) kernel/syscalls.c:3357 static long sys_linux_fchmod(long a1, long a2, long a3, long a4, long a5, long a6)
  • trace_is_noisy (function) kernel/syscalls.c:3443 static int trace_is_noisy(long n)
  • syscall_name (function) kernel/syscalls.c:3472 const char *syscall_name(long n) -- define SC_EXTRA_COUNT (sizeof(sc_extra_names) / sizeof(sc_extra_names[0]))
  • trace_hint_print (function) kernel/syscalls.c:3513 static void trace_hint_print(long n, int kind, const char *path, lon...
  • sc_record (function) kernel/syscalls.c:3537 static void sc_record(long n, long a1, long a2, long a3, long ret)
  • sc_hex (function) kernel/syscalls.c:3557 static void sc_hex(unsigned long v)
  • sc_record_dump (function) kernel/syscalls.c:3567 void sc_record_dump(int pid) -- e->a3 = a3; e->ret = ret; } static void sc_hex(unsigned long v) { static const char digits[] = "0123456789abcdef"...
  • ksyscall (function) kernel/syscalls.c:3585 long ksyscall(long n, long a1, long a2, long a3, long a4, long a5, long a6)
  • user_range_ok (function) kernel/syscalls.c:3624 int user_range_ok(unsigned long p, unsigned long len)
  • Discipline (function) kernel/syscalls.c:3637 * * Discipline (audit 2026-09, kept as comment, not a deprecation: both * primitives are legitimate): user_range_ok...
  • products (function) kernel/syscalls.c:3641 `* products (writev cntsizeof, poll a28, spawn (argc+1)*sizeof) are
  • pre-bounded against (END-...`
  • ksyscall_dispatch (function) kernel/syscalls.c:3654 static long ksyscall_dispatch(long n, long a1, long a2, long a3, long a4, long a5, long a6)
  • readlink (function) kernel/syscalls.c:3801 * readlink (89). */ return readlink_path((const char *)a2, (char *)a3, a4);
  • proc_spawn_elf (function) kernel/syscalls.c:3923 * proc_spawn_elf (the same path mrun uses) and the caller blocks in * do_waitpid, so the parent address space is...
  • k_syscall_spawn (function) kernel/syscalls.c:3932 static int k_syscall_spawn(const char *path, const char *redirect, i...

kernel/syscalls_proc.c

Depends on: headers/proc_sec.h, headers/sanitize.h, headers/sched.h, headers/syscalls_proc.h

  • state (function) kernel/syscalls_proc.c:5 * touches only scheduler state (current_pid, procs[], do_* / * seccomp_* / yield) plus the kernel-wide user_range_ok...
  • sys_minios_clone (function) kernel/syscalls_proc.c:18 long sys_minios_clone(long flags, long newsp, long a3, long a4, long a5, long a6)
  • sys_minios_thread_spawn (function) kernel/syscalls_proc.c:24 long sys_minios_thread_spawn(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_minios_seccomp (function) kernel/syscalls_proc.c:37 long sys_minios_seccomp(long a1, long a2, long a3, long a4, long a5, long a6) -- Seccomp-basic (238): a1 = op (1 deny-one, 2 allow-one, 3 deny-all), a2 = syscall number (ops 1-2).
  • sys_minios_nice (function) kernel/syscalls_proc.c:53 long sys_minios_nice(long a1, long a2, long a3, long a4, long a5, long a6) -- int pid = current_pid; if (a1 == SECCOMP_OP_DENY_ONE) return seccomp_deny_one(pid, (int)a2); if (a1 ==...
  • sys_linux_yield (function) kernel/syscalls_proc.c:66 long sys_linux_yield(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_getpid (function) kernel/syscalls_proc.c:75 long sys_linux_getpid(long a1, long a2, long a3, long a4, long a5, long a6) -- getpid answers the thread group: a CLONE_THREAD member reports its leader, a process its own pid.
  • sys_linux_clone (function) kernel/syscalls_proc.c:83 long sys_linux_clone(long a1, long a2, long a3, long a4, long a5, long a6) -- getpid answers the thread group: a CLONE_THREAD member reports its leader, a process its own pid.
  • sys_linux_fork (function) kernel/syscalls_proc.c:89 long sys_linux_fork(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_vfork (function) kernel/syscalls_proc.c:94 long sys_linux_vfork(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_execve (function) kernel/syscalls_proc.c:99 long sys_linux_execve(long a1, long a2, long a3, long a4, long a5, long a6)
  • sys_linux_exit (function) kernel/syscalls_proc.c:184 long sys_linux_exit(long a1, long a2, long a3, long a4, long a5, long a6)
  • kill (function) kernel/syscalls_proc.c:192 * historic kill (SIGKILL), -N is signal N (a seccomp kill is -SIGSYS). */ #define LINUX_WNOHANG ...
  • groups (function) kernel/syscalls_proc.c:213 * groups (pid 0 and < -1) are not modelled and wait for any child. */ long sys_linux_wait4(long a...
  • sig (function) kernel/syscalls_proc.c:245 * the target as killed by sig (wait4 reports WTERMSIG);
  • sys_linux_kill (function) kernel/syscalls_proc.c:248 long sys_linux_kill(long a1, long a2, long a3, long a4, long a5, long a6) -- kill(pid, sig): sig 0 only probes that pid exists; a fatal signal ends the target as killed by sig (wait4 reports...
  • sys_linux_gettid (function) kernel/syscalls_proc.c:259 long sys_linux_gettid(long a1, long a2, long a3, long a4, long a5, long a6)

kernel/tick.c

Depends on: headers/tick.h

  • tick_reset (function) kernel/tick.c:34 void tick_reset(void) -- /** Docstring: Audio listener table. static tick_slot_t tick_audio_slots[TICK_MAX_AUDIO_LISTENERS]; /** Docstring...
  • tick_register_audio (function) kernel/tick.c:58 int tick_register_audio(tick_fn_t fn, void *ctx) -- Docstring: Register an unconditional BSP audio effect.
  • tick_register_desktop (function) kernel/tick.c:76 int tick_register_desktop(tick_fn_t fn, void *ctx) -- Docstring: Register a gated desktop effect.
  • tick_register_usb (function) kernel/tick.c:89 int tick_register_usb(tick_fn_t fn, void *ctx)
  • tick_run_usb (function) kernel/tick.c:103 void tick_run_usb(void) -- int tick_register_usb(tick_fn_t fn, void *ctx) { if (fn == NULL) { return -1; } if (tick_usb_used < 0 ||...
  • tick_run_audio (function) kernel/tick.c:113 void tick_run_audio(void) -- return 0; } /** Docstring: Run USB listeners in registration order. void tick_run_usb(void) { int i; for (i = 0; i <...
  • tick_run_desktop (function) kernel/tick.c:123 void tick_run_desktop(void) -- } } /** Docstring: Run audio listeners in registration order. void tick_run_audio(void) { int i; for (i = 0; i <...
  • tick_audio_count (function) kernel/tick.c:133 int tick_audio_count(void) -- } } /** Docstring: Run desktop listeners in registration order. void tick_run_desktop(void) { int i; for (i = 0; i <...
  • tick_desktop_count (function) kernel/tick.c:144 int tick_desktop_count(void) -- } /** Docstring: Count registered audio listeners. int tick_audio_count(void) { if (tick_audio_used < 0) { return 0...
  • tick_desktop_due (function) kernel/tick.c:160 int tick_desktop_due(unsigned long long ticks, unsigned interval) -- Docstring: Pure desktop gating predicate.

kernel/time.c

Depends on: headers/ktime.h Imported by: headers/tls_port.h, mcp/mcp_dbg_driver.py, mcp/mcp_dogfood.py, mcp/minios_addons.py, mcp/minios_mcp.py, progs/doomgeneric/doomgeneric_xlib.c, progs/src/lxabi.c, progs/src/lxsel.c, progs/src/test_py.py, progs/tls_u/tls_u_port.c, tests/test_vma_bench.c, tools/boot_wl.py, tools/gdb_repro.py, tools/minios_cli.py, tools/minios_gui.py, tools/minios_hyper.py, tools/probe_compute_vga.py, tools/probe_minicraft.py, tools/qga_client.py, tools/repro_gui.py, tools/test_gui_fashion.py, tools/test_gui_freedom.py, tools/test_gui_gfxview.py, tools/test_gui_icon_cwd.py, tools/test_gui_menu.py, tools/test_gui_wm.py, tools/test_gui_zoom.py, tools/test_http_server.py, tools/tls_test.py

  • ktime_rdtsc (function) kernel/time.c:13 static unsigned long ktime_rdtsc(void)
  • ktime_init (function) kernel/time.c:19 static void ktime_init(void)
  • ktime_ms (function) kernel/time.c:33 unsigned long ktime_ms(void)
  • ktime_us (function) kernel/time.c:41 unsigned long ktime_us(void) -- Microsecond resolution over the same calibrated ratio (Phase 0.2/0.3: clock_gettime nsec and gettimeofday usec both...

kernel/vga_cursor.c

Depends on: headers/kernel/vga_cursor.h, headers/vga_fb.h

  • cursor_save_bg (function) kernel/vga_cursor.c:40 static void cursor_save_bg(int mx, int my) -- The cursor is drawn with its top-left corner at (mx, my), so the sprite spans down-right of the pointer.
  • cursor_is_set (function) kernel/vga_cursor.c:50 static int cursor_is_set(int i, int j) -- spans down-right of the pointer.
  • cursor_has_set_neighbour (function) kernel/vga_cursor.c:57 static int cursor_has_set_neighbour(int i, int j) -- int y0 = my - CURSOR_TIP_Y; for (j = 0; j < 8; j++) for (i = 0; i < 8; i++) cursor_save[j][i] = fb_read_packed(x0 +...
  • cursor_draw (function) kernel/vga_cursor.c:68 static void cursor_draw(int mx, int my)
  • cursor_restore (function) kernel/vga_cursor.c:81 static void cursor_restore(int mx, int my)
  • cursor_over (function) kernel/vga_cursor.c:96 int cursor_over(int x0, int y0, int w, int h) -- Docstring: True when the cursor sprite overlaps the given screen rectangle.
  • cursor_place (function) kernel/vga_cursor.c:106 void cursor_place(int mx, int my) -- Docstring: Paint the pointer at mx/my unconditionally: save the * background, draw the sprite, record the position.
  • cursor_move (function) kernel/vga_cursor.c:116 void cursor_move(int mx, int my) -- Docstring: Desktop-tick pointer update: repaint only when the position * moved since the last paint, otherwise keep...
  • cursor_erase (function) kernel/vga_cursor.c:133 void cursor_erase(void) -- Docstring: Restore the saved background when the pointer is up, then mark it hidden.
  • cursor_invalidate (function) kernel/vga_cursor.c:141 void cursor_invalidate(void) -- Docstring: Mark the pointer hidden without touching the framebuffer. * Used after any repaint that may have covered...
  • cursor_note_repaint (function) kernel/vga_cursor.c:147 void cursor_note_repaint(int x0, int y0, int w, int h) -- Docstring: Invalidate the pointer when it overlaps a repainted screen * rectangle, so the next move re-saves a fresh...

kernel/vga_fb.c

Depends on: headers/arch/x86/boot/bootdefs.h, headers/desktop_icons.h, headers/desktop_shortcuts.h, headers/drivers/kbd.h, headers/kernel/vga_cursor.h, headers/sched.h, headers/vga_fb.h, headers/vga_fx.h, headers/wm_events.h, headers/wm_focus.h, headers/wm_geom.h, headers/wm_gfxview.h, headers/wm_layout.h, headers/wm_notify.h, headers/wm_render.h, headers/wm_tiling.h, headers/wm_window.h

  • wm_geom_cfg (function) kernel/vga_fb.c:49 static wm_geom_config_t wm_geom_cfg(void) -- /** Docstring: Focus ids share one space across terminals and graphics. _Static_assert(WM_FOCUS_GFX ==...
  • wm_event_cfg (function) kernel/vga_fb.c:60 static wm_event_config_t wm_event_cfg(void) -- static int wm_ggy; /** Docstring: Geometry config derived once from the font layout. static wm_geom_config_t...
  • wm_drag_reset (function) kernel/vga_fb.c:69 static void wm_drag_reset(void) -- cfg.title_h = FONT_H; return cfg; } /** Docstring: Event config for the PS/2 mouse button mask. static...
  • vga_fb_boot_config (function) kernel/vga_fb.c:90 void vga_fb_boot_config(void)
  • fb_bytes_per_pixel (function) kernel/vga_fb.c:117 int fb_bytes_per_pixel(void)
  • compositions (function) kernel/vga_fb.c:133 * compositions (an ISR tick composing inside a syscall composition) draw * into the same shadow and leave the...
  • fb_copy_bytes (function) kernel/vga_fb.c:151 static void fb_copy_bytes(volatile void *dst, const volatile void *src, unsigned long n) -- Docstring: Bulk copy through the string engine: quadwords first (rep movsq, an eighth of the iterations, which is...
  • fb_fill_u32 (function) kernel/vga_fb.c:169 static void fb_fill_u32(volatile void *dst, unsigned int v, unsigned long n) -- Docstring: Fill n 32-bit words with one value: pairs as quadwords * (rep stosq), then the odd word.
  • fb_frame_bytes (function) kernel/vga_fb.c:183 static unsigned long fb_frame_bytes(void) -- static void fb_fill_u32(volatile void *dst, unsigned int v, unsigned long n) { void *d = (void *)dst; unsigned long...
  • fb_shadow_ready (function) kernel/vga_fb.c:189 static int fb_shadow_ready(void) -- : "+D"(d), "+c"(q) : "a"(pat) : "memory"); if (n & 1UL) (volatile unsigned int )d = v; } /* Docstring: Bytes one...
  • fb_present_shadow (function) kernel/vga_fb.c:210 static void fb_present_shadow(void) -- return 1; } if (fb_shadow) { return 0; } fb_shadow = (uint8_t *)kmalloc(need); if (!fb_shadow) { return 0; }...
  • fb_compose_begin (function) kernel/vga_fb.c:221 static int fb_compose_begin(void) -- Docstring: Enter a composition.
  • fb_compose_end (function) kernel/vga_fb.c:234 static void fb_compose_end(int owner) -- entry that must not present. static int fb_compose_begin(void) { if (fb_compose_depth++ > 0) { return 0; } if...
  • lg_get (function) kernel/vga_fb.c:305 static const char *lg_get(int i) -- Docstring: Completed-logical-lines ring, heap-owned since the .bss diet (256 x TERM_MAX_COLS).
  • lg_push (function) kernel/vga_fb.c:312 static void lg_push(const char *line, int len) -- Append a completed logical line to the ring.
  • lg_alloc (function) kernel/vga_fb.c:333 static void lg_alloc(void)
  • vga_fb_term_ring_init (function) kernel/vga_fb.c:349 void vga_fb_term_ring_init(void) -- Docstring: Create the terminal history ring.
  • vga_fb_term_feed (function) kernel/vga_fb.c:357 void vga_fb_term_feed(const char *line, int len) -- Docstring: Feed one completed console line into the terminal history.
  • line_nrows (function) kernel/vga_fb.c:364 static int line_nrows(int len) -- Docstring: Feed one completed console line into the terminal history.
  • act_nrows (function) kernel/vga_fb.c:371 static int act_nrows(void)
  • total_rows (function) kernel/vga_fb.c:374 static int total_rows(void) -- lg_push(line, len); } /* Display rows a logical line of len characters occupies at term_cols. static int...
  • disp_clamp (function) kernel/vga_fb.c:382 static void disp_clamp(void) -- return n; } static int act_nrows(void) { return line_nrows(act_len); } /* Total display rows of the whole history...
  • line_at (function) kernel/vga_fb.c:400 static const char *line_at(int abs, int *off) -- Locate the logical line contributing the display row abs, and set *off to the character offset where that display...
  • first (function) kernel/vga_fb.c:456 * screen ever showing it whole first (the old flash-then-melt). */ static unsigned int *fx_start_...
  • flag (function) kernel/vga_fb.c:533 * is the minimized flag (the program keeps running, nothing composites);
  • letterbox (function) kernel/vga_fb.c:537 * present to repaint chrome plus letterbox (after a desktop redraw or a * view change);
  • gfx_view_cfg (function) kernel/vga_fb.c:572 static wm_gfxview_config_t gfx_view_cfg(void) -- Handshake between the present path and the desktop tick, the two painters of the graphics-mode pointer.
  • gfx_covers_screen (function) kernel/vga_fb.c:581 static int gfx_covers_screen(void) -- Docstring: 1 while a visible fullscreen graphics window owns every * pixel: the terminals, taskbar and dock must not...
  • gfx_keep_save (function) kernel/vga_fb.c:587 static void gfx_keep_save(const volatile uint8_t *src, int kind, int sw, int sh) -- Docstring: 1 while a visible fullscreen graphics window owns every * pixel: the terminals, taskbar and dock must not...
  • vga_fb_set_gfx_program (function) kernel/vga_fb.c:613 void vga_fb_set_gfx_program(const char *name)
  • shcmd_base (function) kernel/vga_fb.c:632 static void shcmd_base(const char *cmd, char *out, unsigned long cap) -- Basename of a shortcut command's program: first token after an optional run, then past the last '/'. "run...
  • ci_eq (function) kernel/vga_fb.c:649 static int ci_eq(const char *a, const char *b)
  • gfx_prog_icon (function) kernel/vga_fb.c:662 static const uint8_t *gfx_prog_icon(void) -- Icon of the running program via the shortcuts config: whoever composited * last, resolved through its launch command.
  • vga_fb_set_gfx_mode (function) kernel/vga_fb.c:675 void vga_fb_set_gfx_mode(int on)
  • gfx_view_for (function) kernel/vga_fb.c:726 static int gfx_view_for(int sw, int sh, wm_gfxview_t *v) -- Docstring: Compute the view for a sw x sh source under the current mode.
  • gfx_view_publish (function) kernel/vga_fb.c:738 static void gfx_view_publish(const wm_gfxview_t *v) -- mode.
  • gfx_float_frame (function) kernel/vga_fb.c:752 static int gfx_float_frame(wm_gfxview_rect_t *out) -- Docstring: Floating-mode frame of the current source, used by the * snap and drag math, which move the native...
  • vga_fb_gfx_origin (function) kernel/vga_fb.c:768 void vga_fb_gfx_origin(int *x, int *y) -- Docstring: Content origin of the graphics window (the point an app * subtracts from SYS_MOUSE coordinates), for the...
  • coordinates (function) kernel/vga_fb.c:782 * windows keep the exact historical coordinates (including outside the * window);
  • vga_fb_gfx_map_mouse (function) kernel/vga_fb.c:785 void vga_fb_gfx_map_mouse(int *x, int *y) -- Docstring: Map a desktop pointer into the graphics app's back-buffer space when its view is scaled.
  • vga_fb_gfx_cursor_erase (function) kernel/vga_fb.c:800 static void vga_fb_gfx_cursor_erase(void) -- Restore the last composite's pointer before the new frame covers it.
  • vga_fb_gfx_cursor_draw (function) kernel/vga_fb.c:810 static void vga_fb_gfx_cursor_draw(void) -- Clamp the mouse into the framebuffer (the idle loop that normally clamps never runs in graphics mode) and draw the...
  • gfx_transition (function) kernel/vga_fb.c:976 static void gfx_transition(const wm_gfxview_rect_t *from, int from_titled);
  • wm_focus_cursor_sync (function) kernel/vga_fb.c:1001 static void wm_focus_cursor_sync(const wm_notify_event_t *e) -- char eline[WM_ELINE_SZ]; int epos, has_line; int prompted; } termwin_t; static termwin_t twins[WM_MAX_TERMS]; static...
  • wm_emit_focus_moved (function) kernel/vga_fb.c:1008 static void wm_emit_focus_moved(int before, int source) -- static int wm_term; static int wm_inited; /** Docstring: Single focus event bus owned by the desktop. static...
  • vga_fb_focus_event (function) kernel/vga_fb.c:1020 const wm_notify_event_t *vga_fb_focus_event(void) -- /** Docstring: Emit one focus event when the id actually moved. static void wm_emit_focus_moved(int before, int...
  • vga_fb_focus_report (function) kernel/vga_fb.c:1026 void vga_fb_focus_report(int before, int source) -- e.type = WM_NOTIFY_FOCUS; e.old_focus = before; e.new_focus = wm_focus; e.source = source; wm_notify_emit(&wm_bus...
  • tw_park (function) kernel/vga_fb.c:1035 static void tw_park(int i)
  • tw_unpark (function) kernel/vga_fb.c:1065 static void tw_unpark(int i)
  • wm_init_once (function) kernel/vga_fb.c:1100 static void wm_init_once(void)
  • tw_select (function) kernel/vga_fb.c:1125 static void tw_select(int i) -- twins[k].has_line = 0; twins[k].eline[0] = '\0'; twins[k].epos = 0; twins[k].prompted = 0; } twins[0].lg = lg; if...
  • vga_fb_focus_get (function) kernel/vga_fb.c:1137 int vga_fb_focus_get(void)
  • vga_fb_nterms_get (function) kernel/vga_fb.c:1138 int vga_fb_nterms_get(void)
  • wm_snapshot_state (function) kernel/vga_fb.c:1141 static void wm_snapshot_state(wm_focus_state_t *st) -- if (!twins[i].present) return; if (shell_readline_active()) shell_focus_park(); tw_park(wm_term); wm_focus = i...
  • vga_fb_focus_next (function) kernel/vga_fb.c:1154 void vga_fb_focus_next(void) -- /** Docstring: Single snapshot of every window for focus decisions. static void wm_snapshot_state(wm_focus_state_t...
  • app (function) kernel/vga_fb.c:1195 * a gfx child spawned from another gfx app (file -> vedit) keeps the * terminal focused, so its keys and wheel keep...
  • wm_gfx_focus_sync (function) kernel/vga_fb.c:1200 static void wm_gfx_focus_sync(int on) -- Docstring: Route WM focus with the graphics mode switch.
  • vga_fb_focus_id (function) kernel/vga_fb.c:1219 int vga_fb_focus_id(int id) -- tw_park(wm_term); wm_focus = WM_FOCUS_GFX; kbd_raw_flush(); wm_emit_focus_moved(before, WM_FOCUS_SRC_MODE); } } else...
  • vga_fb_boot_history_to_active (function) kernel/vga_fb.c:1254 static void vga_fb_boot_history_to_active(void) -- Docstring: Copy the boot-time history into the terminal that owns the screen after the desktop comes up.
  • content (function) kernel/vga_fb.c:1269 `* windows would share content (same prompt/output on both) and a park
  • would alias src == dst. ...`
  • vga_fb_layout_set (function) kernel/vga_fb.c:1354 int vga_fb_layout_set(int mode) -- twins[1].lg = 0; twins[1].present = 0; twins[1].has_line = 0; twins[1].eline[0] = '\0'; twins[1].epos = 0...
  • vga_fb_layout_cycle (function) kernel/vga_fb.c:1365 void vga_fb_layout_cycle(void) -- /** Docstring: Tile terminals through the tiling contract, graphics right. /** Docstring: Set active layout mode...
  • vga_fb_layout_get (function) kernel/vga_fb.c:1381 int vga_fb_layout_get(void) -- if (wm_layout_mode == WM_LAYOUT_TILE) { wm_layout_mode = WM_LAYOUT_BSP; } else if (wm_layout_mode == WM_LAYOUT_BSP)...
  • vga_fb_layout_name (function) kernel/vga_fb.c:1387 const char *vga_fb_layout_name(void) -- } else { wm_layout_mode = WM_LAYOUT_TILE; } wm_last_n = -1; vga_fb_tile_all(); } /** Docstring: Active layout mode...
  • alone (function) kernel/vga_fb.c:1399 `* window alone (an unfocused graphics window minimizes to the taskbar,
  • exactly like the hidden...`
  • vga_fb_list_windows (function) kernel/vga_fb.c:1526 void vga_fb_list_windows(void)
  • vga_fb_act_empty (function) kernel/vga_fb.c:1584 int vga_fb_act_empty(void) -- vn ? vn : "floating", gfx_view_valid ? gfx_view.content.x : gfx_win_x, gfx_view_valid ? gfx_view.content.y...
  • vga_fb_note_prompt (function) kernel/vga_fb.c:1588 void vga_fb_note_prompt(void) -- The shell loop calls note after printing a prompt (it is live in the * focused window) and clear once the line is...
  • vga_fb_clear_prompt (function) kernel/vga_fb.c:1593 void vga_fb_clear_prompt(void)
  • vga_fb_prompted (function) kernel/vga_fb.c:1598 int vga_fb_prompted(void)
  • vga_fb_prompt_live (function) kernel/vga_fb.c:1607 int vga_fb_prompt_live(void) -- 1 when the active line is empty or holds exactly a fresh prompt, so printing another one would stack duplicate...
  • vga_fb_park_line (function) kernel/vga_fb.c:1614 void vga_fb_park_line(const char *b, int p) -- 1 when the active line is empty or holds exactly a fresh prompt, so printing another one would stack duplicate...
  • vga_fb_unpark_line (function) kernel/vga_fb.c:1629 int vga_fb_unpark_line(char *b, int *p) -- A fresh prompt parks empty: record no line, so wm list does not * claim a half-typed command that never existed....
  • tw_hit (function) kernel/vga_fb.c:1644 static int tw_hit(int i, int mx, int my) -- termwin_t *t; int k; wm_init_once(); if (wm_focus < 0 || wm_focus >= WM_MAX_TERMS) return 0; t = &twins[wm_focus]...
  • vga_fb_set_gfx_palette (function) kernel/vga_fb.c:1750 void vga_fb_set_gfx_palette(const unsigned char *pal)
  • fb_pack_idx (function) kernel/vga_fb.c:1765 static unsigned long fb_pack_idx(unsigned idx) -- --- True-color pixel layer ---- VBE true-color framebuffers store pixels natively as B,G,R(,X) bytes, so the DAC is...
  • fb_write_packed (function) kernel/vga_fb.c:1781 void fb_write_packed(int x, int y, unsigned long rgb)
  • fb_read_packed (function) kernel/vga_fb.c:1801 unsigned long fb_read_packed(int x, int y)
  • vga_fb_read_rgb (function) kernel/vga_fb.c:1825 unsigned long vga_fb_read_rgb(int x, int y)
  • fb_write_row_packed (function) kernel/vga_fb.c:1830 void fb_write_row_packed(int x, int y, const unsigned int *src, int n) -- Docstring: Write n packed pixels (0x00RRGGBB, or raw indices in 8-bit mode) to row y from column x, clipped once.
  • fb_read_row_packed (function) kernel/vga_fb.c:1860 void fb_read_row_packed(int x, int y, unsigned int *dst, int n) -- Docstring: Read n packed pixels of row y from column x into dst, * clipped once; pixels outside the screen read as 0.
  • fb_fill_run (function) kernel/vga_fb.c:1882 static void fb_fill_run(int x, int y, int n, unsigned long px) -- int xx = x + i; if (xx < 0 || xx >= fb_width) continue; if (fb_bpp == 32) { dst[i] = *(volatile unsigned int *)(p +...
  • wall_level (function) kernel/vga_fb.c:1908 static int wall_level(int v) -- for (i = 0; i < n; i++) { q[0] = (uint8_t)(px & 0xFF); q[1] = (uint8_t)((px >> 8) & 0xFF); q[2] = (uint8_t)((px >>...
  • vga_fb_set_palette (function) kernel/vga_fb.c:1917 static void vga_fb_set_palette(void)
  • fb_glyph (function) kernel/vga_fb.c:1970 static const uint8_t *fb_glyph(unsigned char c) -- Resolve one byte to its 8-row glyph: ASCII through font8x8, Spanish Latin-1 through the table above, anything else...
  • vga_fb_pixel (function) kernel/vga_fb.c:1991 void vga_fb_pixel(int x, int y, uint8_t color) -- case 0xAC: return glyph_notsign; case 0xB4: return glyph_acute; case 0xB7: return glyph_middot; case 0xBA: return...
  • vga_fb_clear (function) kernel/vga_fb.c:2001 void vga_fb_clear(void) -- } } /* ---- Drawing primitives ---- void vga_fb_pixel(int x, int y, uint8_t color) { if (fb_bpp == 8) { if (x >= 0...
  • vga_fb_rect (function) kernel/vga_fb.c:2011 void vga_fb_rect(int x, int y, int w, int h, uint8_t color) -- Docstring: Solid rectangle: the color resolves once, every row is one * clipped run fill instead of a per-pixel...
  • vga_fb_pixel_rgb (function) kernel/vga_fb.c:2026 void vga_fb_pixel_rgb(int x, int y, uint8_t r, uint8_t g, uint8_t b) -- Direct RGB pixel: full color depth in true-color modes, best-effort quantization in 8-bit mode.
  • vga_fb_rect_rgb (function) kernel/vga_fb.c:2035 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) kernel/vga_fb.c:2042 void vga_fb_char(int col, int row, char c, uint8_t fg, uint8_t bg)
  • vga_fb_str (function) kernel/vga_fb.c:2056 void vga_fb_str(int col, int row, const char *s, uint8_t fg, uint8_t bg)
  • text_px (function) kernel/vga_fb.c:2067 static void text_px(int px, int py, const char *s, uint8_t fg, uint8_t bg) -- Blit a text string at an absolute pixel position.
  • wm_draw_buttons (function) kernel/vga_fb.c:2093 static void wm_draw_buttons(int px, int py, int win_w, uint8_t fg, uint8_t bg) -- --- Window controls ---- Three glyph buttons at the right end of a window's title bar: minimize (_), maximize...
  • wm_buttons_hit (function) kernel/vga_fb.c:2119 static int wm_buttons_hit(int mx, int my, int win_x, int win_y, int win_w) -- } for (i = 1; i < WM_BTN_H - 1; i++) { vga_fb_pixel(bx + 1, by + i, fg); vga_fb_pixel(bx + WM_BTN_W - 2, by + i...
  • wm_close_pending (function) kernel/vga_fb.c:2134 int wm_close_pending(void) -- Close request bridge: the syscall dispatcher polls this so a graphics * program's next syscall exits it on the...
  • wm_clear_close (function) kernel/vga_fb.c:2135 void wm_clear_close(void)
  • wm_gfx_mode_active (function) kernel/vga_fb.c:2136 int wm_gfx_mode_active(void)
  • vga_fb_ps2_owner (function) kernel/vga_fb.c:2139 int vga_fb_ps2_owner(int pid) -- Close request bridge: the syscall dispatcher polls this so a graphics * program's next syscall exits it on the...
  • taskbar (function) kernel/vga_fb.c:2159 `* minimize hides the app to the taskbar (it never closes it), maximize
  • toggles true fullscreen...`
  • directly (function) kernel/vga_fb.c:2207 * RGB sources pack directly (quantized to the wallpaper cube in 8-bit). */ static void gfx_scale_...
  • gfx_letterbox (function) kernel/vga_fb.c:2312 static void gfx_letterbox(const wm_gfxview_t *v) -- Docstring: Clear the frame area the content does not cover (the * letterbox bars of a tiled or fullscreen view) to...
  • gfx_title (function) kernel/vga_fb.c:2331 static void gfx_title(const wm_gfxview_t *v) -- int ah = v->frame.h - v->title_h; const wm_gfxview_rect_t *c = &v->content; if (aw <= 0 || ah <= 0) return; if (c->y...
  • gfx_compose (function) kernel/vga_fb.c:2343 static void gfx_compose(const volatile uint8_t *src, int kind, int sw, int sh, ... -- Docstring: Compose one graphics frame at a view into the render target: * title, letterbox (when full is set) and...
  • gfx_present (function) kernel/vga_fb.c:2409 static void gfx_present(const volatile uint8_t *bb, int kind, int sw, int sh) -- Docstring: Present under the pointer handshake: wait out a desktop tick that is moving the sprite, composite, then...
  • gfx_cursor_follow_idle (function) kernel/vga_fb.c:2425 static void gfx_cursor_follow_idle(void) -- Docstring: Move the graphics-mode pointer from the desktop tick while the app is idle.
  • vga_fb_blit_gfx_window (function) kernel/vga_fb.c:2438 void vga_fb_blit_gfx_window(void)
  • vga_fb_blit_nk_window (function) kernel/vga_fb.c:2447 void vga_fb_blit_nk_window(void)
  • vga_fb_blit_nk_rgb_window (function) kernel/vga_fb.c:2453 void vga_fb_blit_nk_rgb_window(void) -- Composite the Nuklear RGB back-buffer (NK_RGB_ADDR, NK_W x NK_H x 3 bytes) * through the same present path as the...
  • term_recalc (function) kernel/vga_fb.c:2462 static void term_recalc(void)
  • draw_title_win (function) kernel/vga_fb.c:2488 static void draw_title_win(int idx, int focused) -- Preserve the current window position, clamping it into range so a * drag or Ctrl+arrow move is not undone by the...
  • taskbar_layout (function) kernel/vga_fb.c:2519 static void taskbar_layout(void)
  • draw_speaker_icon (function) kernel/vga_fb.c:2550 static void draw_speaker_icon(int x, int y, uint8_t color) -- Running-app button right after it: mini icon + title while a graphics program owns the display.
  • taskbar_render (function) kernel/vga_fb.c:2559 static void taskbar_render(void)
  • title (function) kernel/vga_fb.c:2569 * 8px row plus its title (bright when focused). The hint line * starts after it instead of underneath. */ const...
  • taskbar_tick (function) kernel/vga_fb.c:2638 static void taskbar_tick(void) -- Redraw the clock only when the wall-clock second changes.
  • vga_fb_theme_name (function) kernel/vga_fb.c:2654 int vga_fb_theme_name(char *dst, int cap) -- Docstring: Active Nuklear theme name for the taskbar widget.
  • taskbar_theme_cycle (function) kernel/vga_fb.c:2675 static void taskbar_theme_cycle(void) -- Cycle the active theme to the next etc/themes/ entry (ramdisk).
  • taskbar_handle_click (function) kernel/vga_fb.c:2715 static void taskbar_handle_click(int mx, int my) -- Click handling for the keyboard widget, the speaker icon and -/+ buttons, plus the restore button that reappears...
  • draw_scrollbar (function) kernel/vga_fb.c:2775 static void draw_scrollbar(void) -- return; } if (mx >= tb_minus_x && mx < tb_minus_x + TASKBAR_BTN_W) { v = pcspk_get_volume(); pcspk_set_volume(v >...
  • render_blank_row (function) kernel/vga_fb.c:2810 static void render_blank_row(int vrow) -- Blank one viewport row: every cell is repainted with the terminal background. vga_fb_str with an empty string would...
  • render_row (function) kernel/vga_fb.c:2820 static void render_row(int vrow, int abs) -- Render one display row at viewport row vrow for the absolute display row abs.
  • term_render (function) kernel/vga_fb.c:2855 static void term_render(void)
  • buffer (function) kernel/vga_fb.c:2870 * owns the buffer (indices reset, render reads an empty ring). */ void term_clear(void)
  • term_render_active (function) kernel/vga_fb.c:2887 static void term_render_active(void) -- Repaint only the bottom region that a live edit touches: from the active line's first visible display row to the...
  • line (function) kernel/vga_fb.c:2930 `* display stale bytes left over from a longer previous line (e.g. the prompt
  • would show the ta...`
  • escapes (function) kernel/vga_fb.c:2939 `* swallowing them here keeps the escapes (which the serial side needs)
    • from printing as li...`
  • vga_fb_puts_term (function) kernel/vga_fb.c:2996 void vga_fb_puts_term(const char *s)
  • vga_fb_text_cursor (function) kernel/vga_fb.c:3002 void vga_fb_text_cursor(int col) -- Show the text cursor at character column col of the active line, or hide * it with a negative column.
  • vga_fb_hide_text_cursor (function) kernel/vga_fb.c:3010 void vga_fb_hide_text_cursor(void) -- Show the text cursor at character column col of the active line, or hide * it with a negative column.
  • vga_fb_draw_desktop (function) kernel/vga_fb.c:3034 void vga_fb_draw_desktop(void) -- Docstring: Repaint the desktop through the shared render plan.
  • gfx_view_in_rect (function) kernel/vga_fb.c:3129 static void gfx_view_in_rect(const wm_gfxview_rect_t *r, int titled, wm_gfxview_t *v) -- Docstring: View of the persistent source inside an arbitrary frame, * titled when the frame is tall enough to carry...
  • gfx_animate (function) kernel/vga_fb.c:3148 static void gfx_animate(const wm_gfxview_rect_t *from, const wm_gfxview_rect_t *to, ... -- Docstring: Glide the persistent source frame from one rect to * another over the desktop, then settle with a plain...
  • gfx_taskbar_rect (function) kernel/vga_fb.c:3198 static void gfx_taskbar_rect(wm_gfxview_rect_t *r) -- fb_tgt = fb_shadow; gfx_compose(gfx_keep, gfx_keep_kind, gfx_keep_sw, gfx_keep_sh, &v, 0); fb_tgt = 0...
  • gfx_drop_focus (function) kernel/vga_fb.c:3235 static void gfx_drop_focus(int source) -- Docstring: Hand keyboard focus to the graphics window without a * redraw (callers repaint once afterwards). static...
  • from (function) kernel/vga_fb.c:3246 `* leaving returns to the view it came from (floating or tiled). Returns
  • 0 on success, -1 witho...`
  • vga_fb_gfx_set_hidden (function) kernel/vga_fb.c:3280 int vga_fb_gfx_set_hidden(int hide) -- Docstring: Minimize (hide) or restore the graphics window.
  • vga_fb_gfx_view_name (function) kernel/vga_fb.c:3308 const char *vga_fb_gfx_view_name(void) -- if (gfx_view_valid) gfx_animate(&from, &btn, titled, 0); else vga_fb_draw_desktop(); return 0; } gfx_hidden = 0...
  • term_toggle_fullscreen (function) kernel/vga_fb.c:3320 static void term_toggle_fullscreen(void) -- /** Docstring: Graphics view state for wm state/wm list. const char *vga_fb_gfx_view_name(void) { const char *n...
  • vga_fb_toggle_fullscreen (function) kernel/vga_fb.c:3332 void vga_fb_toggle_fullscreen(void) -- Docstring: Toggle fullscreen on the focused window: the graphics * window scales to the whole display, a terminal...
  • term_toggle_minimize (function) kernel/vga_fb.c:3343 static void term_toggle_minimize(void) -- Minimize/restore the terminal window.
  • vga_fb_toggle_minimize (function) kernel/vga_fb.c:3353 void vga_fb_toggle_minimize(void) -- Minimize/restore the terminal window.
  • vga_fb_is_minimized (function) kernel/vga_fb.c:3361 int vga_fb_is_minimized(void)
  • vga_fb_is_fullscreen (function) kernel/vga_fb.c:3362 int vga_fb_is_fullscreen(void)
  • gfx_snap (function) kernel/vga_fb.c:3367 static void gfx_snap(int zone) -- Snap the focused graphics window into a screen region (halves place it against that edge, quadrants into that...
  • term_close_default (function) kernel/vga_fb.c:3400 static void term_close_default(void) -- Docstring: Terminal close button: restore the default geometry (the * shell cannot be closed).
  • vga_fb_close_active (function) kernel/vga_fb.c:3416 int vga_fb_close_active(void) -- Close the focused window.
  • vga_fb_move_terminal (function) kernel/vga_fb.c:3430 void vga_fb_move_terminal(int dx, int dy)
  • term_max_cols (function) kernel/vga_fb.c:3475 static int term_max_cols(void) -- --- Tiling window operations (Alt = WM modifier) ---- Snap places the window in a screen half or quadrant and sizes...
  • term_max_rows (function) kernel/vga_fb.c:3479 static int term_max_rows(void)
  • term_finish_layout (function) kernel/vga_fb.c:3484 static void term_finish_layout(void)
  • vga_fb_snap_window (function) kernel/vga_fb.c:3490 void vga_fb_snap_window(int zone)
  • vga_fb_resize (function) kernel/vga_fb.c:3518 void vga_fb_resize(int dcols, int drows)
  • vga_fb_reset_default (function) kernel/vga_fb.c:3538 void vga_fb_reset_default(void) -- int ncol = term_sz_cols + dcols; int nrow = term_sz_rows + drows; if (ncol < 1) ncol = 1; if (nrow < 1) nrow = 1; if...
  • wallpaper_ensure (function) kernel/vga_fb.c:3592 static void wallpaper_ensure(void)
  • wallpaper_usable (function) kernel/vga_fb.c:3644 static int wallpaper_usable(void) -- d[2] = px[0]; if (bpx == 4) d[3] = 0; } } } stbi_image_free(img); wall_native = cache; wall_cw = fb_width; wall_ch =...
  • wallpaper_draw (function) kernel/vga_fb.c:3649 static void wallpaper_draw(void)
  • pipe_field (function) kernel/vga_fb.c:3675 static const char *pipe_field(const char *line, int idx, char *buf, int buflen) -- --- Desktop shortcut icons ---- Shortcuts are defined in etc/shortcuts on the ramdisk, one per line...
  • icon_nearest (function) kernel/vga_fb.c:3693 static int icon_nearest(int r, int g, int b) -- Nearest entry in the 16-colour icon palette (squared RGB distance, * integer-only: at most 3255255 per entry, far...
  • icon_embedded (function) kernel/vga_fb.c:3709 static const uint8_t *icon_embedded(const char *name) -- for (i = 0; i < ICON_PAL_SIZE; i++) { int dr = r - icon_pal[i][0]; int dg = g - icon_pal[i][1]; int db = b...
  • icon_decode (function) kernel/vga_fb.c:3729 static const uint8_t *icon_decode(const char *path) -- Decode a shortcut's PNG to raw 32x32 RGBA pixels.
  • icon_embedded_rgba (function) kernel/vga_fb.c:3763 static const uint8_t *icon_embedded_rgba(const uint8_t *idx) -- Expand an embedded index icon (desktop_icons.h, transparent 0) to RGBA through the icon palette, so fallback art...
  • dock_label_px (function) kernel/vga_fb.c:3791 static int dock_label_px(const struct desktop_shortcut *sc) -- Width of the longest shortcut label in pixels (cached after load).
  • shortcuts_layout (function) kernel/vga_fb.c:3800 static void shortcuts_layout(void) -- Dock layout: one centred row just above the taskbar.
  • shortcut_cell_left (function) kernel/vga_fb.c:3818 static int shortcut_cell_left(int i) -- dock_h = ICON_H + DOCK_LABEL_GAP + ICON_LABEL_H + 2 * DOCK_PAD_Y; x0 = (fb_width - dock_w) / 2; if (x0 < 0) x0 = 0...
  • desktop_shortcuts_load (function) kernel/vga_fb.c:3825 void desktop_shortcuts_load(void)
  • shortcut_draw_scaled (function) kernel/vga_fb.c:3881 static void shortcut_draw_scaled(const struct desktop_shortcut *sc, ... -- Blit one shortcut icon scaled to dw x dh at (dx, dy), nearest neighbour from the cached 32x32 RGBA source.
  • dock_hover_index (function) kernel/vga_fb.c:3906 static int dock_hover_index(int mx, int my) -- Index of the shortcut column under (mx, my), or -1.
  • dock_bounce_counts (function) kernel/vga_fb.c:3933 void dock_bounce_counts(unsigned long *kicks, unsigned long *paints)
  • dock_click_count (function) kernel/vga_fb.c:3943 void dock_click_count(unsigned long *edges)
  • dock_bounce_elapsed (function) kernel/vga_fb.c:3949 static unsigned long dock_bounce_elapsed(void) -- Ticks elapsed since the bounce click, capped so the subtraction can * never wrap on a late read.
  • dock_bounce_live (function) kernel/vga_fb.c:3957 static int dock_bounce_live(void) -- Ticks elapsed since the bounce click, capped so the subtraction can * never wrap on a late read. static unsigned...
  • dock_pending_active (function) kernel/vga_fb.c:4007 int dock_pending_active(void)
  • dock_paint_icons (function) kernel/vga_fb.c:4015 static void dock_paint_icons(int hover) -- Paint every shortcut icon and label at the given hover sizes.
  • desktop_shortcuts_draw (function) kernel/vga_fb.c:4051 void desktop_shortcuts_draw(void)
  • wallpaper_rect (function) kernel/vga_fb.c:4078 static void wallpaper_rect(int x0, int y0, int w, int h) -- Paint one wallpaper rectangle from the cache (solid fill when the cache * is absent or stale): the strip-erase...
  • dock_paint_hover (function) kernel/vga_fb.c:4109 static void dock_paint_hover(int hover) -- Hover repaint without the fullscreen flash: erase only the dock strip (bar plus the overflow the magnified icons...
  • command (function) kernel/vga_fb.c:4140 * its launch command (config-driven, covers apps that never set a window * title);
  • gfx_task_icon (function) kernel/vga_fb.c:4145 static const uint8_t *gfx_task_icon(void) -- Icon for the taskbar running-app button.
  • desktop_shortcuts_hit_test (function) kernel/vga_fb.c:4166 const char *desktop_shortcuts_hit_test(int mx, int my)
  • mouse_focus_topmost (function) kernel/vga_fb.c:4180 static int mouse_focus_topmost(int mx, int my) -- const char *desktop_shortcuts_hit_test(int mx, int my) { shortcuts_layout(); for (int i = 0; i < shortcut_count...
  • mouse_apply_wheel (function) kernel/vga_fb.c:4206 static void mouse_apply_wheel(int wheel, int step) -- if (!twins[f].present) continue; if (tw_hit(f, mx, my)) { if (f == wm_focus) return 0; before = wm_focus...
  • pointer (function) kernel/vga_fb.c:4227 * tiled window floats it at native size under the pointer (the grab point * keeps its relative position along the...
  • mouse_drag_gfx (function) kernel/vga_fb.c:4230 static void mouse_drag_gfx(const wm_geom_config_t *gcfg, int mx, int my) -- Docstring: Title-bar drag of the graphics window.
  • mouse_drag_term (function) kernel/vga_fb.c:4282 static void mouse_drag_term(const wm_geom_config_t *gcfg, int win_w, int mx, int my, int gfx_cursor) -- Docstring: Title-bar drag of the focused terminal window.
  • mouse_scrollbar (function) kernel/vga_fb.c:4305 static void mouse_scrollbar(const wm_geom_config_t *gcfg, int mx, int my) -- wm_grab_cx = (mx - term_px_x) / FONT_W; } } else { wm_dragging = 0; } if (wm_dragging) { vga_fb_drag_terminal(mx...
  • vga_fb_wait_tick (function) kernel/vga_fb.c:4334 void vga_fb_wait_tick(void) -- Docstring: Drive the desktop from a kernel wait loop.
  • vga_fb_mouse_tick (function) kernel/vga_fb.c:4343 void vga_fb_mouse_tick(void) -- timer ISR drives it only for the pid-0 exec frame (user_program_active) and the shell's input loop is not running...
  • path (function) kernel/vga_fb.c:4354 * present path (blit_gfx_buf) is the sole cursor painter. The tick * used to share the sprite state with it and...
  • state (function) kernel/vga_fb.c:4467 `* ignores the button state (the arming press is consumed) and settles
    • once on expiry, so t...`
  • vga_fb_mouse_init (function) kernel/vga_fb.c:4545 void vga_fb_mouse_init(void)
  • vga_fb_history_page (function) kernel/vga_fb.c:4599 void vga_fb_history_page(int dir) -- Docstring: Page the terminal history by one screen (dir -1 up, +1 down).
  • vga_fb_init (function) kernel/vga_fb.c:4611 void vga_fb_init(void)

kernel/vga_fx.c

Depends on: headers/vga_fb.h, headers/vga_fx.h

  • vga_fx_set_enabled (function) kernel/vga_fx.c:22 void vga_fx_set_enabled(int on)
  • vga_fx_enabled (function) kernel/vga_fx.c:27 int vga_fx_enabled(void)
  • fx_wait_until (function) kernel/vga_fx.c:35 static void fx_wait_until(unsigned long deadline) -- Deadline pacing over the PIT-calibrated TSC clock.
  • vga_fx_snap_rect (function) kernel/vga_fx.c:41 unsigned int *vga_fx_snap_rect(int x, int y, int w, int h)
  • vga_fx_restore_rect (function) kernel/vga_fx.c:63 void vga_fx_restore_rect(int x, int y, int w, int h, const unsigned int *buf)
  • vga_fx_free (function) kernel/vga_fx.c:77 void vga_fx_free(unsigned int *buf)
  • once (function) kernel/vga_fx.c:90 `* once (prev[] tracks the revealed frontier per column), then the final
  • restore guarantees the...`
  • vga_fx_melt_rect (function) kernel/vga_fx.c:150 void vga_fx_melt_rect(int x, int y, int w, int h, const unsigned int *oldb, const unsigned in... -- Drive one old->new melt.
  • vga_fx_melt_from_black (function) kernel/vga_fx.c:159 void vga_fx_melt_from_black(int x, int y, int w, int h, const unsigned int *newb) -- Boot melt: the framebuffer is already cleared to black on entry, so no * old snapshot is needed; the new frame...

mcp/mcp_dbg_driver.py

Depends on: kernel/time.c

mcp/mcp_dogfood.py

Depends on: kernel/time.c

Next: API_p9.md

Start

Wiki

Agent Docs

Recipes

Clone this wiki locally