rCore-Tutorial-v3/ch7/os/all.html
2023-10-15 07:28:50 +00:00

1 line
19 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="os" data-themes="" data-resource-suffix="" data-rustdoc-version="1.75.0-nightly (bf9a1c8a1 2023-10-08)" data-channel="nightly" data-search-js="search-5f5ec5419eadd0c9.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../os/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../os/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Crate os</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#macros">Macros</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#statics">Statics</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li><li><a href="#types">Type Aliases</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="console/struct.Stdout.html">console::Stdout</a></li><li><a href="drivers/block/struct.BLOCK_DEVICE.html">drivers::block::BLOCK_DEVICE</a></li><li><a href="drivers/block/virtio_blk/struct.QUEUE_FRAMES.html">drivers::block::virtio_blk::QUEUE_FRAMES</a></li><li><a href="drivers/block/virtio_blk/struct.VirtIOBlock.html">drivers::block::virtio_blk::VirtIOBlock</a></li><li><a href="drivers/block/virtio_blk/struct.VirtioHal.html">drivers::block::virtio_blk::VirtioHal</a></li><li><a href="fs/inode/struct.OSInode.html">fs::inode::OSInode</a></li><li><a href="fs/inode/struct.OSInodeInner.html">fs::inode::OSInodeInner</a></li><li><a href="fs/inode/struct.OpenFlags.html">fs::inode::OpenFlags</a></li><li><a href="fs/inode/struct.ROOT_INODE.html">fs::inode::ROOT_INODE</a></li><li><a href="fs/pipe/struct.Pipe.html">fs::pipe::Pipe</a></li><li><a href="fs/pipe/struct.PipeRingBuffer.html">fs::pipe::PipeRingBuffer</a></li><li><a href="fs/stdio/struct.Stdin.html">fs::stdio::Stdin</a></li><li><a href="fs/stdio/struct.Stdout.html">fs::stdio::Stdout</a></li><li><a href="mm/address/struct.PhysAddr.html">mm::address::PhysAddr</a></li><li><a href="mm/address/struct.PhysPageNum.html">mm::address::PhysPageNum</a></li><li><a href="mm/address/struct.SimpleRange.html">mm::address::SimpleRange</a></li><li><a href="mm/address/struct.SimpleRangeIterator.html">mm::address::SimpleRangeIterator</a></li><li><a href="mm/address/struct.VirtAddr.html">mm::address::VirtAddr</a></li><li><a href="mm/address/struct.VirtPageNum.html">mm::address::VirtPageNum</a></li><li><a href="mm/frame_allocator/struct.FRAME_ALLOCATOR.html">mm::frame_allocator::FRAME_ALLOCATOR</a></li><li><a href="mm/frame_allocator/struct.FrameTracker.html">mm::frame_allocator::FrameTracker</a></li><li><a href="mm/frame_allocator/struct.StackFrameAllocator.html">mm::frame_allocator::StackFrameAllocator</a></li><li><a href="mm/memory_set/struct.KERNEL_SPACE.html">mm::memory_set::KERNEL_SPACE</a></li><li><a href="mm/memory_set/struct.MapArea.html">mm::memory_set::MapArea</a></li><li><a href="mm/memory_set/struct.MapPermission.html">mm::memory_set::MapPermission</a></li><li><a href="mm/memory_set/struct.MemorySet.html">mm::memory_set::MemorySet</a></li><li><a href="mm/page_table/struct.PTEFlags.html">mm::page_table::PTEFlags</a></li><li><a href="mm/page_table/struct.PageTable.html">mm::page_table::PageTable</a></li><li><a href="mm/page_table/struct.PageTableEntry.html">mm::page_table::PageTableEntry</a></li><li><a href="mm/page_table/struct.UserBuffer.html">mm::page_table::UserBuffer</a></li><li><a href="mm/page_table/struct.UserBufferIterator.html">mm::page_table::UserBufferIterator</a></li><li><a href="sync/up/struct.UPSafeCell.html">sync::up::UPSafeCell</a></li><li><a href="task/struct.INITPROC.html">task::INITPROC</a></li><li><a href="task/action/struct.SignalAction.html">task::action::SignalAction</a></li><li><a href="task/action/struct.SignalActions.html">task::action::SignalActions</a></li><li><a href="task/context/struct.TaskContext.html">task::context::TaskContext</a></li><li><a href="task/manager/struct.PID2TCB.html">task::manager::PID2TCB</a></li><li><a href="task/manager/struct.TASK_MANAGER.html">task::manager::TASK_MANAGER</a></li><li><a href="task/manager/struct.TaskManager.html">task::manager::TaskManager</a></li><li><a href="task/pid/struct.KernelStack.html">task::pid::KernelStack</a></li><li><a href="task/pid/struct.PID_ALLOCATOR.html">task::pid::PID_ALLOCATOR</a></li><li><a href="task/pid/struct.PidAllocator.html">task::pid::PidAllocator</a></li><li><a href="task/pid/struct.PidHandle.html">task::pid::PidHandle</a></li><li><a href="task/processor/struct.PROCESSOR.html">task::processor::PROCESSOR</a></li><li><a href="task/processor/struct.Processor.html">task::processor::Processor</a></li><li><a href="task/signal/struct.SignalFlags.html">task::signal::SignalFlags</a></li><li><a href="task/task/struct.TaskControlBlock.html">task::task::TaskControlBlock</a></li><li><a href="task/task/struct.TaskControlBlockInner.html">task::task::TaskControlBlockInner</a></li><li><a href="trap/context/struct.TrapContext.html">trap::context::TrapContext</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="fs/pipe/enum.RingBufferStatus.html">fs::pipe::RingBufferStatus</a></li><li><a href="mm/memory_set/enum.MapType.html">mm::memory_set::MapType</a></li><li><a href="task/task/enum.TaskStatus.html">task::task::TaskStatus</a></li></ul><h3 id="traits">Traits</h3><ul class="all-items"><li><a href="fs/trait.File.html">fs::File</a></li><li><a href="mm/address/trait.StepByOne.html">mm::address::StepByOne</a></li><li><a href="mm/frame_allocator/trait.FrameAllocator.html">mm::frame_allocator::FrameAllocator</a></li></ul><h3 id="macros">Macros</h3><ul class="all-items"><li><a href="macro.print.html">print</a></li><li><a href="macro.println.html">println</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="fn.clear_bss.html">clear_bss</a></li><li><a href="console/fn.print.html">console::print</a></li><li><a href="drivers/block/fn.block_device_test.html">drivers::block::block_device_test</a></li><li><a href="fs/inode/fn.list_apps.html">fs::inode::list_apps</a></li><li><a href="fs/inode/fn.open_file.html">fs::inode::open_file</a></li><li><a href="fs/pipe/fn.make_pipe.html">fs::pipe::make_pipe</a></li><li><a href="lang_items/fn.panic.html">lang_items::panic</a></li><li><a href="mm/frame_allocator/fn.frame_alloc.html">mm::frame_allocator::frame_alloc</a></li><li><a href="mm/frame_allocator/fn.frame_allocator_test.html">mm::frame_allocator::frame_allocator_test</a></li><li><a href="mm/frame_allocator/fn.frame_dealloc.html">mm::frame_allocator::frame_dealloc</a></li><li><a href="mm/frame_allocator/fn.init_frame_allocator.html">mm::frame_allocator::init_frame_allocator</a></li><li><a href="mm/heap_allocator/fn.handle_alloc_error.html">mm::heap_allocator::handle_alloc_error</a></li><li><a href="mm/heap_allocator/fn.heap_test.html">mm::heap_allocator::heap_test</a></li><li><a href="mm/heap_allocator/fn.init_heap.html">mm::heap_allocator::init_heap</a></li><li><a href="mm/fn.init.html">mm::init</a></li><li><a href="mm/memory_set/fn.ebss.html">mm::memory_set::ebss</a></li><li><a href="mm/memory_set/fn.edata.html">mm::memory_set::edata</a></li><li><a href="mm/memory_set/fn.ekernel.html">mm::memory_set::ekernel</a></li><li><a href="mm/memory_set/fn.erodata.html">mm::memory_set::erodata</a></li><li><a href="mm/memory_set/fn.etext.html">mm::memory_set::etext</a></li><li><a href="mm/memory_set/fn.kernel_token.html">mm::memory_set::kernel_token</a></li><li><a href="mm/memory_set/fn.remap_test.html">mm::memory_set::remap_test</a></li><li><a href="mm/memory_set/fn.sbss_with_stack.html">mm::memory_set::sbss_with_stack</a></li><li><a href="mm/memory_set/fn.sdata.html">mm::memory_set::sdata</a></li><li><a href="mm/memory_set/fn.srodata.html">mm::memory_set::srodata</a></li><li><a href="mm/memory_set/fn.stext.html">mm::memory_set::stext</a></li><li><a href="mm/memory_set/fn.strampoline.html">mm::memory_set::strampoline</a></li><li><a href="mm/page_table/fn.translated_byte_buffer.html">mm::page_table::translated_byte_buffer</a></li><li><a href="mm/page_table/fn.translated_ref.html">mm::page_table::translated_ref</a></li><li><a href="mm/page_table/fn.translated_refmut.html">mm::page_table::translated_refmut</a></li><li><a href="mm/page_table/fn.translated_str.html">mm::page_table::translated_str</a></li><li><a href="fn.rust_main.html">rust_main</a></li><li><a href="sbi/fn.console_getchar.html">sbi::console_getchar</a></li><li><a href="sbi/fn.console_putchar.html">sbi::console_putchar</a></li><li><a href="sbi/fn.set_timer.html">sbi::set_timer</a></li><li><a href="sbi/fn.shutdown.html">sbi::shutdown</a></li><li><a href="syscall/fs/fn.sys_close.html">syscall::fs::sys_close</a></li><li><a href="syscall/fs/fn.sys_dup.html">syscall::fs::sys_dup</a></li><li><a href="syscall/fs/fn.sys_open.html">syscall::fs::sys_open</a></li><li><a href="syscall/fs/fn.sys_pipe.html">syscall::fs::sys_pipe</a></li><li><a href="syscall/fs/fn.sys_read.html">syscall::fs::sys_read</a></li><li><a href="syscall/fs/fn.sys_write.html">syscall::fs::sys_write</a></li><li><a href="syscall/process/fn.check_sigaction_error.html">syscall::process::check_sigaction_error</a></li><li><a href="syscall/process/fn.sys_exec.html">syscall::process::sys_exec</a></li><li><a href="syscall/process/fn.sys_exit.html">syscall::process::sys_exit</a></li><li><a href="syscall/process/fn.sys_fork.html">syscall::process::sys_fork</a></li><li><a href="syscall/process/fn.sys_get_time.html">syscall::process::sys_get_time</a></li><li><a href="syscall/process/fn.sys_getpid.html">syscall::process::sys_getpid</a></li><li><a href="syscall/process/fn.sys_kill.html">syscall::process::sys_kill</a></li><li><a href="syscall/process/fn.sys_sigaction.html">syscall::process::sys_sigaction</a></li><li><a href="syscall/process/fn.sys_sigprocmask.html">syscall::process::sys_sigprocmask</a></li><li><a href="syscall/process/fn.sys_sigreturn.html">syscall::process::sys_sigreturn</a></li><li><a href="syscall/process/fn.sys_waitpid.html">syscall::process::sys_waitpid</a></li><li><a href="syscall/process/fn.sys_yield.html">syscall::process::sys_yield</a></li><li><a href="syscall/fn.syscall.html">syscall::syscall</a></li><li><a href="task/fn.add_initproc.html">task::add_initproc</a></li><li><a href="task/fn.call_kernel_signal_handler.html">task::call_kernel_signal_handler</a></li><li><a href="task/fn.call_user_signal_handler.html">task::call_user_signal_handler</a></li><li><a href="task/fn.check_pending_signals.html">task::check_pending_signals</a></li><li><a href="task/fn.check_signals_error_of_current.html">task::check_signals_error_of_current</a></li><li><a href="task/fn.current_add_signal.html">task::current_add_signal</a></li><li><a href="task/fn.exit_current_and_run_next.html">task::exit_current_and_run_next</a></li><li><a href="task/fn.handle_signals.html">task::handle_signals</a></li><li><a href="task/manager/fn.add_task.html">task::manager::add_task</a></li><li><a href="task/manager/fn.fetch_task.html">task::manager::fetch_task</a></li><li><a href="task/manager/fn.pid2task.html">task::manager::pid2task</a></li><li><a href="task/manager/fn.remove_from_pid2task.html">task::manager::remove_from_pid2task</a></li><li><a href="task/pid/fn.kernel_stack_position.html">task::pid::kernel_stack_position</a></li><li><a href="task/pid/fn.pid_alloc.html">task::pid::pid_alloc</a></li><li><a href="task/processor/fn.current_task.html">task::processor::current_task</a></li><li><a href="task/processor/fn.current_trap_cx.html">task::processor::current_trap_cx</a></li><li><a href="task/processor/fn.current_user_token.html">task::processor::current_user_token</a></li><li><a href="task/processor/fn.run_tasks.html">task::processor::run_tasks</a></li><li><a href="task/processor/fn.schedule.html">task::processor::schedule</a></li><li><a href="task/processor/fn.take_current_task.html">task::processor::take_current_task</a></li><li><a href="task/fn.suspend_current_and_run_next.html">task::suspend_current_and_run_next</a></li><li><a href="task/switch/fn.__switch.html">task::switch::__switch</a></li><li><a href="timer/fn.get_time.html">timer::get_time</a></li><li><a href="timer/fn.get_time_ms.html">timer::get_time_ms</a></li><li><a href="timer/fn.set_next_trigger.html">timer::set_next_trigger</a></li><li><a href="trap/fn.enable_timer_interrupt.html">trap::enable_timer_interrupt</a></li><li><a href="trap/fn.init.html">trap::init</a></li><li><a href="trap/fn.set_kernel_trap_entry.html">trap::set_kernel_trap_entry</a></li><li><a href="trap/fn.set_user_trap_entry.html">trap::set_user_trap_entry</a></li><li><a href="trap/fn.trap_from_kernel.html">trap::trap_from_kernel</a></li><li><a href="trap/fn.trap_handler.html">trap::trap_handler</a></li><li><a href="trap/fn.trap_return.html">trap::trap_return</a></li></ul><h3 id="types">Type Aliases</h3><ul class="all-items"><li><a href="board/type.BlockDeviceImpl.html">board::BlockDeviceImpl</a></li><li><a href="mm/address/type.VPNRange.html">mm::address::VPNRange</a></li><li><a href="mm/frame_allocator/type.FrameAllocatorImpl.html">mm::frame_allocator::FrameAllocatorImpl</a></li></ul><h3 id="statics">Statics</h3><ul class="all-items"><li><a href="mm/heap_allocator/static.HEAP_ALLOCATOR.html">mm::heap_allocator::HEAP_ALLOCATOR</a></li><li><a href="mm/heap_allocator/static.HEAP_SPACE.html">mm::heap_allocator::HEAP_SPACE</a></li></ul><h3 id="constants">Constants</h3><ul class="all-items"><li><a href="board/constant.CLOCK_FREQ.html">board::CLOCK_FREQ</a></li><li><a href="board/constant.MEMORY_END.html">board::MEMORY_END</a></li><li><a href="board/constant.MMIO.html">board::MMIO</a></li><li><a href="config/constant.KERNEL_HEAP_SIZE.html">config::KERNEL_HEAP_SIZE</a></li><li><a href="config/constant.KERNEL_STACK_SIZE.html">config::KERNEL_STACK_SIZE</a></li><li><a href="config/constant.PAGE_SIZE.html">config::PAGE_SIZE</a></li><li><a href="config/constant.PAGE_SIZE_BITS.html">config::PAGE_SIZE_BITS</a></li><li><a href="config/constant.TRAMPOLINE.html">config::TRAMPOLINE</a></li><li><a href="config/constant.TRAP_CONTEXT.html">config::TRAP_CONTEXT</a></li><li><a href="config/constant.USER_STACK_SIZE.html">config::USER_STACK_SIZE</a></li><li><a href="drivers/block/virtio_blk/constant.VIRTIO0.html">drivers::block::virtio_blk::VIRTIO0</a></li><li><a href="fs/pipe/constant.RING_BUFFER_SIZE.html">fs::pipe::RING_BUFFER_SIZE</a></li><li><a href="mm/address/constant.PA_WIDTH_SV39.html">mm::address::PA_WIDTH_SV39</a></li><li><a href="mm/address/constant.PPN_WIDTH_SV39.html">mm::address::PPN_WIDTH_SV39</a></li><li><a href="mm/address/constant.VA_WIDTH_SV39.html">mm::address::VA_WIDTH_SV39</a></li><li><a href="mm/address/constant.VPN_WIDTH_SV39.html">mm::address::VPN_WIDTH_SV39</a></li><li><a href="syscall/constant.SYSCALL_CLOSE.html">syscall::SYSCALL_CLOSE</a></li><li><a href="syscall/constant.SYSCALL_DUP.html">syscall::SYSCALL_DUP</a></li><li><a href="syscall/constant.SYSCALL_EXEC.html">syscall::SYSCALL_EXEC</a></li><li><a href="syscall/constant.SYSCALL_EXIT.html">syscall::SYSCALL_EXIT</a></li><li><a href="syscall/constant.SYSCALL_FORK.html">syscall::SYSCALL_FORK</a></li><li><a href="syscall/constant.SYSCALL_GETPID.html">syscall::SYSCALL_GETPID</a></li><li><a href="syscall/constant.SYSCALL_GET_TIME.html">syscall::SYSCALL_GET_TIME</a></li><li><a href="syscall/constant.SYSCALL_KILL.html">syscall::SYSCALL_KILL</a></li><li><a href="syscall/constant.SYSCALL_OPEN.html">syscall::SYSCALL_OPEN</a></li><li><a href="syscall/constant.SYSCALL_PIPE.html">syscall::SYSCALL_PIPE</a></li><li><a href="syscall/constant.SYSCALL_READ.html">syscall::SYSCALL_READ</a></li><li><a href="syscall/constant.SYSCALL_SIGACTION.html">syscall::SYSCALL_SIGACTION</a></li><li><a href="syscall/constant.SYSCALL_SIGPROCMASK.html">syscall::SYSCALL_SIGPROCMASK</a></li><li><a href="syscall/constant.SYSCALL_SIGRETURN.html">syscall::SYSCALL_SIGRETURN</a></li><li><a href="syscall/constant.SYSCALL_WAITPID.html">syscall::SYSCALL_WAITPID</a></li><li><a href="syscall/constant.SYSCALL_WRITE.html">syscall::SYSCALL_WRITE</a></li><li><a href="syscall/constant.SYSCALL_YIELD.html">syscall::SYSCALL_YIELD</a></li><li><a href="task/constant.IDLE_PID.html">task::IDLE_PID</a></li><li><a href="task/signal/constant.MAX_SIG.html">task::signal::MAX_SIG</a></li><li><a href="timer/constant.MSEC_PER_SEC.html">timer::MSEC_PER_SEC</a></li><li><a href="timer/constant.TICKS_PER_SEC.html">timer::TICKS_PER_SEC</a></li></ul></section></div></main></body></html>