NetSurf's source is organised in modules. A module usually consists of a .c and .h file. For example the html module is in html.c and html.h.

All functions (including static functions) in a module should start _, for example html_create(), html_process_data(), etc. This makes functions easy to find and names unique through the source, which isĀ helpful for backtraces, documentation, etc.

Global variables in a module (including static) should also start _.

Static functions should all be declared at the top.

Put functions in a logical order, for example any init function first, then functions it calls, then the next externally available function, functions it calls, etc.

Coding Style

We use K&R (2nd edition ANSI C) style, tabs for indent, 80 characters wide, lower_case_with_underscores.

See the Style Guide for further information and examples.