#ifndef _apl_system_initapi_h_
#define _apl_system_initapi_h_
/*----------------------------------------------------------------------------
** SUMMARY: Global Initialization Interface (SYSINIT)
**
** DESCRIPTION:
**  This file provides a 'convenience' interface that initializes the
**  various APL sub-system used by the applications.  
**
** CONFIGURATION 
** -------------
**  COMPILE:        USE_APL_INIT_xxxxx_IN_SYSTEM_INIT <see the specific sub-systems>
**
**  APPLICATION:    none.
**
**  PLATFORM:       none.
**
**  NOTES:
**  1. Unless explicitly stated, NONE of the following methods may be called
**     from interrtup service routines.
**  2. 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 "apl/system/init.h"                /* For: inline implementation */


/*-------------- PUBLIC/PUBLISHED API --------------------------------------*/
/** This method provides a single initialization function that will initialize
    all of the APL sub-systems and/or interfaces used by the application.  It 
    is the responsiblity of the appplication to enable all of the  
    USE_APL_INIT_xxxx compile switches for the sub-system it needs initialized.  
    NOTES:
        o This method needs to be called BEFORE any/all calls to the 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 Apl_systemInit(void);
 */
#define Apl_systemInit                  _Apl_systemInit



#ifdef __cplusplus
}
#endif
/*--------------------------------------------------------------------------*/
#endif  /* end _apl_system_initapi_h_ */
