Module xous::syscall [−][src]
Enums
SysCall | |
SysCallNumber |
Functions
claim_interrupt | Claim a hardware interrupt for this process. |
connect | Connect to a server with the given SID |
connect_for_process | Connect to a server on behalf of another process. This can be used by a name resolution server to securely create connections without disclosing a SID. |
create_process | |
create_process_as_thread | Create a new process by running it in its own thread |
create_server | Create a new server with a random name. This enables other processes to connect to this server to send messages. A random server ID is generated by the kernel and returned to the caller. This address can then be registered to a namserver. |
create_server_id | Fetch a random server ID from the kernel. This is used exclusively by the name server and the suspend/resume server. A random server ID is generated by the kernel and returned to the caller. This address can then be registered to a namserver by the caller in their memory space. |
create_server_with_address | Create a new server with the given name. This enables other processes to connect to this server to send messages. The name is a UTF-8 token that will be mixed with other random data that is unique to each process. That way, if a process crashes and is restarted, it can keep the same name. However, other processes cannot spoof this process. |
create_server_with_sid | Create a new server with the given SID. This enables other processes to connect to this server to send messages. The name is a unique 128-bit SID. That way, if a process crashes and is restarted, it can keep the same name. However, other processes cannot spoof this process. |
create_thread | Create a new thread with the given closure. |
create_thread_0 | |
create_thread_1 | |
create_thread_2 | |
create_thread_3 | |
create_thread_4 | |
create_thread_simple | Deprecated |
current_pid | Get the current process ID |
current_tid | Get the current thread ID |
destroy_server | |
disconnect⚠ | |
map_memory | Map the given physical address to the given virtual address.
The |
receive_message | Suspend the current process until a message is received. This thread will block until a message is received. |
return_memory | Map the given physical address to the given virtual address.
The |
return_memory_offset | Map the given physical address to the given virtual address.
The |
return_memory_offset_valid | Map the given physical address to the given virtual address.
The |
return_scalar | Map the given physical address to the given virtual address.
The |
return_scalar2 | Map the given physical address to the given virtual address.
The |
rsyscall | |
send_message | Send a message to a server. Depending on the mesage type (move or borrow), it
will either block (borrow) or return immediately (move).
If the message type is |
terminate_process | |
try_connect | Connect to a server with the given SID |
try_receive_message | Retrieve a message from the message queue for the provided server. If no message
is available, returns |
try_send_message | Send a message to a server. Depending on the mesage type (move or borrow), it
will either block (borrow) or return immediately (move).
If the message type is |
unmap_memory | Map the given physical address to the given virtual address.
The |
wait_event | Return execution to the kernel and wait for a message or an interrupt. |
wait_process | Wait for a thread to finish |
wait_process_as_thread | Wait for a thread to finish |
wait_thread | Wait for a thread to finish |
yield_slice | Return execution to the kernel. This function may return at any time, including immediately |