# Library structuration

Description

The OSDK contains a decently complete standard library, and also some Oric specific functionalities.

Most other SDK are based on binary library files, and the right functions are included in the final executable during the link phase. This SDK works differently because the library is made of source code that is included in the main program by the linker before the final assembly pass.

This method is interesting because it's possible to easily add functions, and correct bugs.

Include folder

The OSDK\INCLUDE folder contains all the header files. If you add a function in the library, you will have to add a function declaration in one of the header files. LIB.H is a good choice for that operation.

LIB folder

The OSDK\LIB folder contains a bunch of assembly code source file, as well as a LIBRARY.NDX file.

The LIBRARY.NDX file simply is a list of all source files with the exported functions it contains.

The source files simply are normal assembly code functions and declarations. Please note that only function that starts by a underscore ("_") symbol will be accessible from C source code.