My Project

Welcome to the project documentation.

The Core API and Driver API sections in the sidebar are automatically generated by the cdoc plugin from two separate source directories (src/core/ and src/drivers/).

The Test API section demonstrates IGT test documentation mode, parsing TEST: / SUBTEST: structured comments and igt_subtest() calls from src/tests/. The "By Category" and "By Mega Feature" pages are auto-generated from metadata in the test doc comments.

Manual directive example

You can also embed individual symbols into any hand-written page:

Function: engine_init

int engine_init(unsigned int flags)

Initialize the engine subsystem.

Must be called before engine_run. Configure with engine_config first.

Parameters:

Name Type Description
flags unsigned int Initialization flags.

Returns: 0 on success, negative on error.

How To:

Always call engine_init() before any other engine function. Use ENGINE_DEBUG flag for debug logging, ENGINE_TRACE for call tracing. After initialization, configure with engine_config and call engine_run().

!!! warning "Note" Thread safety: engine_init() is not thread-safe. Call it exactly once from the main thread before spawning workers. On some platforms, calling engine_init() after engine_shutdown() may leak file descriptors.

Cross-reference examples

File references: see engine.h for the public API, or qualify with the group: core/engine.h and drivers/uart.c.

Backtick auto-linking also works for files: engine.h, core/engine.h.