Skip to content
Daniele Lacamera edited this page Nov 3, 2016 · 7 revisions

Coding style in kernel space

Please follow the following rules when coding in kernel:

  • Indentation and code arrangement

    • Use 4-spaces indentation, no tabs.
    • The opening bracket { at the beginning of the function must be put after a newline, and must not be in the same line as the function signature
  • Standard types usage

    • Use standard types for integers (from stdint.h), so always prefer uint8_t to unsigned char and int32_t to int whenever possible.
  • Custom data types definition and usage

    • typedef is evil and should be avoided whenever possible. Some interfaces require an exception to this (e.g. heap.h requires to define a custom type to be used). This is the only allowed case.
    • In no case ever use typedef to describe a function pointer type. Function pointer declarations must be explicit.
    • Custom types cannot be anonymous (e.g. they must always be referred to using enum foo, struct bar or union foobar)

Work in progress

Clone this wiki locally