aboutsummaryrefslogblamecommitdiff
path: root/src/common/README
blob: 7c78de1d4fe551abe2c832a4cb1193787cf07542 (plain) (tree)
1
2
3
4
5
6
                                                                


                                                              
                                                            
                                   







                                                  
         


                                                                
                                             
 


                                                                        


                                                               
This directory contains the library functions common to userland
and kernel code, for the three basic libraries of the system :

- libkogata : memory allocation, system functions
- libc : (partial) implementation of standard libc functions
- libalgo : usefull data structures

It relies on a few functions being exported :

- panic(char* msg, char* file, int line)
- panic_assert(char* assert, char* file, int line)
- dbg_print(const char* str)
- void* malloc(size_t size)
- free(void* ptr)
- yield()

These function are supposed to be defined in the code that calls
the common functions. The headers for these functions are to be
found in `debug.h`, `mutex.h` and `malloc.h`.

In kernel code, these functions are defined somewhere in the kernel.
In user code, these functions are defined in the user part of libkogata.

Panic and panic_assert end the execution of the current program
(or of the kernel when in kernel-mode).