#ifndef _aplmt_system_initapi_h_ #define _aplmt_system_initapi_h_ /*---------------------------------------------------------------------------- ** SUMMARY: Global Threading Initialization Interface (SYSMTINIT) ** ** DESCRIPTION: ** This file provides a 'convenience' interface that initializes the ** various APLMT sub-system used by the applications. ** ** CONFIGURATION ** ------------- ** COMPILE: USE_APLMT_INIT_xxxxx_IN_SYSTEM_INIT ** ** APPLICATION: none. ** ** PLATFORM: none. ** ** NOTES: ** 1. Unless explicitly stated otherwise, NONE of the following methods may be ** called from interrupt service routines. ** 2. Unless explicitly stated otherwise, NONE of the following methods may be ** called before the platform's kernel is running. ** 3. Unless explicitly stated otherwise, all of the following methods ARE ** thread-safe. ** 4. For efficency/optimization some methods are 'inlined'. The inlining ** is done by using the preprocessor/macros. The application should ** treat all methods as function calls and not rely on the fact they may ** be currently defined as macros. ----------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /*-------------- INLINE IMPLEMENTATION -------------------------------------*/ #include "aplmt/system/init.h" /* For: inline implementation */ /*-------------- PUBLIC/PUBLISHED API --------------------------------------*/ /** This method provides a single initialization function that will initialize all of the APLMT sub-systems and/or interfaces used by the application. It is the responsiblity of the appplication to enable all of the USE_APLMT_INIT_xxxx compile switches for the sub-system it needs initialized. NOTES: o This method ONLY initializes the APLMT (multi-threaded) interfaces. The application is still REQUIRED to call Apl_systemInit(). In addition, this method must be called AFTER the call to Apl_systemInit(). o Typically, this method is called AFTER the underlying kernel has been initialized and/or started. See your platform's documentation for the start-up sequence. o This method needs to be called BEFORE any/all calls to the APLMT sub- systems and/or interfaces being initialized. o The use of the method is OPTIONAL. In addition, the application can mix-n-match, in that some sub-systems are initalized via this method and other by explicity application calls. Just be sure that a given init() method is only called ONCE. Prototype: void Aplmt_systemInit(void); */ #define Aplmt_systemInit _Aplmt_systemInit #ifdef __cplusplus } #endif /*--------------------------------------------------------------------------*/ #endif /* end _aplmt_system_initapi_h_ */