Lazuli
Lazuli API documentation

This is the Lazuli kernel API and user API documentation.

These pages only document the APIs. For more general documentation about the project and use cases please refer to the corresponding documentation.
The project is hosted at https://github.com/randruc/Lazuli

User API

The user API consists in all header files located in sys/include/Lazuli.
User tasks should only include header files from this directory. They are included as system headers, and the root directory is Lazuli.
Some examples:

#include <Lazuli/common.h>
#include <Lazuli/lazuli.h>
#include <Lazuli/mutex.h>

All user API types conform to the following naming convention: Lz_XXXXX where XXXXX represents a type writtent in camel case. Some examples:

All user API functions conform to the following naming convention: Lz_XXXXX_YYYYY where XXXXX represents a type or a "functional domain" writtent in camel case and YYYYY represents an action written in camel case. Some examples:

Kernel API

The kernel API consists in all header files located in sys/include/Lazuli/sys and sys/include/Lazuli/sys/arch.
Header files from theses directories can be included all across the kernel and drivers source code.
They are included as system headers, and the root directory is Lazuli/sys.
Some examples:

The only naming convention applicable to kernel types is camel case. Some examples:

All kernel API functions conform to the following naming convention: XXXXX_YYYYY where XXXXX represents a type or a "functional domain" written in camel case and YYYYY represents an action written in camel case. Some examples:

Note
It's important to note that user API header files never include kernel header files.