Expand description
Wrapper functions around for raw_syscall, providing a typed and safer way to interact with the kernel.
Structs§
- Flags about a given clock or clock read.
- ID used internally to read the appropriate clock source.
- Information about a given clock source, including precision and current clock value.
- Flags controlling how a particular object tie operates.
- A specification of ties to create. (see the book for more information on ties).
- Flags to control operation of the object delete operation.
- Flags to pass to sys_kernel_console_read_buffer.
- Flags to pass to sys_kernel_console_read.
- Flags to pass to sys_kernel_console_write.
- Flags to pass to sys_object_map.
- Information about an object mapping.
- Flags to pass to sys_new_handle.
- Full object creation specification, minus ties.
- Flags to pass to the object create system call.
- Information about an object, according to the local kernel.
- Specifications for an object-copy from a source object. The specified ranges are source:[src_start, src_start + len) copied to
:[dest_start, dest_start + len). Each range must start within an object, and end within the object. - Flags to pass to
sys_read_clock_info
. - Flags to pass to
sys_read_clock_list
. - Information about the system.
- Arguments to pass to sys_spawn.
- Flags to pass to sys_spawn.
- Flags to pass to sys_thread_sync.
- Specification for a thread sleep request.
- Specification for a thread wake request.
- Flags to pass to sys_unbind_handle.
- Flags to pass to sys_object_unmap.
Enums§
- The backing memory type for this object. Currently doesn’t do anything.
- Different kinds of clocks exposed by the kernel.
- Possible clock sources.
- Possible kernel handle types.
- Possible errors returned by reading from the kernel console’s input.
- Possible errors returned by reading from the kernel console’s input.
- Possible sources for a kernel console read syscall.
- The base lifetime type of the object. Note that this does not ensure that the object is stored in a specific type of memory, the kernel is allowed to migrate objects with the Normal BackingType as it sees fit. For more information on object lifetime, see the book.
- Possible error values for sys_new_handle.
- Possible object control commands for sys_object_ctrl.
- Possible error returns for sys_object_ctrl.
- Possible error returns for sys_object_create.
- Possible error values for sys_object_map.
- Possible error values for sys_object_unmap.
- Possible error returns for sys_object_stat.
- Possible error values for sys_object_unmap.
- Possible error returns for sys_read_clock_info.
- Possible error returns for sys_read_clock_info.
- Possible error returns for sys_sctx_attach.
- All possible Synchronous syscalls into the Twizzler kernel.
- Possible Thread Control operations
- Possible error values for sys_spawn.
- Either a sleep or wake request. The syscall comprises of a number of either sleep or wake requests.
- Possible error returns for sys_thread_sync.
- Possible operations the kernel can perform when looking at the supplies reference and the supplied value. If the operation
*reference OP value
evaluates to true (or false if the INVERT flag is passed), then the thread is put to sleep. - A reference to a piece of data. May either be a non-realized persistent reference or a virtual address.
Constants§
Functions§
- sys_
debug_ shutdown Deprecated Shutdown the computer. - Get a SysInfo struct from the kernel.
- Execute a kaction on an object.
- Read from the kernel console input, placing data into
buffer
. - Read from the kernel console buffer, placing data into
buffer
. - Write to the kernel console.
- Make a new handle object.
- Create an object, returning either its ID or an error.
- Perform a kernel operation on this object.
- Map an object into the address space with the specified protections.
- Reads the map information about a given slot in the address space specified by
handle
(or current address space if none is specified). - Read information about a given object.
- Unmaps an object from the address space specified by
handle
(or the current address space if none is specified). - Read information about a give clock, as specified by clock source.
- Discover a list of clock sources exposed by the kernel.
- Attach to a given security context.
- Spawn a new thread, returning the ObjID of the thread’s handle or an error.
- Get the active security context ID for the calling thread.
- Exit the thread. The code will be written to the crate::thread::ThreadRepr for the current thread as part of updating the status and code to indicate thread has exited.
- Resume from an upcall, restoring registers. If you can resume yourself in userspace, this call is not necessary.
- Get the repr ID of the calling thread.
- Set the upcall location for this thread.
- Set the current kernel thread’s TLS pointer. On x86_64, for example, this changes user’s FS segment base to the supplies TLS value.
- Perform a number of ThreadSync operations, either waking of threads waiting on words of memory, or sleeping this thread on one or more words of memory (or both). The order these requests are processed in is undefined.
- Yield the thread’s CPU time now. The actual effect of this is unspecified, but it acts as a hint to the kernel that this thread does not need to run right now. The kernel, of course, is free to ignore this hint.
- Unbind an object from handle status.
Type Aliases§
- Result of sync operations.