|
XenevaOS
|
#include <Serv/sysserv.h>#include <Hal/AA64/sched.h>#include <Hal/AA64/aa64lowlevel.h>#include <process.h>#include <loader.h>#include <_null.h>#include <Drivers/uart.h>#include <aucon.h>
Functions | |
| uint64_t | GetThreadID () |
| GetThreadID – returns current id of thread. | |
| int | GetProcessID () |
| GetProcessID – returns currently running process id. | |
| int | ProcessExit () |
| ProcessExit – marks a process as died, only available from the main thread of the process. | |
| int | ProcessWaitForTermination (int pid) |
| ProcessWaitForTermination – wait for termination of a child process. | |
| int | CreateProcess (int parent_id, char *name) |
| CreateProcess – creates a new process slot. | |
| int | ProcessSleep (uint64_t ms) |
| ProcessSleep – put the current thread to sleep and process to busy wait state. | |
| void | setuprint () |
| int | PauseThread () |
| PauseThread – pause the currently running thread. | |
| int | ProcessLoadExec (int proc_id, char *filename, int argc, char **argv) |
| ProcessLoadExec – loads an executable to a process slot. | |
| int | SetFileToProcess (int fileno, int dest_fdidx, int proc_id) |
| SetFileToProcess – copies a file from one process to other. | |
| int | CreateUserThread (void(*entry)(), char *name) |
| CreateUserThread – creates an user mode thread. | |
| size_t | GetEnvironmenBlock () |
| GetEnvironmentBlock – returns environment block of this process. | |
BSD 2-Clause License
Copyright (c) 2022-2025, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| int CreateProcess | ( | int | parent_id, |
| char * | name | ||
| ) |
CreateProcess – creates a new process slot.
| parent_id | – parent process id |
| name | – name of the current process slot |
| int CreateUserThread | ( | void(*)() | entry, |
| char * | name | ||
| ) |
CreateUserThread – creates an user mode thread.
| size_t GetEnvironmenBlock | ( | ) |
GetEnvironmentBlock – returns environment block of this process.
| int GetProcessID | ( | ) |
GetProcessID – returns currently running process id.
| uint64_t GetThreadID | ( | ) |
GetThreadID – returns current id of thread.
| int PauseThread | ( | ) |
PauseThread – pause the currently running thread.
BSD 2-Clause License
Copyright (c) 2022-2023, Manas Kamal Choudhury All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
| int ProcessExit | ( | ) |
ProcessExit – marks a process as died, only available from the main thread of the process.
ProcessExit – marks a process as died.
| int ProcessLoadExec | ( | int | proc_id, |
| char * | filename, | ||
| int | argc, | ||
| char ** | argv | ||
| ) |
ProcessLoadExec – loads an executable to a process slot.
| proc_id | – newly created process slot |
| filename | – path of the executable |
| argc | – argument count |
| argv | – pointer to argument list |
| int ProcessSleep | ( | uint64_t | ms | ) |
ProcessSleep – put the current thread to sleep and process to busy wait state.
| ms | – millisecond |
| int ProcessWaitForTermination | ( | int | pid | ) |
ProcessWaitForTermination – wait for termination of a child process.
| pid | – child process id, if -1 then any process |
| int SetFileToProcess | ( | int | fileno, |
| int | dest_fdidx, | ||
| int | proc_id | ||
| ) |
SetFileToProcess – copies a file from one process to other.
| fileno | – file number of the current process |
| dest_fdidx | – destination process file index |
| proc_id | – destination process id |
|
extern |