Repository navigation
Agent API_p8
Previous: API_p7.md
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/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:60static 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:70kfd_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:89KFILE *kfd_get(int fd) -
kfd_put(function)kernel/syscalls.c:102void kfd_put(KFILE *f) -
kfd_view_count(function)kernel/syscalls.c:114static 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:138* child untouched (caller refuses fail-closed). */ int kfd_view_copy(proc_t *child, proc_t *parent) -
NULL(function)kernel/syscalls.c:165* on NULL (already released or never owned). */ void kfd_view_release(proc_t *p) -
kfd_view_cloexec(function)kernel/syscalls.c:196void 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:224* 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:255unsigned 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:265static long sys_minios_dns(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_tls_retired(function)kernel/syscalls.c:270static long sys_minios_tls_retired(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_time(function)kernel/syscalls.c:283static 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:292static long sys_linux_futex(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_time(function)kernel/syscalls.c:341static long sys_minios_time(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_kbd(function)kernel/syscalls.c:345static long sys_minios_kbd(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_palette(function)kernel/syscalls.c:365static long sys_minios_palette(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_kbd_raw(function)kernel/syscalls.c:377static 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:383static 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:390static 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:394static 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:408static 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:419static 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:428static long sys_minios_rtc(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_fb_info(function)kernel/syscalls.c:441static 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:461static long sys_minios_pcspk_vol(long a1, long a2, long a3, long a4, long a5, long a6) -
boot(function)kernel/syscalls.c:478* boot (minfo_sleep_init from sched_init); -
minfo_sleep_init(function)kernel/syscalls.c:485void minfo_sleep_init(int tick_ok) -
minfo_tick_wake(function)kernel/syscalls.c:490void minfo_tick_wake(void *ctx) -
view(function)kernel/syscalls.c:502* view (same as theclear` builtin). Anything else is -EINVAL. Each
- out-word is range-checked...`
-
sys_minios_spawn(function)kernel/syscalls.c:593static long sys_minios_spawn(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_lz4_compress(function)kernel/syscalls.c:604static 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:617static long sys_minios_lz4_decompress(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_mouse(function)kernel/syscalls.c:631static long sys_minios_mouse(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_nk_frame(function)kernel/syscalls.c:655static long sys_minios_nk_frame(long a1, long a2, long a3, long a4, long a5, long a6) -
sb16_audio_device(function)kernel/syscalls.c:668static 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:674static 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:686static 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:697static 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:711static 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:715static 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:719static 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:723static 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:736static 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:741static 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:749static 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:759static 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:769static 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:785static 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:798static 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:804static long sys_minios_futex_wake(long a1, long a2, long a3, long a4, long a5, long a6) -
batch_kdispatch(function)kernel/syscalls.c:813static long batch_kdispatch(uint32_t opcode) -
DOOM_FRAME(function)kernel/syscalls.c:828* 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:862static 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:873static long sys_minios_submit_batch(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_rlimit(function)kernel/syscalls.c:896static 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_minios_dir_list(function)kernel/syscalls.c:937static long sys_minios_dir_list(long a1, long a2, long a3, long a4, long a5, long a6)-- Docstring: unified directory listing for the ring-3 file browser. a1 = path, a2 = user buffer, a3 = buffer capacity. -
syscall_trace_enabled(function)kernel/syscalls.c:1109long syscall_trace_enabled(void) -
syscall_trace_set(function)kernel/syscalls.c:1110void syscall_trace_set(int on) -
syscall_trace_verbose_enabled(function)kernel/syscalls.c:1111long syscall_trace_verbose_enabled(void) -
syscall_trace_verbose_set(function)kernel/syscalls.c:1112void syscall_trace_verbose_set(int on) -
syscall_trace_shown(function)kernel/syscalls.c:1113unsigned long syscall_trace_shown(void) -
unchanged(function)kernel/syscalls.c:1128* 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:1139static long sys_linux_read(long a1, long a2, long a3, long a4, long a5, long a6) -
EAGAIN(function)kernel/syscalls.c:1155* writer open is EAGAIN (-11, retry); -
EOF(function)kernel/syscalls.c:1156* is EOF (0). */ KFILE *o = kfd_get(0); -
fd_write(function)kernel/syscalls.c:1195static 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:1219static long sys_linux_write(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_writev(function)kernel/syscalls.c:1226static long sys_linux_writev(long a1, long a2, long a3, long a4, long a5, long a6) -
do_open_path(function)kernel/syscalls.c:1269static long do_open_path(const char *path, long flags)-- Shared by sys_linux_open (2) and the openat fall-through (257). -
sys_linux_open(function)kernel/syscalls.c:1302static long sys_linux_open(long a1, long a2, long a3, long a4, long a5, long a6) -
kfd_claim_from(function)kernel/syscalls.c:1335static 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:1360static long kfd_claim(KFILE *f) -
sys_linux_pipe2(function)kernel/syscalls.c:1384static 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:1412static long sys_linux_pipe(long a1, long a2, long a3, long a4, long a5, long a6) -
kfd_cloexec_get(function)kernel/syscalls.c:1418static 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:1428static void kfd_cloexec_set(long fd, int on) -
kfile_status_flags(function)kernel/syscalls.c:1439static 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:1490static 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:1500static 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:1524static 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:1537static long sys_linux_eventfd(long a1, long a2, long a3, long a4, long a5, long a6) -
kfd_poll_revents(function)kernel/syscalls.c:1545int 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:1580static 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:1610static 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:1639static long sys_linux_dup(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_dup2(function)kernel/syscalls.c:1654static long sys_linux_dup2(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_close(function)kernel/syscalls.c:1688static long sys_linux_close(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_lseek(function)kernel/syscalls.c:1711static long sys_linux_lseek(long a1, long a2, long a3, long a4, long a5, long a6) -
mm_ensure_cur(function)kernel/syscalls.c:1729static 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:1738static long sys_linux_brk(long a1, long a2, long a3, long a4, long a5, long a6) -
mmap_tag_file(function)kernel/syscalls.c:1779static 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:1794static 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:1803static long sys_linux_mmap(long a1, long a2, long a3, long a4, long a5, long a6) -
vma_live_first_overlap(function)kernel/syscalls.c:1901static 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:1918static 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:1932* hold a split (the mapping is restored untouched). */ static long sys_linux_munmap(long a1, long... -
mprotect_pte(function)kernel/syscalls.c:1982static 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:2006`* passes under mm_lock: validate every page first (present, user,
- private), then apply, so a h...`
-
vma_free_cover(function)kernel/syscalls.c:2087static 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:2106static 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:2128* mapping is one exact live VMA node (what mmap inserts); -
sys_linux_mremap(function)kernel/syscalls.c:2133static 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:2399static long sys_linux_sigaction(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_sigprocmask(function)kernel/syscalls.c:2404static long sys_linux_sigprocmask(long a1, long a2, long a3, long a4, long a5, long a6) -
kfile_readable_bytes(function)kernel/syscalls.c:2423static int kfile_readable_bytes(KFILE *f)-- #define LINUX_TCGETS 0x5401 #define LINUX_TIOCGWINSZ 0x5413 #define LINUX_FIONREAD 0x541B #define... -
FIONREAD(function)kernel/syscalls.c:2439`* descriptor answers FIONREAD (bytes readable now), FIONBIO (O_NONBLOCK),
- FIOCLEX/FIONCLEX (FD...`
-
sys_linux_access(function)kernel/syscalls.c:2479static long sys_linux_access(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_socket(function)kernel/syscalls.c:2501static long sys_linux_socket(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_connect(function)kernel/syscalls.c:2506static long sys_linux_connect(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_bind(function)kernel/syscalls.c:2512static long sys_linux_bind(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_listen(function)kernel/syscalls.c:2518static long sys_linux_listen(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_accept(function)kernel/syscalls.c:2523static long sys_linux_accept(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_sendto(function)kernel/syscalls.c:2529static long sys_linux_sendto(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_recvfrom(function)kernel/syscalls.c:2534static long sys_linux_recvfrom(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_shutdown(function)kernel/syscalls.c:2539static long sys_linux_shutdown(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_prlimit64(function)kernel/syscalls.c:2574static 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:2607static 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:2629static 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:2646static 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:2654static 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:2665* clock (the monotonic TSC clock times it, as Linux does: glibc sends * every nanosleep here as a relative... -
clock_gettime(function)kernel/syscalls.c:2669* clock_gettime(1) reads. */ static long sys_linux_clock_nanosleep(long a1, long a2, long a3, lon... -
long(function)kernel/syscalls.c:2671unsigned long (*now)(void); -
sys_linux_setsockopt(function)kernel/syscalls.c:2686static long sys_linux_setsockopt(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_getsockopt(function)kernel/syscalls.c:2693static long sys_linux_getsockopt(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_getsockname(function)kernel/syscalls.c:2700static long sys_linux_getsockname(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_getpeername(function)kernel/syscalls.c:2706static long sys_linux_getpeername(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_sendmsg(function)kernel/syscalls.c:2712static long sys_linux_sendmsg(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_sendmmsg(function)kernel/syscalls.c:2718static long sys_linux_sendmmsg(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_poll(function)kernel/syscalls.c:2726static long sys_linux_poll(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_flock(function)kernel/syscalls.c:2733static long sys_linux_flock(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_fsync(function)kernel/syscalls.c:2742static 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:2747static long sys_linux_fdatasync(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_getcwd(function)kernel/syscalls.c:2752static long sys_linux_getcwd(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_unlink(function)kernel/syscalls.c:2764static long sys_linux_unlink(long a1, long a2, long a3, long a4, long a5, long a6) -
readlink_path(function)kernel/syscalls.c:2788static 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:2804static long sys_linux_readlink(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_prctl(function)kernel/syscalls.c:2810static 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:2819static 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:2833static long sys_linux_fstat(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_gettimeofday(function)kernel/syscalls.c:2856static long sys_linux_gettimeofday(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_arch_prctl(function)kernel/syscalls.c:2879static long sys_linux_arch_prctl(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_uname(function)kernel/syscalls.c:2891static long sys_linux_uname(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_madvise(function)kernel/syscalls.c:2914static 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:2922static long sys_linux_mkdir(long a1, long a2, long a3, long a4, long a5, long a6)-- mkdir (83): a MiniFS directory. -
trace_is_noisy(function)kernel/syscalls.c:3018static int trace_is_noisy(long n) -
syscall_name(function)kernel/syscalls.c:3045const 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:3086static void trace_hint_print(long n, int kind, const char *path, lon... -
sc_record(function)kernel/syscalls.c:3110static void sc_record(long n, long a1, long a2, long a3, long ret) -
sc_hex(function)kernel/syscalls.c:3130static void sc_hex(unsigned long v) -
sc_record_dump(function)kernel/syscalls.c:3140void 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:3158long ksyscall(long n, long a1, long a2, long a3, long a4, long a5, long a6) -
user_range_ok(function)kernel/syscalls.c:3197int user_range_ok(unsigned long p, unsigned long len) -
Discipline(function)kernel/syscalls.c:3210* * Discipline (audit 2026-09, kept as comment, not a deprecation: both * primitives are legitimate): user_range_ok... -
products(function)kernel/syscalls.c:3214`* products (writev cntsizeof, poll a28, spawn (argc+1)*sizeof) are
- pre-bounded against (END-...`
-
ksyscall_dispatch(function)kernel/syscalls.c:3227static long ksyscall_dispatch(long n, long a1, long a2, long a3, long a4, long a5, long a6) -
readlink(function)kernel/syscalls.c:3364* readlink (89). */ return readlink_path((const char *)a2, (char *)a3, a4); -
proc_spawn_elf(function)kernel/syscalls.c:3473* 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:3482static int k_syscall_spawn(const char *path, const char *redirect, i...
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:18long sys_minios_clone(long flags, long newsp, long a3, long a4, long a5, long a6) -
sys_minios_thread_spawn(function)kernel/syscalls_proc.c:24long sys_minios_thread_spawn(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_minios_seccomp(function)kernel/syscalls_proc.c:37long 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:53long 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:66long sys_linux_yield(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_getpid(function)kernel/syscalls_proc.c:75long 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:83long 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:89long sys_linux_fork(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_vfork(function)kernel/syscalls_proc.c:94long sys_linux_vfork(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_execve(function)kernel/syscalls_proc.c:99long sys_linux_execve(long a1, long a2, long a3, long a4, long a5, long a6) -
sys_linux_exit(function)kernel/syscalls_proc.c:184long 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:248long 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:259long sys_linux_gettid(long a1, long a2, long a3, long a4, long a5, long a6)
Depends on: headers/tick.h
-
tick_reset(function)kernel/tick.c:34void 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:58int tick_register_audio(tick_fn_t fn, void *ctx)-- Docstring: Register an unconditional BSP audio effect. -
tick_register_desktop(function)kernel/tick.c:76int tick_register_desktop(tick_fn_t fn, void *ctx)-- Docstring: Register a gated desktop effect. -
tick_register_usb(function)kernel/tick.c:89int tick_register_usb(tick_fn_t fn, void *ctx) -
tick_run_usb(function)kernel/tick.c:103void 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:113void 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:123void 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:133int 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:144int 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:160int tick_desktop_due(unsigned long long ticks, unsigned interval)-- Docstring: Pure desktop gating predicate.
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/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:13static unsigned long ktime_rdtsc(void) -
ktime_init(function)kernel/time.c:19static void ktime_init(void) -
ktime_ms(function)kernel/time.c:33unsigned long ktime_ms(void) -
ktime_us(function)kernel/time.c:41unsigned long ktime_us(void)-- Microsecond resolution over the same calibrated ratio (Phase 0.2/0.3: clock_gettime nsec and gettimeofday usec both...
Depends on: headers/kernel/vga_cursor.h, headers/vga_fb.h
-
cursor_save_bg(function)kernel/vga_cursor.c:40static 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:50static int cursor_is_set(int i, int j)-- spans down-right of the pointer. -
cursor_has_set_neighbour(function)kernel/vga_cursor.c:57static 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:68static void cursor_draw(int mx, int my) -
cursor_restore(function)kernel/vga_cursor.c:81static void cursor_restore(int mx, int my) -
cursor_over(function)kernel/vga_cursor.c:96int 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:106void 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:116void 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:133void cursor_erase(void)-- Docstring: Restore the saved background when the pointer is up, then mark it hidden. -
cursor_invalidate(function)kernel/vga_cursor.c:141void 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:147void 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...
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:49static 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:60static 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:69static 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:90void vga_fb_boot_config(void) -
fb_bytes_per_pixel(function)kernel/vga_fb.c:117int 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:151static 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:169static 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:183static 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:189static 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:210static 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:221static int fb_compose_begin(void)-- Docstring: Enter a composition. -
fb_compose_end(function)kernel/vga_fb.c:234static 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:305static 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:312static void lg_push(const char *line, int len)-- Append a completed logical line to the ring. -
line_nrows(function)kernel/vga_fb.c:327static int line_nrows(int len)-- int k, idx; char *dst; if (!lg) return; if (len >= SB_LINE_MAX) len = SB_LINE_MAX - 1; idx = lg_tail; dst =... -
act_nrows(function)kernel/vga_fb.c:334static int act_nrows(void) -
total_rows(function)kernel/vga_fb.c:337static int total_rows(void)-- else lg_head = (lg_head + 1) % SB_MAX_LINES; } /* Display rows a logical line oflencharacters occupies at... -
disp_clamp(function)kernel/vga_fb.c:345static 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:363static const char *line_at(int abs, int *off)-- Locate the logical line contributing the display rowabs, and set *off to the character offset where that display... -
first(function)kernel/vga_fb.c:419* screen ever showing it whole first (the old flash-then-melt). */ static unsigned int *fx_start_... -
flag(function)kernel/vga_fb.c:496* is the minimized flag (the program keeps running, nothing composites); -
letterbox(function)kernel/vga_fb.c:500* present to repaint chrome plus letterbox (after a desktop redraw or a * view change); -
gfx_view_cfg(function)kernel/vga_fb.c:535static 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:544static 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:550static 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:576void vga_fb_set_gfx_program(const char *name) -
shcmd_base(function)kernel/vga_fb.c:595static void shcmd_base(const char *cmd, char *out, unsigned long cap)-- Basename of a shortcut command's program: first token after an optionalrun, then past the last '/'. "run... -
ci_eq(function)kernel/vga_fb.c:612static int ci_eq(const char *a, const char *b) -
gfx_prog_icon(function)kernel/vga_fb.c:625static 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:638void vga_fb_set_gfx_mode(int on) -
gfx_view_for(function)kernel/vga_fb.c:689static 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:701static void gfx_view_publish(const wm_gfxview_t *v)-- mode. -
gfx_float_frame(function)kernel/vga_fb.c:715static 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:731void 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:745* windows keep the exact historical coordinates (including outside the * window); -
vga_fb_gfx_map_mouse(function)kernel/vga_fb.c:748void 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:763static 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:773static 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:939static void gfx_transition(const wm_gfxview_rect_t *from, int from_titled); -
wm_focus_cursor_sync(function)kernel/vga_fb.c:964static 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:971static 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:983const 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:989void 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:998static void tw_park(int i) -
tw_unpark(function)kernel/vga_fb.c:1028static void tw_unpark(int i) -
wm_init_once(function)kernel/vga_fb.c:1063static void wm_init_once(void) -
tw_select(function)kernel/vga_fb.c:1088static 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:1100int vga_fb_focus_get(void) -
vga_fb_nterms_get(function)kernel/vga_fb.c:1101int vga_fb_nterms_get(void) -
wm_snapshot_state(function)kernel/vga_fb.c:1104static 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:1117void 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:1158* 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:1163static 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:1182int 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... -
content(function)kernel/vga_fb.c:1215`* 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:1296int 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:1307void 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:1323int 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:1329const 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:1341`* window alone (an unfocused graphics window minimizes to the taskbar,
- exactly like the hidden...`
-
vga_fb_list_windows(function)kernel/vga_fb.c:1468void vga_fb_list_windows(void) -
vga_fb_act_empty(function)kernel/vga_fb.c:1526int 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:1530void 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:1535void vga_fb_clear_prompt(void) -
vga_fb_prompted(function)kernel/vga_fb.c:1540int vga_fb_prompted(void) -
vga_fb_prompt_live(function)kernel/vga_fb.c:1549int 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:1556void 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:1571int vga_fb_unpark_line(char *b, int *p)-- A fresh prompt parks empty: record no line, sowm listdoes not * claim a half-typed command that never existed.... -
tw_hit(function)kernel/vga_fb.c:1586static 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:1692void vga_fb_set_gfx_palette(const unsigned char *pal) -
fb_pack_idx(function)kernel/vga_fb.c:1707static 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:1723void fb_write_packed(int x, int y, unsigned long rgb) -
fb_read_packed(function)kernel/vga_fb.c:1743unsigned long fb_read_packed(int x, int y) -
vga_fb_read_rgb(function)kernel/vga_fb.c:1767unsigned long vga_fb_read_rgb(int x, int y) -
fb_write_row_packed(function)kernel/vga_fb.c:1772void 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:1802void 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:1824static 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:1850static 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:1859static void vga_fb_set_palette(void) -
fb_glyph(function)kernel/vga_fb.c:1912static 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:1933void 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:1943void 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:1953void 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:1968void 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:1977void 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:1984void vga_fb_char(int col, int row, char c, uint8_t fg, uint8_t bg) -
vga_fb_str(function)kernel/vga_fb.c:1998void vga_fb_str(int col, int row, const char *s, uint8_t fg, uint8_t bg) -
text_px(function)kernel/vga_fb.c:2009static 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:2035static 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:2061static 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:2076int 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:2077void wm_clear_close(void) -
wm_gfx_mode_active(function)kernel/vga_fb.c:2078int wm_gfx_mode_active(void) -
vga_fb_ps2_owner(function)kernel/vga_fb.c:2081int 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:2101`* minimize hides the app to the taskbar (it never closes it), maximize
- toggles true fullscreen...`
-
directly(function)kernel/vga_fb.c:2149* RGB sources pack directly (quantized to the wallpaper cube in 8-bit). */ static void gfx_scale_... -
gfx_letterbox(function)kernel/vga_fb.c:2254static 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:2273static 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:2285static 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:2351static 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:2367static 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:2380void vga_fb_blit_gfx_window(void) -
vga_fb_blit_nk_window(function)kernel/vga_fb.c:2389void vga_fb_blit_nk_window(void) -
vga_fb_blit_nk_rgb_window(function)kernel/vga_fb.c:2395void 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:2404static void term_recalc(void) -
draw_title_win(function)kernel/vga_fb.c:2430static 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:2461static void taskbar_layout(void) -
draw_speaker_icon(function)kernel/vga_fb.c:2492static 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:2501static void taskbar_render(void) -
title(function)kernel/vga_fb.c:2511* 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:2580static void taskbar_tick(void)-- Redraw the clock only when the wall-clock second changes. -
vga_fb_theme_name(function)kernel/vga_fb.c:2596int 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:2617static void taskbar_theme_cycle(void)-- Cycle the active theme to the next etc/themes/ entry (ramdisk). -
taskbar_handle_click(function)kernel/vga_fb.c:2657static 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:2717static 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:2752static 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:2762static void render_row(int vrow, int abs)-- Render one display row at viewport rowvrowfor the absolute display rowabs. -
term_render(function)kernel/vga_fb.c:2797static void term_render(void) -
buffer(function)kernel/vga_fb.c:2812* owns the buffer (indices reset, render reads an empty ring). */ void term_clear(void) -
term_render_active(function)kernel/vga_fb.c:2829static 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:2872`* display stale bytes left over from a longer previous line (e.g. the prompt
- would show the ta...`
-
escapes(function)kernel/vga_fb.c:2881`* swallowing them here keeps the escapes (which the serial side needs)- from printing as li...`
-
vga_fb_puts_term(function)kernel/vga_fb.c:2938void vga_fb_puts_term(const char *s) -
vga_fb_text_cursor(function)kernel/vga_fb.c:2944void vga_fb_text_cursor(int col)-- Show the text cursor at character columncolof the active line, or hide * it with a negative column. -
vga_fb_hide_text_cursor(function)kernel/vga_fb.c:2952void vga_fb_hide_text_cursor(void)-- Show the text cursor at character columncolof the active line, or hide * it with a negative column. -
vga_fb_draw_desktop(function)kernel/vga_fb.c:2976void vga_fb_draw_desktop(void)-- Docstring: Repaint the desktop through the shared render plan. -
gfx_view_in_rect(function)kernel/vga_fb.c:3071static 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:3090static 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:3140static 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:3177static 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:3188`* 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:3222int 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:3250const 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:3262static void term_toggle_fullscreen(void)-- /** Docstring: Graphics view state forwm state/wm list. const char *vga_fb_gfx_view_name(void) { const char *n... -
vga_fb_toggle_fullscreen(function)kernel/vga_fb.c:3274void 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:3285static void term_toggle_minimize(void)-- Minimize/restore the terminal window. -
vga_fb_toggle_minimize(function)kernel/vga_fb.c:3295void vga_fb_toggle_minimize(void)-- Minimize/restore the terminal window. -
vga_fb_is_minimized(function)kernel/vga_fb.c:3303int vga_fb_is_minimized(void) -
vga_fb_is_fullscreen(function)kernel/vga_fb.c:3304int vga_fb_is_fullscreen(void) -
gfx_snap(function)kernel/vga_fb.c:3309static 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:3342static 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:3358int vga_fb_close_active(void)-- Close the focused window. -
vga_fb_move_terminal(function)kernel/vga_fb.c:3372void vga_fb_move_terminal(int dx, int dy) -
term_max_cols(function)kernel/vga_fb.c:3417static 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:3421static int term_max_rows(void) -
term_finish_layout(function)kernel/vga_fb.c:3426static void term_finish_layout(void) -
vga_fb_snap_window(function)kernel/vga_fb.c:3432void vga_fb_snap_window(int zone) -
vga_fb_resize(function)kernel/vga_fb.c:3460void vga_fb_resize(int dcols, int drows) -
vga_fb_reset_default(function)kernel/vga_fb.c:3480void 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:3534static void wallpaper_ensure(void) -
wallpaper_usable(function)kernel/vga_fb.c:3586static 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:3591static void wallpaper_draw(void) -
pipe_field(function)kernel/vga_fb.c:3617static 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:3635static 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:3651static 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:3671static 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:3705static 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:3733static 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:3742static void shortcuts_layout(void)-- Dock layout: one centred row just above the taskbar. -
shortcut_cell_left(function)kernel/vga_fb.c:3760static 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:3767void desktop_shortcuts_load(void) -
shortcut_draw_scaled(function)kernel/vga_fb.c:3823static 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:3848static 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:3875void dock_bounce_counts(unsigned long *kicks, unsigned long *paints) -
dock_click_count(function)kernel/vga_fb.c:3885void dock_click_count(unsigned long *edges) -
dock_bounce_elapsed(function)kernel/vga_fb.c:3891static 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:3899static 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:3949int dock_pending_active(void) -
dock_paint_icons(function)kernel/vga_fb.c:3957static 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:3993void desktop_shortcuts_draw(void) -
wallpaper_rect(function)kernel/vga_fb.c:4020static 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:4051static 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:4082* its launch command (config-driven, covers apps that never set a window * title); -
gfx_task_icon(function)kernel/vga_fb.c:4087static const uint8_t *gfx_task_icon(void)-- Icon for the taskbar running-app button. -
desktop_shortcuts_hit_test(function)kernel/vga_fb.c:4108const char *desktop_shortcuts_hit_test(int mx, int my) -
mouse_focus_topmost(function)kernel/vga_fb.c:4122static 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:4148static 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:4169* 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:4172static 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:4224static 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:4247static 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:4276void vga_fb_wait_tick(void)-- Docstring: Drive the desktop from a kernel wait loop. -
vga_fb_mouse_tick(function)kernel/vga_fb.c:4285void 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:4296* 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:4409`* 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:4487void vga_fb_mouse_init(void) -
vga_fb_init(function)kernel/vga_fb.c:4515void vga_fb_init(void)
Depends on: headers/vga_fb.h, headers/vga_fx.h
-
vga_fx_set_enabled(function)kernel/vga_fx.c:22void vga_fx_set_enabled(int on) -
vga_fx_enabled(function)kernel/vga_fx.c:27int vga_fx_enabled(void) -
fx_wait_until(function)kernel/vga_fx.c:35static void fx_wait_until(unsigned long deadline)-- Deadline pacing over the PIT-calibrated TSC clock. -
vga_fx_snap_rect(function)kernel/vga_fx.c:41unsigned int *vga_fx_snap_rect(int x, int y, int w, int h) -
vga_fx_restore_rect(function)kernel/vga_fx.c:63void vga_fx_restore_rect(int x, int y, int w, int h, const unsigned int *buf) -
vga_fx_free(function)kernel/vga_fx.c:77void 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:150void 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:159void 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...
Depends on: kernel/time.c
-
Client.__init__(method)mcp/mcp_dbg_driver.py:16def __init__(self) -
Client.request(method)mcp/mcp_dbg_driver.py:28def request(self, method, params) -
Client.tool(method)mcp/mcp_dbg_driver.py:46def tool(self, name, params) -
Client.close(method)mcp/mcp_dbg_driver.py:54def close(self) -
main(function)mcp/mcp_dbg_driver.py:64def main()
Depends on: kernel/time.c
-
Client.__init__(method)mcp/mcp_dogfood.py:20def __init__(self, addons_dir) -
Client.request(method)mcp/mcp_dogfood.py:40def request(self, method, params) -
Client.tool(method)mcp/mcp_dogfood.py:58def tool(self, name, params) -
Client.close(method)mcp/mcp_dogfood.py:68def close(self) -
main(function)mcp/mcp_dogfood.py:78def main()
Depends on: kernel/time.c
Imported by: mcp/minios_mcp.py
-
parse_addon_yaml(function)mcp/minios_addons.py:73def parse_addon_yaml(text)-- Parse the strict YAML subset. -
fail(function)mcp/minios_addons.py:85def fail(lineno, why) -
validate_addon(function)mcp/minios_addons.py:205def validate_addon(addon, source)-- Check bounds and character sets. -
validate_addon_path(function)mcp/minios_addons.py:295def validate_addon_path(path)-- dst paths live on the ramdisk: relative, no '..', bounded charset. -
validate_shell_line(function)mcp/minios_addons.py:309def validate_shell_line(line)-- Build/verify lines are single printable-ASCII shell commands. -
load_addons_dir(function)mcp/minios_addons.py:323def load_addons_dir(addons_dir)-- Load every addon yaml; each entry is a dict or an error string. -
split_for_editor(function)mcp/minios_addons.py:347def split_for_editor(text)-- Split a source into editor-sized chunks. -
exit_code_of(function)mcp/minios_addons.py:372def exit_code_of(text) -
AddonState.__init__(method)mcp/minios_addons.py:380def __init__(self, path) -
AddonState.load(method)mcp/minios_addons.py:383def load(self) -
AddonState.save(method)mcp/minios_addons.py:393def save(self, addons) -
install_addon(function)mcp/minios_addons.py:401def install_addon(session, addon, cfg)-- Install one validated addon into the booted MiniOS session.
Next: API_p9.md
Generated offline by readmenator from commit e1e960505938. Edits here are overwritten by readmenator . --rebuild.
Start
Wiki
- community_0_headers_kernel
- community_10_orphans
- community_1_progs_doomgeneric_d_englsh
- community_2_progs_src
- community_3_progs_doomgeneric_p_spec
- community_4_tools_tls_crypto
- community_5_headers_vga_fb
- community_6_progs_doomgeneric_net_defs
- community_7_headers_batch
- community_8_headers_tick
- community_9_tools_doom_pwad
- concepts
- queries
- REPORT
Agent Docs
- API
- API_p10
- API_p11
- API_p12
- API_p13
- API_p14
- API_p15
- API_p16
- API_p17
- API_p18
- API_p19
- API_p2
- API_p20
- API_p21
- API_p3
- API_p4
- API_p5
- API_p6
- API_p7
- API_p8
- API_p9
- ARCHITECTURE
- ARCHITECTURE_p2
- ARCHITECTURE_p3
- ARCHITECTURE_p4
- CONCEPTS
- GOTCHAS
- INDEX
- INDEX_p2
- KB_asm
- KB_boot
- KB_doomgeneric
- KB_doomgeneric_p10
- KB_doomgeneric_p11
- KB_doomgeneric_p12
- KB_doomgeneric_p2
- KB_doomgeneric_p3
- KB_doomgeneric_p4
- KB_doomgeneric_p5
- KB_doomgeneric_p6
- KB_doomgeneric_p7
- KB_doomgeneric_p8
- KB_doomgeneric_p9
- KB_drivers
- KB_drivers_p2
- KB_file
- KB_freedomui
- KB_fs
- KB_headers
- KB_headers_arch_x86
- KB_headers_drivers
- KB_headers_kernel
- KB_headers_p2
- KB_headers_p3
- KB_headers_p4
- KB_headers_p5
- KB_headers_p6
- KB_kernel
- KB_kernel_p2
- KB_kernel_p3
- KB_kernel_p4
- KB_lib
- KB_lisp
- KB_lua
- KB_mcp
- KB_minios
- KB_misc
- KB_misc_p2
- KB_misc_p3
- KB_mm
- KB_net
- KB_nuklear
- KB_pokemon
- KB_progs
- KB_quake2generic
- KB_root
- KB_src
- KB_src_p2
- KB_src_p3
- KB_tests
- KB_tests_p2
- KB_tls_u
- KB_tools
- KB_tools_p2
- KB_wl
- KB_x86
- MEMORY
- SECURITY
- SYMBOLS
- SYMBOLS_p10
- SYMBOLS_p11
- SYMBOLS_p12
- SYMBOLS_p13
- SYMBOLS_p14
- SYMBOLS_p15
- SYMBOLS_p16
- SYMBOLS_p17
- SYMBOLS_p18
- SYMBOLS_p19
- SYMBOLS_p2
- SYMBOLS_p20
- SYMBOLS_p21
- SYMBOLS_p22
- SYMBOLS_p23
- SYMBOLS_p24
- SYMBOLS_p25
- SYMBOLS_p26
- SYMBOLS_p27
- SYMBOLS_p3
- SYMBOLS_p4
- SYMBOLS_p5
- SYMBOLS_p6
- SYMBOLS_p7
- SYMBOLS_p8
- SYMBOLS_p9
Recipes