Utilities to influence the order of auto-initialized modules

Detailed Description

Files

file  auto_init_utils.h
 Auto-initialization utilities.
 

Data Structures

struct  auto_init_module_t
 Type to represent a module to be auto-initialized. More...
 

Macros

#define CONFIG_AUTO_INIT_ENABLE_DEBUG   0
 Print a debug message before a module is initialized.
 
#define AUTO_INIT(function, priority)
 Add a module to the auto-initialization array. More...
 

Typedefs

typedef void(* auto_init_fn_t) (void)
 Auto-init function type.
 
typedef uint16_t auto_init_prio_t
 Data type to store the priority of a module.
 

Macro Definition Documentation

◆ AUTO_INIT

#define AUTO_INIT (   function,
  priority 
)
Value:
XFA_CONST(auto_init_xfa, priority) \
auto_init_module_t auto_init_xfa_ ## function \
= { .init = (auto_init_fn_t)function, \
.prio = priority, \
.name = XTSTR(function) }
void(* auto_init_fn_t)(void)
Auto-init function type.
#define XFA_CONST(xfa_name, prio)
Define variable in read-only cross-file array.
Definition: xfa.h:156
#define XTSTR(x)
A macro to return the string respresentation of x.
Definition: xtstr.h:37

Add a module to the auto-initialization array.

Parameters
functionFunction to be called on initialization auto_init_fn_t
priorityPriority level auto_init_prio_t

Definition at line 74 of file auto_init_utils.h.