Directory Tree Overview

When we talk about some path in the cakes or in the doxygen-generated documentation of the microkernel, it is - unless specified otherwise - relative to clicker/kernel/src.
Sometimes the "src/" part is explicitly mentionned.

So you should read "head/api/sfs.h" or "src/head/api/sfs.h" as "/clicker/kernel/src/head/api/sfs.h"
Note that "head/" is in the include path of the sources, so you needn't to specify it when you include a file (just #include <api/sfs.h>  :-)


the place to put services interface description. It's not very much used for now, but you should find much more files when modules developping goes ahead.
here comes all the header files for the assembler parts of the kernel as well as for SOS. If you plan to hack some of the ASM sources, please consider giving a look at debug.ash and enhance.ash before.
some files structure definition. Everytime you design a fileformat that has some meaning to the kernel, you should release it here.
header files for the kernel Objects Library (the clicker-version of java.util :). Synchronizers, semaphores, AVL trees and hashtable are defined here.
all the memory-related headers of the microkernel. Among others, memory objects.
all the microkernel headers: generics (args.h, global.h ktypes.h ...) or component-specific (thread.h, kds.h ...). Note that every component of the kernel _must_ #include<sys/global.h> as its first command, and should do it directly rather than relying on some other header to do it.
all the target-specific for x86 architecture macros, etc. comes here.


don't get confused: this is the microkernel code.

- deprecated -
all the Kernel Dynamix System sources are here.
memory-related components like memory objects management, kalloc, paging, etc.
multitasking-related components, like events processor, thread management, dispatcher, default scheduler, etc.
the sub-part of the system components that do component self-tests are lying here. most of them aren't used anymore.