os module: freestanding helpers for OS/kernel targets This module is intentionally minimal and only depends on `sys`.
fn arch_load_cr3(pml4:*char) -> int
fn arch_enable_paging() -> int
fn arch_rdtsc() -> int
fn fb_addr() -> *char
fn fb_width() -> int
fn fb_height() -> int
fn fb_pitch() -> int
fn fb_bpp() -> int
fn boot_text() -> int
fn fb_text(x:int, y:int, s:str, color:int) -> int
fn fb_set_scale(scale:int) -> int
fn fb_get_scale() -> int
fn fb_text_mode(mode:int) -> int
fn fb_font_aa_mode(mode:int) -> int
fn fb_font_ttf_mode(mode:int) -> int
fn fb_draw_logo(x:int, y:int, w:int, h:int) -> int
fn fb_draw_wallpaper(x:int, y:int, w:int, h:int) -> int
fn fb_draw_cursor(x:int, y:int, scale:int) -> int
fn fb_fill(color:int) -> int
fn fb_fill_rect(x:int, y:int, w:int, h:int, color:int) -> int
fn fb_get_pixel(x:int, y:int) -> int
fn fb_put_pixel(x:int, y:int, color:int) -> int
fn fb_cursor_soft_reset() -> int
fn fb_cursor_soft_move(x:int, y:int, scale:int) -> int
fn fb_set_color(color:int) -> int
fn fb_set_cursor(x:int, y:int) -> int
fn fb_cursor_mode(mode:int) -> int
fn fb_cursor(on:int, color:int) -> int
fn memmap_count() -> int
fn memmap_base(i:int) -> int
fn memmap_len(i:int) -> int
fn memmap_type(i:int) -> int
fn disk_count() -> int
fn disk_media_type(i:int) -> int
fn disk_table_kind(i:int) -> int
fn disk_mbr_id(i:int) -> int
fn disk_part_count(i:int) -> int
fn disk_part_index(disk_idx:int, part_idx:int) -> int
fn disk_gpt_disk_hi(i:int) -> int
fn disk_gpt_disk_lo(i:int) -> int
fn disk_gpt_part_hi(i:int) -> int
fn disk_gpt_part_lo(i:int) -> int
fn pci_display_probe() -> int
fn pci_display_vendor() -> int
fn pci_display_device() -> int
fn pci_display_class() -> int
fn pci_display_subclass() -> int
fn pci_display_prog_if() -> int
fn pci_display_bus() -> int
fn pci_display_slot() -> int
fn pci_display_func() -> int
fn pci_display_command() -> int
fn pci_display_bar_addr(i:int) -> int
fn pci_display_bar_size(i:int) -> int
fn pci_display_bar_is_io(i:int) -> int
fn pci_display_bar_prefetch(i:int) -> int
fn pci_display_bar_mem_type(i:int) -> int
fn pci_usb_probe() -> int
fn pci_usb_count() -> int
fn pci_usb_kind_count(kind:int) -> int
fn pci_usb_bus(i:int) -> int
fn pci_usb_slot(i:int) -> int
fn pci_usb_func(i:int) -> int
fn pci_usb_prog_if(i:int) -> int
fn pci_usb_vendor(i:int) -> int
fn pci_usb_device(i:int) -> int
fn gpu_hw_cursor_available() -> int
fn gpu_hw_cursor_enable(on:int) -> int
fn gpu_hw_cursor_move(x:int, y:int) -> int
fn gpu_driver_kind() -> int
fn arch_id() -> int
fn arch_bits() -> int
fn blk_count() -> int
fn blk_sector_size(dev_idx:int) -> int
fn blk_sector_count(dev_idx:int) -> int
fn blk_read_sector(dev_idx:int, lba:int, out512:*char) -> int
fn blk_write_sector(dev_idx:int, lba:int, in512:*char) -> int
fn irq_enable() -> int
fn irq_disable() -> int
fn halt() -> int
fn timer_init(hz:int) -> int
fn timer_ticks_irq() -> int
fn timer_sleep_ms(ms:int) -> int
fn kbd_has_event() -> int
fn kbd_read_scancode() -> int
fn kbd_read_scancode_raw() -> int
fn kbd_read_char() -> int
fn kbd_set_debug(on:int) -> int
fn kbd_last_scancode() -> int
fn mouse_has_packet() -> int
fn mouse_read_packet() -> int
fn mouse_dx() -> int
fn mouse_dy() -> int
fn mouse_buttons() -> int
fn apic_available() -> int
fn apic_init() -> int
fn apic_eoi() -> int
fn apic_timer_init(hz:int) -> int
fn hpet_init() -> int
fn hpet_set_base(base:int) -> int
fn hpet_time_ns() -> int
fn acpi_hpet_base() -> int
fn pf_last_addr_raw() -> int
fn pf_last_err_raw() -> int
fn pf_last_count_raw() -> int
fn pf_autofix_set_raw(on:int) -> int
fn arch_invlpg(p:*char) -> int
fn mem_zero(p:*char, bytes:int) -> int
fn heap_init(base:*char, size:int) -> int
fn heap_alloc(n:int) -> *char
fn heap_free(p:*char) -> int
fn heap_total_bytes() -> int
fn heap_free_bytes() -> int
fn heap_block_count() -> int
fn heap_largest_free() -> int
fn heap_validate() -> int
fn page_init(base:*char, bytes:int, page_size:int) -> int
fn page_inited() -> int
fn page_alloc(pages:int) -> *char
fn page_free(p:*char, pages:int) -> int
fn paging_set_root(pml4:*char) -> int
fn paging_root() -> *char
fn pf_last_addr() -> int
fn pf_last_err() -> int
fn pf_last_count() -> int
fn pf_autofix(on:int) -> int
fn phys_init() -> int
fn phys_alloc(pages:int) -> *char
fn phys_free(p:*char, pages:int) -> int
fn page_init_from_phys(pages:int) -> int
fn heap_init_from_phys(pages:int) -> int
fn paging_build_identity_2m(pages:int, flags:int) -> *char
fn paging_build_identity_memmap(flags:int) -> *char
fn paging_activate(pml4:*char) -> int
fn paging_map(virt:*char, phys:*char, flags:int) -> int
fn paging_map_region(virt:*char, phys:*char, bytes:int, flags:int) -> int
fn paging_unmap(virt:*char) -> int
fn paging_enable() -> int
fn console_set_backend(mode:int) -> int
fn console_get_backend() -> int
fn console_mirror_serial(on:int) -> int
fn console_serial_input(on:int) -> int
fn console_set_scale(scale:int) -> int
fn console_get_scale() -> int
fn console_set_color(color:int) -> int
fn console_set_cursor(x:int, y:int) -> int
fn console_cursor_mode(mode:int) -> int
fn console_cursor(on:int, color:int) -> int
fn vga_clear() -> int
fn vga_cursor_set_pos() -> int
fn vga_cursor_block() -> int
fn vga_cursor_enable(on:int) -> int
fn vga_putc(ch:int) -> int
fn vga_write(s:str) -> int
fn serial_init(base:int) -> int
fn serial_loopback_enable(on:int) -> int
fn serial_loopback_test() -> int
fn serial_ready() -> int
fn serial_putc(ch:int) -> int
fn serial_poll_char() -> int
fn console_write(s:str) -> int
fn console_write_int(v:int) -> int
fn serial_write(port:int, s:str) -> int
fn kbd_poll_has_event() -> int
fn kbd_poll_scancode() -> int
fn kbd_poll_scancode_raw() -> int
fn kbd_poll_char() -> int
fn kbd_debug(on:int) -> int
fn kbd_last() -> int
fn mouse_poll_has_packet() -> int
fn mouse_poll_packet() -> int
fn mouse_poll_dx() -> int
fn mouse_poll_dy() -> int
fn mouse_poll_buttons() -> int
fn console_read_char() -> int
fn debugcon_putc(ch:int) -> int
fn debugcon_write(s:str) -> int
fn timer_now_ns() -> int
fn timer_ticks() -> int
fn timer_sleep_ticks(ticks:int) -> int
fn timer_irq_init(hz:int) -> int
fn timer_apic_init(hz:int) -> int
fn timer_hpet_init() -> int
fn timer_hpet_ns() -> int
fn timer_hpet_autodetect() -> int
fn timer_irq_ticks() -> int
fn sched_init() -> int
fn sched_ready_count() -> int
fn sched_task_count() -> int
fn sched_task_active(idx:int) -> int
fn sched_task_state(idx:int) -> int
fn sched_task_last_tick(idx:int) -> int
fn sched_task_runs(idx:int) -> int
fn sched_enqueue(idx:int) -> int
fn sched_dequeue(idx:*int) -> int
fn sched_spawn(entry:*char, arg:*char) -> int
fn sched_task_requeue(idx:int) -> int
fn sched_task_stop(idx:int) -> int
fn sched_yield() -> int
fn cpu_halt() -> int
fn sched_run_once() -> int
fn sched_run_loop(max_iters:int) -> int
fn syscall_register(num:int, fnptr:*char) -> int
fn syscall_invoke(num:int, a:int, b:int, c:int, d:int) -> int