Repository navigation
Agent API_p4
Previous: API_p3.md
Imported by: headers/shell.h, kernel/console_in.c, kernel/shell.c
-
Consumers(function)headers/kernel/console_in.h:7* Consumers (shell prompt, editor, SPAWN waits, GETC_RAW syscall) include * this header instead of reaching into... -
console_peek(function)headers/kernel/console_in.h:17int console_peek(void);-- Docstring: Blocking read from PS/2 or COM1 with PageUp/PageDown * scrollback detour. int console_getc(void); /**... -
console_raw_try(function)headers/kernel/console_in.h:21int console_raw_try(void);-- Docstring: Raw console multiplexer backing GETC_RAW: same sources, * no line buffering, echo or scrollback. try... -
console_raw_get(function)headers/kernel/console_in.h:22int console_raw_get(void); -
console_job_try(function)headers/kernel/console_in.h:25int console_job_try(void);-- Docstring: Raw console multiplexer backing GETC_RAW: same sources, * no line buffering, echo or scrollback. try... -
console_job_get(function)headers/kernel/console_in.h:26int console_job_get(void); -
console_ungetc(function)headers/kernel/console_in.h:30void console_ungetc(unsigned char c);-- Docstring: Push one byte back into the console FIFO; the next * console_getc/console_peek serves it first. -
console_stdin_push(function)headers/kernel/console_in.h:37int console_stdin_push(const char *data, unsigned long len);-- Docstring: Pipeline stdin override: the next console_getc calls serve len bytes from data, then report EOF (-1)... -
console_stdin_clear(function)headers/kernel/console_in.h:38void console_stdin_clear(void); -
console_stdin_active(function)headers/kernel/console_in.h:39int console_stdin_active(void);
Imported by: kernel/vga_cursor.c, kernel/vga_fb.c
-
cursor_over(function)headers/kernel/vga_cursor.h:16int cursor_over(int x0, int y0, int w, int h);-- Docstring: vga_cursor.h -- boundary of the pointer sprite layer (kernel/vga_cursor.c). -
cursor_place(function)headers/kernel/vga_cursor.h:19void cursor_place(int mx, int my);-- (kernel/vga_cursor.c). -
cursor_move(function)headers/kernel/vga_cursor.h:22void cursor_move(int mx, int my);-- #include "kernel.h" /** Docstring: Pointer sprite dimensions in pixels. #define CURSOR_W 8 #define CURSOR_H 8 /**... -
cursor_erase(function)headers/kernel/vga_cursor.h:25void cursor_erase(void);-- /** Docstring: Pointer sprite dimensions in pixels. #define CURSOR_W 8 #define CURSOR_H 8 /** Docstring: True when... -
cursor_invalidate(function)headers/kernel/vga_cursor.h:28void cursor_invalidate(void);-- /** Docstring: True when the sprite overlaps the given screen rectangle. int cursor_over(int x0, int y0, int w, int... -
cursor_note_repaint(function)headers/kernel/vga_cursor.h:31void cursor_note_repaint(int x0, int y0, int w, int h);-- /** Docstring: Paint the pointer at mx/my unconditionally. void cursor_place(int mx, int my); /** Docstring...
Imported by: kernel/syscalls.c, kernel/time.c, tests/test_ktime.c
-
ktime_us_from_delta(function)headers/ktime.h:19static inline unsigned long ktime_us_from_delta(unsigned long delta_ticks, ... -
wall_us_from_parts(function)headers/ktime.h:30static inline unsigned long wall_us_from_parts(unsigned long base_sec, ...-- wall_us_from_parts: wall-clock microseconds from an RTC-anchored base. base_sec is the last seen RTC second...
Imported by: headers/kernel.h, kernel/ldso_parse.c, kernel/loader.c, kernel/mm/paging.c, tests/test_ldso.c
-
ldso_find_dynamic(function)headers/ldso.h:86int ldso_find_dynamic(const unsigned char *file, unsigned long long fsize, unsigned long long *dyn_off, unsigned...-- Docstring: Locate the PT_DYNAMIC file range. -
ldso_vaddr_to_offset(function)headers/ldso.h:92int ldso_vaddr_to_offset(const unsigned char *file, unsigned long long fsize, unsigned long long va, unsigned long...-- Docstring: Translate a link VA through PT_LOAD into a file offset. -
ldso_segments(function)headers/ldso.h:97int ldso_segments(const unsigned char *file, unsigned long long fsize, LdsoSeg *segs, unsigned ncap, unsigned *nseg);-- Docstring: Collect PT_LOAD spans (at most ncap) for reservation and * GOT-range checks. -
ldso_scan_dynamic(function)headers/ldso.h:103int ldso_scan_dynamic(const unsigned char *file, unsigned long long fsize, unsigned long long dyn_off, unsigned long...-- Docstring: Walk the dynamic array into info. -
ldso_sym_count(function)headers/ldso.h:110int ldso_sym_count(const unsigned char *file, unsigned long long fsize, unsigned long long hash_off, unsigned *nsyms);-- Docstring: Read the SYSV hash header at a file offset into bucket and chain counts. -
ldso_copy_str(function)headers/ldso.h:116int ldso_copy_str(const unsigned char *file, unsigned long long fsize, unsigned long long strtab_off, unsigned long...-- Docstring: Bounded copy of one dynamic string (NEEDED/SONAME/symbol). -
ldso_sym_lookup(function)headers/ldso.h:124int ldso_sym_lookup(const unsigned char *file, unsigned long long fsize, unsigned long long symtab_off, unsigned...-- Docstring: Linear search of a dynamic symbol table by name. -
ldso_rela_count(function)headers/ldso.h:132int ldso_rela_count(const LdsoDynInfo *info, unsigned *nrela);-- Docstring: Validate the RELA header triple and report the row count. -
ldso_read_rela(function)headers/ldso.h:137int ldso_read_rela(const unsigned char *file, unsigned long long fsize, unsigned long long rela_off, unsigned nrela...-- Docstring: Read one RELA row with full validation: row inside the table, type GLOB_DAT/JUMP_SLOT (anything else is... -
ldso_basename(function)headers/ldso.h:144void ldso_basename(char *out, const char *src);-- Docstring: Basename normalization for registry keys ("a/b.so" to "b.so", bounded, always terminated).
Depends on: kernel/string.c
Imported by: progs/file/file.c, progs/vedit/vedit.c, tests/test_leakcheck.c
-
kmalloc(function)headers/leakcheck.h:79extern void *kmalloc(unsigned long size);-- ifdef MINIOS_LK_KERNEL -
kfree(function)headers/leakcheck.h:80extern void kfree(void *ptr); -
kprintf(function)headers/leakcheck.h:81extern int kprintf(const char *fmt, ...); -
lk_malloc(function)headers/leakcheck.h:96void *lk_malloc(size_t size, const char *file, int line)-- #define MINIOS_LK_RAW_ALLOC(sz) kmalloc((unsigned long)(sz)) #define MINIOS_LK_RAW_FREE(p) kfree(p) #else #include... -
lk_unlink(function)headers/leakcheck.h:110static void lk_unlink(lk_block_t *b)-- void *lk_malloc(size_t size, const char *file, int line) { lk_block_t *b = (lk_block_t *)MINIOS_LK_RAW_ALLOC(size +... -
lk_find(function)headers/leakcheck.h:120static lk_block_t *lk_find(void *ptr)-- return b + 1; } /** Docstring: unlink one record from the live-block list. static void lk_unlink(lk_block_t *b) { if... -
lk_free(function)headers/leakcheck.h:130void lk_free(void *ptr)-- if (b->next) b->next->prev = b->prev; } /** Docstring: find the record owning ptr by scanning for its payload base.... -
lk_realloc(function)headers/leakcheck.h:143void *lk_realloc(void *ptr, size_t size, const char *file, int line)-- /** Docstring: tracked free, passes unknown blocks to the raw backend. void lk_free(void *ptr) { lk_block_t *b; if... -
lk_print(function)headers/leakcheck.h:186static void lk_print(const char *reason, const lk_block_t *b)-- return ptr; } q = lk_malloc(size, file, line); if (q) { d = (unsigned char *)q; s = (unsigned char *)ptr; keep =... -
lk_dumpmem(function)headers/leakcheck.h:197void lk_dumpmem(void)-- } /** Docstring: print one live record on the configured pipe. static void lk_print(const char *reason, const... -
lk_live_count(function)headers/leakcheck.h:206unsigned long lk_live_count(void)-- b->file, b->line, (unsigned long)b->size, (const void )(b + 1)); #endif } /* Docstring: report every block still... -
lk_live_bytes(function)headers/leakcheck.h:217unsigned long lk_live_bytes(void)-- } /** Docstring: count of blocks still live. unsigned long lk_live_count(void) { unsigned long n = 0; lk_block_t *b...
Imported by: fs/minifs.c, kernel/lz4_kernel.c, kernel/mm/swap.c, kernel/syscalls.c
-
LZ4_compress_default(function)headers/lz4_kernel.h:4int LZ4_compress_default(const char *src, char *dst, int srcSize, int dstCapacity); -
LZ4_compressBound(function)headers/lz4_kernel.h:5int LZ4_compressBound(int inputSize); -
LZ4_decompress_safe(function)headers/lz4_kernel.h:6int LZ4_decompress_safe(const char *src, char *dst, int compressedSize, int dstCapacity);
Imported by: kernel/minifetch.c, kernel/shell.c
-
shell_cmd_minifetch(function)headers/minifetch.h:14void shell_cmd_minifetch(void);
Imported by: fs/ext4.c, fs/fat32.c, fs/fsimg.c, fs/kfile.c, fs/minifs.c, fs/vfs.c, kernel.c, kernel/loader.c, kernel/minifetch.c, kernel/mm/paging.c, kernel/shell.c, kernel/spawn.c, kernel/syscalls.c, tests/test_ext4.c, tests/test_fat32.c
-
minifs_compress(function)headers/minifs.h:30unsigned int minifs_compress(const void *src, unsigned int src_len, void *dst, unsigned int dst_cap); -
minifs_decompress(function)headers/minifs.h:31unsigned int minifs_decompress(const void *src, unsigned int src_len, void *dst, unsigned int dst_cap); -
minifs_init(function)headers/minifs.h:117void minifs_init(void); -
minifs_mount(function)headers/minifs.h:118int minifs_mount(void); -
minifs_sync(function)headers/minifs.h:119int minifs_sync(void); -
minifs_is_mounted(function)headers/minifs.h:120int minifs_is_mounted(void); -
minifs_create(function)headers/minifs.h:122int minifs_create(const char *path, unsigned short mode); -
minifs_mkdir(function)headers/minifs.h:123int minifs_mkdir(const char *path, unsigned short mode); -
minifs_unlink(function)headers/minifs.h:124int minifs_unlink(const char *path); -
minifs_rmdir(function)headers/minifs.h:125int minifs_rmdir(const char *path); -
refuses(function)headers/minifs.h:128* An existing file dst refuses (no silent overwrite); -
minifs_rename(function)headers/minifs.h:130int minifs_rename(const char *oldpath, const char *newpath);-- Docstring: Move one MiniFS directory entry to a new parent/name, keeping its inode (no data moves). -
minifs_read(function)headers/minifs.h:131int minifs_read(int inode_num, void *buf, unsigned int offset, unsigned int len); -
minifs_write(function)headers/minifs.h:132int minifs_write(int inode_num, const void *buf, unsigned int offset, unsigned int len); -
minifs_truncate(function)headers/minifs.h:133int minifs_truncate(int inode_num, unsigned int new_size); -
minifs_stat(function)headers/minifs.h:134int minifs_stat(int inode_num, MiniFSInode *out); -
minifs_access(function)headers/minifs.h:135int minifs_access(const char *path); -
minifs_resolve_path(function)headers/minifs.h:137int minifs_resolve_path(const char *path); -
minifs_dir_lookup(function)headers/minifs.h:138int minifs_dir_lookup(int dir_inode, const char *name); -
minifs_dir_add_entry(function)headers/minifs.h:139int minifs_dir_add_entry(int dir_inode, const char *name, int child_inode, unsigned char type); -
minifs_dir_remove_entry(function)headers/minifs.h:140int minifs_dir_remove_entry(int dir_inode, const char *name); -
minifs_dir_read(function)headers/minifs.h:141int minifs_dir_read(int dir_inode, int index, MiniFSDirEntry *out, char *name_out); -
minifs_alloc_block(function)headers/minifs.h:143int minifs_alloc_block(void); -
minifs_free_block(function)headers/minifs.h:144void minifs_free_block(unsigned int block); -
minifs_alloc_inode(function)headers/minifs.h:145int minifs_alloc_inode(void); -
minifs_free_inode(function)headers/minifs.h:146void minifs_free_inode(int inode_num); -
minifs_inode_get_block(function)headers/minifs.h:147int minifs_inode_get_block(MiniFSInode *inode, unsigned int logical_block, unsigned int *phys_block); -
minifs_inode_alloc_block(function)headers/minifs.h:148int minifs_inode_alloc_block(MiniFSInode *inode, unsigned int logical_block); -
minifs_journal_begin(function)headers/minifs.h:150void minifs_journal_begin(unsigned int txn_id); -
minifs_journal_add_block(function)headers/minifs.h:151void minifs_journal_add_block(unsigned int block); -
minifs_journal_touch(function)headers/minifs.h:152void minifs_journal_touch(unsigned int phys); -
minifs_journal_commit(function)headers/minifs.h:153int minifs_journal_commit(unsigned int txn_id); -
minifs_journal_clear(function)headers/minifs.h:154void minifs_journal_clear(void); -
minifs_journal_abort(function)headers/minifs.h:155void minifs_journal_abort(void); -
minifs_journal_recover(function)headers/minifs.h:156void minifs_journal_recover(void); -
minifs_file_open(function)headers/minifs.h:158MiniFSFile *minifs_file_open(int inode_num, int flags); -
minifs_file_close(function)headers/minifs.h:159int minifs_file_close(MiniFSFile *f); -
minifs_get_lba_start(function)headers/minifs.h:161unsigned int minifs_get_lba_start(void); -
minifs_get_total_blocks(function)headers/minifs.h:162unsigned int minifs_get_total_blocks(void); -
minifs_usage(function)headers/minifs.h:164void minifs_usage(unsigned int *free_b, unsigned int *total_b, unsigned int *free_i, unsigned int *total_i);-- void minifs_journal_begin(unsigned int txn_id); void minifs_journal_add_block(unsigned int block); void...
Imported by: drivers/virtio_net.c, headers/net/rtl8139.h, headers/tls_port.h, kernel.c, kernel/minifetch.c, kernel/shell.c, kernel/syscalls.c, net/net.c, net/rtl8139.c
-
ring(function)headers/net.h:54* ring (below) is the rtl8139's 8 KB hardware ring, unrelated. */ #define NET_SOCK_RX_BUF 16384 #define... -
net_sys_is_socket(function)headers/net.h:97int net_sys_is_socket(long fd);-- net_connect / socket fds are NET_FD_BASE + index for Linux syscalls and * 0..NET_SOCKETS-1 for the libc-style... -
net_sys_setsockopt(function)headers/net.h:98long net_sys_setsockopt(long fd, long level, long name, long val, long len); -
net_sys_getsockopt(function)headers/net.h:99long net_sys_getsockopt(long fd, long level, long name, long val, long lenp); -
net_sys_getsockname(function)headers/net.h:100long net_sys_getsockname(long fd, long addr, long lenp); -
net_sys_getpeername(function)headers/net.h:101long net_sys_getpeername(long fd, long addr, long lenp); -
net_sys_sendmsg(function)headers/net.h:102long net_sys_sendmsg(long fd, long msg, long flags); -
net_sys_sendmmsg(function)headers/net.h:103long net_sys_sendmmsg(long fd, long vec, long vlen, long flags); -
net_sys_fcntl(function)headers/net.h:104long net_sys_fcntl(long fd, long cmd, long arg); -
net_register_symbols(function)headers/net.h:105void net_register_symbols(void); -
net_cmd_status(function)headers/net.h:108void net_cmd_status(void);-- void net_init(void); /* Linux socket ABI entry points (kernel/syscalls.c routes to them). int... -
net_cmd_ping(function)headers/net.h:109void net_cmd_ping(const char *ip_text); -
net_get_addrs(function)headers/net.h:110void net_get_addrs(unsigned char mac_out[NET_ETH_ALEN], unsigned char ip_out[4]); -
net_cmd_dns(function)headers/net.h:111void net_cmd_dns(const char *host); -
net_open(function)headers/net.h:114int net_open(void);-- long net_sys_getsockname(long fd, long addr, long lenp); long net_sys_getpeername(long fd, long addr, long lenp)... -
net_connect(function)headers/net.h:115int net_connect(const char *host, unsigned short port); -
net_send(function)headers/net.h:116int net_send(int fd, const char *buf, int len); -
net_recv(function)headers/net.h:117int net_recv(int fd, char *buf, int len); -
net_recv_timeout(function)headers/net.h:119int net_recv_timeout(int fd, char *buf, int len, unsigned long timeout_ms);-- void net_register_symbols(void); /* Shell commands void net_cmd_status(void); void net_cmd_ping(const char... -
net_close(function)headers/net.h:120void net_close(int fd); -
demux(function)headers/net.h:126* segment through the production demux (httpd selftest). */ int net_listen(unsigned short port); -
net_accept_nb(function)headers/net.h:128int net_accept_nb(int fd); -
net_accept(function)headers/net.h:129int net_accept(int fd, unsigned long timeout_ms); -
net_sock_state(function)headers/net.h:130int net_sock_state(int fd); -
net_sock_seq(function)headers/net.h:131int net_sock_seq(int fd, unsigned *seq_out, unsigned *ack_out); -
net_test_inject_tcp(function)headers/net.h:132int net_test_inject_tcp(const unsigned char peer[4], unsigned short pport, unsigned short lport, unsigned char... -
net_sys_socket(function)headers/net.h:137long net_sys_socket(long a1, long a2, long a3);-- index, or -1). net_accept_nb takes an established child without waiting; net_accept waits up to timeout_ms.... -
net_sys_connect(function)headers/net.h:138long net_sys_connect(long fd, long sockaddr, long addrlen); -
net_sys_bind(function)headers/net.h:139long net_sys_bind(long fd, long sockaddr, long addrlen); -
net_sys_listen(function)headers/net.h:140long net_sys_listen(long fd, long backlog); -
net_sys_accept(function)headers/net.h:141long net_sys_accept(long fd, long sockaddr, long addrlen); -
net_sys_sendto(function)headers/net.h:142long net_sys_sendto(long fd, long buf, long len, long flags, long to, long tolen); -
net_sys_recvfrom(function)headers/net.h:143long net_sys_recvfrom(long fd, long buf, long len, long flags, long from, long fromlen); -
net_sys_shutdown(function)headers/net.h:144long net_sys_shutdown(long fd, long how); -
net_sys_close(function)headers/net.h:145long net_sys_close(long fd); -
net_sys_poll(function)headers/net.h:146long net_sys_poll(long fds, long nfds, long timeout_ms); -
net_sys_dns(function)headers/net.h:147long net_sys_dns(long host); -
net_time_ms(function)headers/net.h:150unsigned long net_time_ms(void);-- /* Linux syscall ABI (sockaddr_in layout matches Linux) long net_sys_socket(long a1, long a2, long a3); long... -
net_rx_handle_frame(function)headers/net.h:154void net_rx_handle_frame(const unsigned char *frame, unsigned len);-- Demux entry point the rtl8139 driver (rtl8139.c) calls for every * frame drained from the RX ring; lives in net.c. -
stack(function)headers/net.h:157* the stack (dropped fragments); -
tls_free_fd(function)headers/net.h:165void tls_free_fd(int fd);-- TLS sessions attached to socket fds (tls.c); net_sys_close frees them.
Depends on: headers/net.h
Imported by: net/net.c, net/rtl8139.c
-
rtl_present(function)headers/net/rtl8139.h:18int rtl_present(void);-- rtl8139 NIC driver interface. -
rtl_init(function)headers/net/rtl8139.h:21void rtl_init(void);-- This header is the boundary between the polled rtl8139 driver (rtl8139.c) and the protocol stack (net.c). -
rtl_send(function)headers/net/rtl8139.h:25int rtl_send(const unsigned char *frame, unsigned len);-- Transmit one raw Ethernet frame. -
net_rx_handle_frame(function)headers/net/rtl8139.h:28* net_rx_handle_frame (the protocol demux in net.c). */ void rtl_poll(void); -
rtl_get_mac(function)headers/net/rtl8139.h:32void rtl_get_mac(unsigned char out[NET_ETH_ALEN]);-- Drain the RX ring once; every received frame is handed to * net_rx_handle_frame (the protocol demux in net.c). void... -
rtl_iobase(function)headers/net/rtl8139.h:35unsigned short rtl_iobase(void);-- Drain the RX ring once; every received frame is handed to * net_rx_handle_frame (the protocol demux in net.c). void... -
rtl_counters(function)headers/net/rtl8139.h:38void rtl_counters(unsigned int *tx_frames, unsigned int *rx_frames);-- Drain the RX ring once; every received frame is handed to * net_rx_handle_frame (the protocol demux in net.c). void...
Imported by: kernel/panic.c, tests/test_panic.c
-
panic_backtrace(function)headers/panic.h:25static inline int panic_backtrace(unsigned long rbp, panic_valid_fn valid, unsigned long ...-- Docstring: Walk up to max frame pointers from rbp, storing each frame's return address (*(rbp+8)) into out.
Imported by: fs/minifs.c, fs/pcache.c, kernel.c, kernel/loader.c, kernel/mm/paging.c, kernel/sched.c, kernel/shell.c, kernel/syscalls.c, tests/test_pcache.c
-
pcache_init(function)headers/pcache.h:28void pcache_init(void);-- Docstring: Allocate the page pool; disabled (all calls fail closed) when the heap cannot spare it, exactly like the... -
pcache_lookup(function)headers/pcache.h:32int pcache_lookup(int ino, unsigned index);-- Docstring: Find a cached page without reserving. -
pcache_get(function)headers/pcache.h:42int pcache_get(int ino, unsigned index, int *is_new);-- Docstring: Get a page, pinned with one ref. -
pcache_publish(function)headers/pcache.h:51int pcache_publish(int ino, unsigned index, const unsigned char *data);-- Docstring: Publish a privately filled page into the cache atomically. -
pcache_put(function)headers/pcache.h:55void pcache_put(int slot);-- Docstring: Drop one ref taken by get. -
pcache_ref(function)headers/pcache.h:61int pcache_ref(int ino, unsigned index);-- Docstring: Take one more ref on a cached page without allocating. -
pcache_unmap(function)headers/pcache.h:69void pcache_unmap(int ino, unsigned index);-- Docstring: Drop the ref a mapping holds on one cached page. -
match(function)headers/pcache.h:75* a phys match (owned, ref dropped unless already zero), 0 * otherwise. */ int pcache_put_if(int ino, unsigned... -
pcache_ref_if(function)headers/pcache.h:83int pcache_ref_if(int ino, unsigned index, unsigned long phys);-- Docstring: Take one more ref only when the cached page is the exact phys the caller shares. -
pcache_owns_phys(function)headers/pcache.h:88int pcache_owns_phys(unsigned long phys);-- Docstring: True when phys is a cache pool page. -
pcache_data(function)headers/pcache.h:93unsigned char *pcache_data(int slot);-- Docstring: Page data for a slot from get/lookup, 0 on a bad slot. -
pcache_mark_dirty(function)headers/pcache.h:98void pcache_mark_dirty(int slot);-- Docstring: Mark a pinned page dirty. -
pcache_invalidate_ino(function)headers/pcache.h:102void pcache_invalidate_ino(int ino);-- Docstring: Drop every page of an inode (truncate/unlink). * Dirty pages drop with them until slice 3 teaches writeback. -
pcache_stats(function)headers/pcache.h:106void pcache_stats(unsigned long *pages_out, unsigned long *hits_out, unsigned long *miss_out, unsigned long...-- Docstring: Snapshot for the mem builtin and BDD: live pages, * cumulative hits/misses/evictions, dirty count.
Imported by: drivers/pcm2.c, drivers/sb16.c, kernel/sched.c, kernel/shell.c, kernel/syscalls.c
-
pcm2_active(function)headers/pcm2.h:77int pcm2_active(void); -
pcm2_open(function)headers/pcm2.h:78int pcm2_open(unsigned flags, int owner); -
pcm2_write(function)headers/pcm2.h:79int pcm2_write(const unsigned char *user, unsigned len, int owner); -
pcm2_close(function)headers/pcm2.h:80void pcm2_close(int owner); -
pcm2_irq(function)headers/pcm2.h:81void pcm2_irq(void); -
pcm2_poll(function)headers/pcm2.h:82void pcm2_poll(void); -
pcm2_counters(function)headers/pcm2.h:83void pcm2_counters(pcm2_counters_t *out);
Imported by: drivers/pcm2.c, tests/test_pcm.c
-
pcm_ring_init(function)headers/pcm_ring.h:36static inline void pcm_ring_init(pcm_ring_t *r, unsigned char *buf, ... -
pcm_ring_used(function)headers/pcm_ring.h:47static inline unsigned pcm_ring_used(const pcm_ring_t *r) -
pcm_ring_free(function)headers/pcm_ring.h:51static inline unsigned pcm_ring_free(const pcm_ring_t *r) -
pcm_ring_write(function)headers/pcm_ring.h:55static inline unsigned pcm_ring_write(pcm_ring_t *r, const unsigned char *src, ... -
pcm_ring_read(function)headers/pcm_ring.h:76static inline unsigned pcm_ring_read(pcm_ring_t *r, unsigned char *dst, ...
Imported by: drivers/pcspk.c, kernel/shell.c, kernel/syscalls.c
-
pcspk_init(function)headers/pcspk.h:8void pcspk_init(void); -
pcspk_tone(function)headers/pcspk.h:9void pcspk_tone(unsigned freq); -
pcspk_off(function)headers/pcspk.h:10void pcspk_off(void); -
pcspk_set_volume(function)headers/pcspk.h:11void pcspk_set_volume(unsigned volume); -
pcspk_get_volume(function)headers/pcspk.h:12unsigned pcspk_get_volume(void);
Depends on: headers/sched.h, headers/spinlock.h
Imported by: kernel/percpu_rq.c, kernel/sched.c, kernel/shell.c, kernel/syscalls.c, tests/test_percpu_rq.c
-
rq_init(function)headers/percpu_rq.h:61void rq_init(void); -
rq_enqueue(function)headers/percpu_rq.h:62void rq_enqueue(int cpu, int pid); -
rq_pop_local(function)headers/percpu_rq.h:63int rq_pop_local(int cpu); -
rq_steal_once(function)headers/percpu_rq.h:64int rq_steal_once(int self_cpu, int *from_cpu); -
rq_empty(function)headers/percpu_rq.h:65int rq_empty(int cpu); -
rq_should_rescan(function)headers/percpu_rq.h:66int rq_should_rescan(int cpu); -
rq_note_poll(function)headers/percpu_rq.h:67void rq_note_poll(int cpu); -
rq_stats(function)headers/percpu_rq.h:68void rq_stats(int cpu, unsigned long *hits, unsigned long *steals, unsigned long *drops);
Imported by: headers/kernel.h, kernel/console_in.c, tests/test_pipe.c
-
ends(function)headers/pipe.h:4* * Single source of truth for the pipe byte ring shared by the kernel * pipe ends (fs/kfile.c), the pipe/dup/dup2... -
pipe_ring_init(function)headers/pipe.h:47static inline int pipe_ring_init(pipe_ring_t *r, unsigned char *buf, unsigned cap)-- Docstring: Bind a caller-owned buffer to a ring. -
pipe_ring_avail(function)headers/pipe.h:64static inline unsigned pipe_ring_avail(const pipe_ring_t *r)-- return PIPE_ERR_BOUND; if (cap == 0u || cap > PIPE_CAP_MAX) return PIPE_ERR_BOUND; r->buf = buf; r->cap = cap... -
pipe_ring_space(function)headers/pipe.h:71static inline unsigned pipe_ring_space(const pipe_ring_t *r)-- r->count = 0u; r->wopen = 1; r->ropen = 1; return 0; } /** Docstring: Bytes available to read. -
pipe_ring_write(function)headers/pipe.h:79static inline unsigned pipe_ring_write(pipe_ring_t *r, const unsigned char *src, unsigned...-- Docstring: Append up to len bytes, return bytes stored. -
pipe_ring_close_writer(function)headers/pipe.h:118static inline int pipe_ring_close_writer(pipe_ring_t *r)-- Docstring: Mark the writer closed. -
pipe_ring_close_reader(function)headers/pipe.h:128static inline int pipe_ring_close_reader(pipe_ring_t *r)-- Docstring: Mark the reader closed. -
pipe_ring_ropen(function)headers/pipe.h:135static inline int pipe_ring_ropen(const pipe_ring_t *r)-- Docstring: Mark the reader closed. -
pipe_ring_stat(function)headers/pipe.h:140static inline int pipe_ring_stat(const pipe_ring_t *r, pipe_cfg_t *out)-- Docstring: Snapshot ring geometry into a caller struct.
Imported by: kernel/exec.c, kernel/proc_sec.c, kernel/sched.c, kernel/syscalls.c, kernel/syscalls_proc.c
-
proc_sec_inherit(function)headers/proc_sec.h:23void proc_sec_inherit(int child, int parent);-- Exit code of a process or thread a filter kills: a death by SIGSYS (31), recorded negative like every MiniOS signal... -
proc_sec_release(function)headers/proc_sec.h:24void proc_sec_release(int pid); -
proc_sec_exec(function)headers/proc_sec.h:25void proc_sec_exec(int pid); -
proc_sec_set_exe(function)headers/proc_sec.h:26void proc_sec_set_exe(int pid, const char *resolved); -
proc_sec_exe(function)headers/proc_sec.h:28const char *proc_sec_exe(int pid);-- Exit code of a process or thread a filter kills: a death by SIGSYS (31), recorded negative like every MiniOS signal... -
it(function)headers/proc_sec.h:31* the syscall must answer in *ret when a filter decided it (ERRNO, TRACE, * USER_NOTIF); -
proc_sec_filter(function)headers/proc_sec.h:34int proc_sec_filter(long n, long a1, long a2, long a3, long a4, long a5, long a6, long *ret);-- Run the caller's filters for syscall n. -
proc_sec_prctl(function)headers/proc_sec.h:36long proc_sec_prctl(long option, long a2, long a3, long a4, long a5); -
proc_sec_seccomp(function)headers/proc_sec.h:37long proc_sec_seccomp(long op, long flags, long uargs);
Imported by: qga.c
-
qga_init(function)headers/qga.h:48void qga_init(void); -
qga_poll(function)headers/qga.h:49void qga_poll(void);
Imported by: kernel/syscalls.c, tests/test_randmix.c
-
source(function)headers/randmix.h:11`* source (all-zero seed) still walks, because the increment is inside
- the mixer, not in the ca...`
Depends on: headers/sched.h, headers/spinlock.h
Imported by: kernel/rcu.c, kernel/sched.c, kernel/syscalls.c, tests/test_rcu.c
-
retirement(function)headers/rcu.h:30* retirement (the writer keeps ownership) instead of dropping the free. * Callbacks run in tick context with... -
rcu_init(function)headers/rcu.h:51void rcu_init(void); -
rcu_read_lock(function)headers/rcu.h:52void rcu_read_lock(void); -
rcu_read_unlock(function)headers/rcu.h:53void rcu_read_unlock(void); -
rcu_deref(function)headers/rcu.h:54void *rcu_deref(void *volatile *pp); -
rcu_publish(function)headers/rcu.h:55void rcu_publish(void *volatile *pp, void *v); -
rcu_call(function)headers/rcu.h:56long rcu_call(rcu_cb_t fn, void *arg); -
rcu_note_tick(function)headers/rcu.h:57void rcu_note_tick(int cpu); -
rcu_note_idle(function)headers/rcu.h:58void rcu_note_idle(int cpu); -
rcu_poll(function)headers/rcu.h:59void rcu_poll(void); -
rcu_synchronize(function)headers/rcu.h:60long rcu_synchronize(void);
Imported by: drivers/rtc.c, kernel/minifetch.c, kernel/shell.c, kernel/syscalls.c, qga.c, tests/test_rtc.c
-
rtc_read_tod(function)headers/rtc.h:4int rtc_read_tod(int *hour, int *min, int *sec); -
rtc_read_date(function)headers/rtc.h:11int rtc_read_date(int *year, int *mon, int *day);-- Calendar date from the CMOS RTC (registers 0x07-0x09). -
suite(function)headers/rtc.h:15* host suite (tests/test_rtc.c); -
rtc_days_from_civil(function)headers/rtc.h:18static inline long rtc_days_from_civil(long y, long m, long d)-- Days since 1970-01-01 for a civil date (Howard Hinnant's algorithm, pure integer arithmetic, no tables). -
rtc_wall_seconds(function)headers/rtc.h:33int rtc_wall_seconds(unsigned long *out);-- Wall-clock seconds since the Unix epoch from one RTC snapshot.
Imported by: drivers/pcm2.c, drivers/sb16.c, kernel.c, kernel/sched.c, kernel/shell.c, kernel/syscalls.c
-
sb16_init(function)headers/sb16.h:65int sb16_init(void); -
sb16_present(function)headers/sb16.h:66int sb16_present(void); -
sb16_tone(function)headers/sb16.h:67void sb16_tone(unsigned freq); -
sb16_irq(function)headers/sb16.h:68void sb16_irq(void); -
sb16_poll(function)headers/sb16.h:69void sb16_poll(void); -
sb16_pcm_open(function)headers/sb16.h:73void sb16_pcm_open(void);-- Legacy single-stream API (maps to mixer stream 0: pcm_open allocates it, * pcm_submit forwards into it, pcm_close... -
sb16_pcm_submit(function)headers/sb16.h:74int sb16_pcm_submit(const unsigned char *pcm, unsigned len); -
sb16_pcm_close(function)headers/sb16.h:75void sb16_pcm_close(void); -
sb16_pump(function)headers/sb16.h:76void sb16_pump(void); -
sb16_stream_open(function)headers/sb16.h:79int sb16_stream_open(void);-- Legacy single-stream API (maps to mixer stream 0: pcm_open allocates it, * pcm_submit forwards into it, pcm_close... -
sb16_stream_close(function)headers/sb16.h:80void sb16_stream_close(int id); -
sb16_stream_submit(function)headers/sb16.h:81int sb16_stream_submit(int id, const unsigned char *pcm, unsigned len); -
sb16_stream_volume(function)headers/sb16.h:82void sb16_stream_volume(int id, unsigned char vol); -
sb16_stream_count(function)headers/sb16.h:83int sb16_stream_count(void); -
sb16_ring_free(function)headers/sb16.h:85unsigned sb16_ring_free(void); -
sb16_mode_active(function)headers/sb16.h:86int sb16_mode_active(void); -
sb16_legacy_busy(function)headers/sb16.h:91int sb16_legacy_busy(void);-- True while the legacy engine audibly owns the DSP (PCM stream open or a tone sounding). pcm2_open consults it for... -
sb16_counters(function)headers/sb16.h:93void sb16_counters(sb16_counters_t *out);
Depends on: headers/spinlock.h, headers/vma.h
Imported by: drivers/kbd.c, drivers/pcm2.c, headers/futex.h, headers/percpu_rq.h, headers/rcu.h, headers/spawn.h, headers/sync.h, kernel.c, kernel/console.c, kernel/exec.c, kernel/loader.c, kernel/minifetch.c, kernel/mm.c, kernel/mm/cow.c, kernel/panic.c, kernel/proc_sec.c, kernel/sched.c, kernel/serial.c, kernel/shell.c, kernel/spawn.c, kernel/syscalls.c, kernel/syscalls_proc.c, kernel/vga_fb.c, net/net.c, net/rtl8139.c, smp.c
-
group(function)headers/sched.h:108* process is its own group (tgid == pid); -
entry(function)headers/sched.h:135* private view with one KFILE ref per live entry (0 on OOM), release * drops the view at reap, cloexec closes marked... -
kfd_view_copy(function)headers/sched.h:138int kfd_view_copy(proc_t *child, proc_t *parent); -
kfd_view_release(function)headers/sched.h:139void kfd_view_release(proc_t *p); -
kfd_view_cloexec(function)headers/sched.h:140void kfd_view_cloexec(void); -
kfd_view_root(function)headers/sched.h:141kfd_view_t *kfd_view_root(void); -
bytes(function)headers/sched.h:173* RLIM_AS total user bytes (brk growth + mmap) beyond the load base * RLIM_CPU timer ticks of CPU time, then... -
first(function)headers/sched.h:232* address first (SYSCALL_FRAME_WORDS in syscall_asm.h). It ends exactly at * the saved top (sc_top_save[pid]); -
syscall_frame_current(function)headers/sched.h:245const syscall_frame_t *syscall_frame_current(void);-- The frame syscall_entry.S builds on the per-proc kernel stack, lowest address first (SYSCALL_FRAME_WORDS in... -
sched_init(function)headers/sched.h:376void sched_init(void);-- Per-CPU TSS selectors: slot 5 + 2*cpu in the runtime GDT (each TSS descriptor occupies two 8-byte slots). -
kstack_report(function)headers/sched.h:377void kstack_report(void); -
schedtop_report(function)headers/sched.h:378void schedtop_report(void); -
irqstat_report(function)headers/sched.h:379void irqstat_report(void); -
gdb_regs_report(function)headers/sched.h:380void gdb_regs_report(int pid); -
gdb_dump_report(function)headers/sched.h:381void gdb_dump_report(unsigned long addr, unsigned long len); -
tss_init_ap(function)headers/sched.h:385void tss_init_ap(int cpu); -
smp_ap_idle_loop(function)headers/sched.h:386void smp_ap_idle_loop(void); -
proc_create(function)headers/sched.h:387int proc_create(const char *name, int parent_pid); -
proc_get(function)headers/sched.h:388proc_t *proc_get(int pid); -
schedule(function)headers/sched.h:389void schedule(void); -
sched_set_nice(function)headers/sched.h:390int sched_set_nice(int pid, int nice); -
seccomp_deny_one(function)headers/sched.h:391int seccomp_deny_one(int pid, int n); -
seccomp_allow_one(function)headers/sched.h:392int seccomp_allow_one(int pid, int n); -
seccomp_denied(function)headers/sched.h:393int seccomp_denied(int pid, int n); -
rlimit_cpu_exceeded(function)headers/sched.h:394int rlimit_cpu_exceeded(int pid); -
rlimit_cpu_tick(function)headers/sched.h:395void rlimit_cpu_tick(int pid); -
switch_to(function)headers/sched.h:396void switch_to(proc_t *prev, proc_t *next); -
switch_to_notrap(function)headers/sched.h:397void switch_to_notrap(proc_t *prev, proc_t *next); -
switch_save_only(function)headers/sched.h:398void switch_save_only(proc_t *prev); -
resume_iretq(function)headers/sched.h:405void resume_iretq(void); -
yield(function)headers/sched.h:406void yield(void); -
do_exit(function)headers/sched.h:407void do_exit(int code); -
do_clone(function)headers/sched.h:408long do_clone(long flags, long newsp); -
do_fork(function)headers/sched.h:409long do_fork(void); -
do_fork_ex(function)headers/sched.h:410long do_fork_ex(uint64_t set_tid, uint64_t clear_tid); -
do_linux_clone(function)headers/sched.h:411long do_linux_clone(unsigned long flags, unsigned long newsp, unsigned long ptid, unsigned long ctid, unsigned long... -
do_exit_group_threads(function)headers/sched.h:413void do_exit_group_threads(void); -
fork_child_settid(function)headers/sched.h:414void fork_child_settid(void); -
aslr_stack_bytes(function)headers/sched.h:424unsigned long aslr_stack_bytes(void);-- ASLR jitter, fresh per exec (TSC + ticks + per-exec counter, never zero for stack/brk so consecutive execs differ... -
aslr_brk_pages(function)headers/sched.h:425unsigned long aslr_brk_pages(void); -
aslr_mmap_pages(function)headers/sched.h:426unsigned long aslr_mmap_pages(void); -
aslr_dyn_base(function)headers/sched.h:427unsigned long aslr_dyn_base(void); -
failure(function)headers/sched.h:432* failure (negative errno); -
do_execve(function)headers/sched.h:433long do_execve(char *kpath, int kargc, char **kargv);-- do_execve() - replace the caller's image with a fresh ET_EXEC/ET_DYN program (kernel/sched.c). -
do_thread_spawn(function)headers/sched.h:434long do_thread_spawn(unsigned long fn, unsigned long stack, unsigned long arg); -
do_waitpid(function)headers/sched.h:436int do_waitpid(int pid); -
do_waitpid_nb(function)headers/sched.h:437int do_waitpid_nb(int pid); -
shell_reap_nb(function)headers/sched.h:438int shell_reap_nb(int *pid_out, int *code_out); -
shell_reap_one(function)headers/sched.h:439int shell_reap_one(int pid, int *code_out); -
shell_nchildren(function)headers/sched.h:440int shell_nchildren(void); -
do_waitpid_linux(function)headers/sched.h:444int do_waitpid_linux(int pid, int nohang, int *found);-- kstack slot family, fd table and limits; everything else (window, VMA, brk view, stack, FPU, FSBASE, name) is rebuilt. -
do_kill(function)headers/sched.h:445int do_kill(int pid); -
timer_tick(function)headers/sched.h:446void timer_tick(void); -
pt_clone_user(function)headers/sched.h:449uint64_t pt_clone_user(uint64_t parent_cr3);-- unsigned long arg); int do_waitpid(int pid); int do_waitpid_nb(int pid); int shell_reap_nb(int... -
pt_free_user(function)headers/sched.h:450void pt_free_user(uint64_t cr3); -
caller(function)headers/sched.h:455* caller (shell mrun) reaps it with do_waitpid. Returns pid or -1. * Programs using mmap/VMA or expecting a shared...
Imported by: kernel/proc_sec.c, kernel/seccomp_bpf.c, tests/test_seccomp_bpf.c
-
sbpf_check(function)headers/seccomp_bpf.h:95int sbpf_check(const sbpf_insn *prog, unsigned len, unsigned short *scratch);-- Validate a program before it ever runs: 1..SBPF_MAX_INSNS instructions, only the opcodes Linux accepts for seccomp... -
sbpf_run(function)headers/seccomp_bpf.h:100unsigned int sbpf_run(const sbpf_insn *prog, unsigned len, const sbpf_data *d);-- Run a program sbpf_check accepted over one syscall's data; returns the 32-bit action. -
sbpf_action_rank(function)headers/seccomp_bpf.h:104int sbpf_action_rank(unsigned int action);-- Restrictiveness rank of an action (0 = most restrictive): the order * stacked filters are combined in.
Depends on: headers/kernel.h, headers/kernel/console_in.h
Imported by: kernel/editor.c, kernel/shell.c, kernel/syscalls.c
-
shell_readline_buf(function)headers/shell.h:18void shell_readline_buf(char *buf, int size);-- Read one line into buf with arrow-key editing; used by the built-in * editor to edit file text. -
shell_parse(function)headers/shell.h:21int shell_parse(char *line, char **argv, int max_args);-- Read one line into buf with arrow-key editing; used by the built-in * editor to edit file text. void... -
shell_parse_long(function)headers/shell.h:29int shell_parse_long(const char *s, long *out);-- Strict signed decimal parse for numeric shell/editor operands: an optional sign followed by at least one digit... -
shell_parse_pid(function)headers/shell.h:34int shell_parse_pid(const char *s, int min_pid, int *out);-- Bounded pid parse: strict shell_parse_long plus min_pid <= pid < MAX_PROCS. -
shell_cmd_sh(function)headers/shell.h:39int shell_cmd_sh(int argc, char **argv);-- Execute a shell script: readpathline by line, skip blanks and#comments, parse each line and dispatch it...
Depends on: headers/spinlock.h
Imported by: kernel.c, kernel/sched.c, kernel/shell.c, smp.c
-
smp_init(function)headers/smp.h:41void smp_init(void); -
smp_ap_entry(function)headers/smp.h:42void smp_ap_entry(void); -
smp_ipi_broadcast(function)headers/smp.h:43void smp_ipi_broadcast(int vector);-- PIT-anchored LAPIC calibration (ticks per 10 ms at divide-by-16).
Depends on: headers/kernel.h, headers/sched.h, headers/vma.h
Imported by: kernel/sched.c, kernel/spawn.c, kernel/syscalls.c
-
spawn_backup(function)headers/spawn.h:27int spawn_backup(spawn_ctx_t *ctx);-- Docstring: Save the caller shared-window view into ctx. -
spawn_restore(function)headers/spawn.h:30void spawn_restore(spawn_ctx_t *ctx);-- Docstring: Save the caller shared-window view into ctx. -
spawn_validate_argv(function)headers/spawn.h:33int spawn_validate_argv(int argc, const char **uargv);-- Docstring: Save the caller shared-window view into ctx. -
spawn_copy_argv(function)headers/spawn.h:38char **spawn_copy_argv(int argc, const char **uargv);-- Docstring: Copy user argv into kernel memory, zero terminated. -
spawn_free_argv(function)headers/spawn.h:41void spawn_free_argv(char **kargv, int argc);-- Docstring: Copy user argv into kernel memory, zero terminated. -
spawn_load_image(function)headers/spawn.h:44unsigned char *spawn_load_image(const char *resolved, unsigned *size_out);-- Docstring: Copy user argv into kernel memory, zero terminated. -
spawn_execute(function)headers/spawn.h:47int spawn_execute(const char *resolved, const char *redirect, unsigned char *data, unsigned data_size, int argc...-- Docstring: Copy user argv into kernel memory, zero terminated.
Imported by: drivers/pcm2.c, headers/futex.h, headers/kernel.h, headers/percpu_rq.h, headers/rcu.h, headers/sched.h, headers/smp.h, headers/sync.h
-
spin_init(function)headers/spinlock.h:46static inline void spin_init(spinlock_t *lock) -
spin_save_irq(function)headers/spinlock.h:56static inline irqflags_t spin_save_irq(void)-- Host unit-test variants (tests/test_sync.c,make test-sync): cli/sti and pushf/popf are privileged and fault in... -
spin_restore_irq(function)headers/spinlock.h:57static inline void spin_restore_irq(irqflags_t flags) -
spin_lock(function)headers/spinlock.h:58static inline void spin_lock(spinlock_t *lock) -
spin_unlock(function)headers/spinlock.h:64static inline void spin_unlock(spinlock_t *lock) -
spin_lock_irqsave(function)headers/spinlock.h:68static inline void spin_lock_irqsave(spinlock_t *lock, irqflags_t *flags) -
spin_unlock_irqrestore(function)headers/spinlock.h:75static inline void spin_unlock_irqrestore(spinlock_t *lock, irqflags_t flags) -
spin_unlock_keep_irq(function)headers/spinlock.h:80static inline void spin_unlock_keep_irq(spinlock_t *lock) -
spin_trylock(function)headers/spinlock.h:84static inline int spin_trylock(spinlock_t *lock) -
spin_save_irq(function)headers/spinlock.h:92static inline irqflags_t spin_save_irq(void)-- __sync_lock_release(&lock->locked); } static inline void spin_unlock_keep_irq(spinlock_t *lock) {... -
spin_restore_irq(function)headers/spinlock.h:99static inline void spin_restore_irq(irqflags_t flags)-- int was = __sync_lock_test_and_set(&lock->locked, 1); if (!was) __sync_synchronize(); return !was; } #else /* Read... -
spin_lock(function)headers/spinlock.h:107static inline void spin_lock(spinlock_t *lock)-- Acquire the lock and disable interrupts. -
spin_unlock(function)headers/spinlock.h:118static inline void spin_unlock(spinlock_t *lock)-- Release the lock and re-enable interrupts. -
spin_unlock_keep_irq(function)headers/spinlock.h:130static inline void spin_unlock_keep_irq(spinlock_t *lock)-- Release the lock WITHOUT touching interrupts (IF stays as-is). -
spin_unlock_irqrestore(function)headers/spinlock.h:150static inline void spin_unlock_irqrestore(spinlock_t *lock, irqflags_t flags)-- Release the lock and restore the saved interrupt state.
Depends on: headers/sched.h, headers/spinlock.h
Imported by: drivers/sb16.c, headers/futex.h, kernel/futex.c, kernel/sched.c, kernel/sync.c, kernel/syscalls.c, tests/test_sync.c
-
wq_init(function)headers/sync.h:50void wq_init(wait_queue_t *q); -
sleep_on(function)headers/sync.h:51void sleep_on(wait_queue_t *q); -
wake_up(function)headers/sync.h:52int wake_up(wait_queue_t *q); -
wake_up_all(function)headers/sync.h:53int wake_up_all(wait_queue_t *q); -
inheritance(function)headers/sync.h:56* Priority inheritance (thesis correction 3): a low-priority holder that * blocks a high-priority waiter is boosted... -
mutex_init(function)headers/sync.h:72void mutex_init(mutex_t *m); -
mutex_lock(function)headers/sync.h:73void mutex_lock(mutex_t *m); -
mutex_unlock(function)headers/sync.h:74void mutex_unlock(mutex_t *m); -
mutex_trylock(function)headers/sync.h:75int mutex_trylock(mutex_t *m); -
mutex_note_waiter(function)headers/sync.h:76void mutex_note_waiter(mutex_t *m, int waiter); -
pi_set_base(function)headers/sync.h:77void pi_set_base(int pid, int prio); -
pi_get_eff(function)headers/sync.h:78int pi_get_eff(int pid); -
sem_init(function)headers/sync.h:89void sem_init(sem_t *s, int value); -
sem_wait(function)headers/sync.h:90void sem_wait(sem_t *s); -
sem_post(function)headers/sync.h:91void sem_post(sem_t *s); -
cond_init(function)headers/sync.h:103void cond_init(cond_t *c); -
cond_wait(function)headers/sync.h:104void cond_wait(cond_t *c, mutex_t *m); -
cond_signal(function)headers/sync.h:105void cond_signal(cond_t *c); -
cond_broadcast(function)headers/sync.h:106void cond_broadcast(cond_t *c); -
rwlock_init(function)headers/sync.h:118void rwlock_init(rwlock_t *rw); -
rwlock_read_lock(function)headers/sync.h:119void rwlock_read_lock(rwlock_t *rw); -
rwlock_read_unlock(function)headers/sync.h:120void rwlock_read_unlock(rwlock_t *rw); -
rwlock_write_lock(function)headers/sync.h:121void rwlock_write_lock(rwlock_t *rw); -
rwlock_write_unlock(function)headers/sync.h:122void rwlock_write_unlock(rwlock_t *rw);
Imported by: kernel/proc_sec.c, kernel/syscalls.c
-
dispatcher(function)headers/syscalls_proc.h:5* dispatcher (kernel/syscalls.c). These handlers touch only scheduler * state (current_pid, procs[], do_* /... -
sys_minios_nice(function)headers/syscalls_proc.h:12long sys_minios_nice(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_minios_clone(function)headers/syscalls_proc.h:13long sys_minios_clone(long flags, long newsp, long a3, long a4, long a5, long a6); -
sys_minios_thread_spawn(function)headers/syscalls_proc.h:14long sys_minios_thread_spawn(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_yield(function)headers/syscalls_proc.h:15long sys_linux_yield(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_getpid(function)headers/syscalls_proc.h:16long sys_linux_getpid(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_gettid(function)headers/syscalls_proc.h:17long sys_linux_gettid(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_fork(function)headers/syscalls_proc.h:18long sys_linux_fork(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_clone(function)headers/syscalls_proc.h:19long sys_linux_clone(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_vfork(function)headers/syscalls_proc.h:20long sys_linux_vfork(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_execve(function)headers/syscalls_proc.h:21long sys_linux_execve(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_exit(function)headers/syscalls_proc.h:22long sys_linux_exit(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_wait4(function)headers/syscalls_proc.h:23long sys_linux_wait4(long a1, long a2, long a3, long a4, long a5, long a6); -
sys_linux_kill(function)headers/syscalls_proc.h:24long sys_linux_kill(long a1, long a2, long a3, long a4, long a5, long a6); -
do_proc_exit(function)headers/syscalls_proc.h:27long do_proc_exit(long code);-- long sys_minios_clone(long flags, long newsp, long a3, long a4, long a5, long a6); long sys_minios_thread_spawn(long...
Imported by: kernel/sched.c, kernel/tick.c, tests/test_tick.c
-
tick_reset(function)headers/tick.h:47void tick_reset(void);-- needs; the bound exists so the tables stay fixed-size. #define TICK_MAX_USB_LISTENERS 2 /** Docstring: Default bus... -
tick_register_audio(function)headers/tick.h:54int tick_register_audio(tick_fn_t fn, void *ctx);-- Docstring: Register an unconditional BSP audio effect. -
tick_register_desktop(function)headers/tick.h:61int tick_register_desktop(tick_fn_t fn, void *ctx);-- Docstring: Register a gated desktop effect. -
tick_register_usb(function)headers/tick.h:69int tick_register_usb(tick_fn_t fn, void *ctx);-- Docstring: Register a polled USB controller effect. -
tick_run_usb(function)headers/tick.h:72void tick_run_usb(void);-- Docstring: Register a polled USB controller effect. -
tick_run_audio(function)headers/tick.h:75void tick_run_audio(void);-- Docstring: Register a polled USB controller effect. -
tick_run_desktop(function)headers/tick.h:78void tick_run_desktop(void);-- The xHCI event ring is polled by decision rather than interrupt-driven, so this listener is the polling trigger. -
tick_audio_count(function)headers/tick.h:81int tick_audio_count(void);-- handler is null or the USB table is full. -
tick_desktop_count(function)headers/tick.h:84int tick_desktop_count(void);-- /** Docstring: Run USB listeners in registration order. void tick_run_usb(void); /** Docstring: Run audio listeners... -
tick_desktop_due(function)headers/tick.h:92int tick_desktop_due(unsigned long long ticks, unsigned interval);-- Docstring: Pure desktop gating predicate.
Next: API_p5.md
Generated offline by readmenator from commit d64a8fe9383a. Edits here are overwritten by readmenator . --rebuild.
Start
Wiki
- community_0_headers_kernel
- community_10_orphans
- community_1_progs_doomgeneric_d_englsh
- community_2_progs_src
- community_3_progs_doomgeneric_p_spec
- community_4_tools_tls_crypto
- community_5_headers_vga_fb
- community_6_progs_doomgeneric_net_defs
- community_7_headers_batch
- community_8_headers_tick
- community_9_tools_doom_pwad
- concepts
- queries
- REPORT
Agent Docs
- API
- API_p10
- API_p11
- API_p12
- API_p13
- API_p14
- API_p15
- API_p16
- API_p17
- API_p18
- API_p19
- API_p2
- API_p20
- API_p21
- API_p3
- API_p4
- API_p5
- API_p6
- API_p7
- API_p8
- API_p9
- ARCHITECTURE
- ARCHITECTURE_p2
- ARCHITECTURE_p3
- ARCHITECTURE_p4
- CONCEPTS
- GOTCHAS
- INDEX
- INDEX_p2
- KB_asm
- KB_boot
- KB_doomgeneric
- KB_doomgeneric_p10
- KB_doomgeneric_p11
- KB_doomgeneric_p12
- KB_doomgeneric_p2
- KB_doomgeneric_p3
- KB_doomgeneric_p4
- KB_doomgeneric_p5
- KB_doomgeneric_p6
- KB_doomgeneric_p7
- KB_doomgeneric_p8
- KB_doomgeneric_p9
- KB_drivers
- KB_drivers_p2
- KB_file
- KB_freedomui
- KB_fs
- KB_headers
- KB_headers_arch_x86
- KB_headers_drivers
- KB_headers_kernel
- KB_headers_p2
- KB_headers_p3
- KB_headers_p4
- KB_headers_p5
- KB_headers_p6
- KB_kernel
- KB_kernel_p2
- KB_kernel_p3
- KB_kernel_p4
- KB_lib
- KB_lisp
- KB_lua
- KB_mcp
- KB_minios
- KB_misc
- KB_misc_p2
- KB_misc_p3
- KB_mm
- KB_net
- KB_nuklear
- KB_pokemon
- KB_progs
- KB_quake2generic
- KB_root
- KB_src
- KB_src_p2
- KB_src_p3
- KB_tests
- KB_tests_p2
- KB_tls_u
- KB_tools
- KB_tools_p2
- KB_wl
- KB_x86
- MEMORY
- SECURITY
- SYMBOLS
- SYMBOLS_p10
- SYMBOLS_p11
- SYMBOLS_p12
- SYMBOLS_p13
- SYMBOLS_p14
- SYMBOLS_p15
- SYMBOLS_p16
- SYMBOLS_p17
- SYMBOLS_p18
- SYMBOLS_p19
- SYMBOLS_p2
- SYMBOLS_p20
- SYMBOLS_p21
- SYMBOLS_p22
- SYMBOLS_p23
- SYMBOLS_p24
- SYMBOLS_p25
- SYMBOLS_p26
- SYMBOLS_p27
- SYMBOLS_p3
- SYMBOLS_p4
- SYMBOLS_p5
- SYMBOLS_p6
- SYMBOLS_p7
- SYMBOLS_p8
- SYMBOLS_p9
Recipes