|
XenevaOS
|
#include <stdint.h>#include <Hal/x86_64_sched.h>#include <Hal/x86_64_signal.h>#include <Hal/apic.h>#include <Hal/x86_64_lowlevel.h>#include <Hal/x86_64_cpu.h>#include <process.h>#include <Hal/serial.h>#include <loader.h>#include <Mm/kmalloc.h>#include <_null.h>#include <time.h>#include <aucon.h>
Functions | |
| int | PauseThread () |
| PauseThread – pause the currently running thread. | |
| uint16_t | GetThreadID () |
| int | GetProcessID () |
| GetProcessID – returns currently running process id. | |
| int | ProcessExit () |
| ProcessExit – marks a process as died. | |
| 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 | ProcessLoadExec (int proc_id, char *filename, int argc, char **argv) |
| ProcessLoadExec – loads an executable to a process slot. | |
| int | ProcessSleep (uint64_t ms) |
| ProcessSleep – put the current thread to sleep and process to busy wait state. | |
| void | SignalReturn (int num) |
| SignalReturn – returns from a signal handler. | |
| int | SetSignal (int signo, AuSigHandler handler) |
| size_t | GetSystemTimerTick () |
| int | CreateUserThread (void(*entry)(), char *name) |
| CreateUserThread – creates an user mode thread. | |
| int | CloseUserThread (int thread_idx) |
| int | SetFileToProcess (int fileno, int dest_fdidx, int proc_id) |
| int | SendSignal (int pid, int signo) |
| SendSignal – sends a signal to desired process note here pid means thread id. | |
| int | GetCurrentTime (void *ptr) |
| size_t | GetEnvironmenBlock () |
| GetEnvironmentBlock – returns environment block of this process. | |
| int CloseUserThread | ( | int | thread_idx | ) |
| 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.
| int GetCurrentTime | ( | void * | ptr | ) |
| size_t GetEnvironmenBlock | ( | ) |
GetEnvironmentBlock – returns environment block of this process.
| int GetProcessID | ( | ) |
GetProcessID – returns currently running process id.
| size_t GetSystemTimerTick | ( | ) |
| uint16_t GetThreadID | ( | ) |
| 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.
| 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 SendSignal | ( | int | pid, |
| int | signo | ||
| ) |
SendSignal – sends a signal to desired process note here pid means thread id.
| pid | – thread id |
| signo | – signal number |
| int SetFileToProcess | ( | int | fileno, |
| int | dest_fdidx, | ||
| int | proc_id | ||
| ) |
| int SetSignal | ( | int | signo, |
| AuSigHandler | handler | ||
| ) |
| void SignalReturn | ( | int | num | ) |
SignalReturn – returns from a signal handler.