Skip to main content

System Calls

0x00 - Quick Actions

opcodenamedescription
0000 0000suicideTerminates the current proccess, including paralel tasks
0000 0001get_task_idGet the current process and task ID
0000 0001get_descriptor_kindGet the kind of a descriptor
0000 0002heap_allocAllocates primitive heap memory
0000 0003heap_resizeResizes primitive heap memory
0000 0004heap_remapRemaps primitive heap memory
0000 0005heap_freeFrees primitive heap memory

0x01 - Proccess Management

opcodenamedescription
0001 0000spawnCreates a new empty child proccess
0001 0001killTerminates a selected proccess and it's children
0001 0002signalizeSends a generic signal to a proccess
0001 0003waitAwaits for another proccess to terminate
0001 0004set_prioritySets the scheduling priority of a task

0x02 - Virtual Memory

opcodenamedescription
0002 0000mapManually allocates and/or maps a page-based memory range
0002 0001unmapManually deallocates and unmaps a page-based memory range
0002 0002queryReturns information about a memory address
0002 0003protectChange page protection flags

0x03 - Multitaking & syncronization

opcodenamedescription
0003 0000branchCreate a new paralel task to run in the current process context
0003 0001async_retReturns from the current task
0003 0002awaitAwaits for another task to asyncronously return
0003 0003futex_await
0003 0004futex_awake
0003 0005yieldGives up the schedue to another task
0003 0006sleepMakes the task awaits

0x04 - Inter-Process Communication

opcodenamedescription
0004 0000signal_sendSends a signal to another proccess
0004 0001signal_awaitAwaits for a specific signal to be sent
0004 0002signal_handleDefines a handle for signals
0004 0100mailbox_createCreates a mailbox
0004 0101mailbox_destroyDestroys a mailbox
0004 0102mail_sendSends a message to another mailbox
0004 0103mail_receivePools a message from the mailbox
0004 0200pipe_createCreates a stream pipe
0004 0201pipe_destroyDestroys a stream pipe
0004 0202pipe_writeWrite bytes into the pipe
0004 0203pipe_readRead bytes outo the pipe

0x05 - Files and Directories

opcodenamedescription
0005 0000newCreates a new file system entry
0005 0001openOpens a new fs descriptor
0005 0002closeCloses a opened fs descriptor
0005 0003readReads a fs descriptor
0005 0004writeWrites to a fs descriptor
0005 0005seekRedefines the current descriptor's offset
0005 0006infoReturns status information about the descriptor
0005 0007path_infoReturns status information about the path

0x06 - I/O Devices

opcodenamedescription
0006 0000queryReturns information about a specific device
0006 0001openOpens a new device descriptor
0006 0002closeCloses a device descriptor
0006 0003operateSends a opcode to the device

0x07 - Clock & Timers

opcodenamedescription
0007 0000get_timeReturns the current timestamp
0007 0001get_dateReturns the current date
0007 0002get_epochReturns the epoch being used
0007 0003get_ticksReturns the ticks counted since boot
0007 0004timer_createCreates a precision timer
0007 0005timer_startStarts a precision timer
0007 0006timer_resetResets a precision timer
0007 0007timer_queryGets the remaining timer of a precision timer
0007 0008timer_cancelDestroys an already created timer

0x08 - System Information

opcodenamedescription
0008 0000query_kernelGets kernel information
0008 0001query_userGets user's information
0008 0001query_cpuGets CPU information
0008 0002query_memoryGets virtual memory information

0x09 - Security & Permissions

0x0A - Debug