aboutsummaryrefslogblamecommitdiff
path: root/src/common/README
blob: 7e3e1f732b06eb71c70f4773b35467764ec75725 (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 `assert.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).