#ifndef ELF_H
#define ELF_H

#include <apps.h>


/* Эта структура идентифицирует приложение. Передаётся в любой обработчик событий */
typedef struct
{ 
    APPLICATION_T           apt; /* Должно обязательно присутствовать, причём первым */
	
    /* Здесь кладутся прочие данные приложения */
    /* ... */

} APP_MSGALARM_T;

/* Состояния приложения */
typedef enum
{
    MA_STATE_ANY, /* ANY-state всегда первым */

    MA_STATE_MAIN,

    MA_STATE_MAX /* Для удобства */
} MA_STATES_T;





UINT32 Register( char* file_uri,  char* param,  UINT32 reserve );

UINT32 startApp( EVENT_STACK_T *ev_st,  REG_ID_T reg_id,  UINT32 param2 );
UINT32 destroyApp( EVENT_STACK_T *ev_st,  void *app );

UINT32 MainStateEnter( EVENT_STACK_T *ev_st,  void *app,  ENTER_STATE_TYPE_T type );


UINT32 Timer( EVENT_STACK_T *ev_st,  void *app );

UINT32 Parser(void);
UINT32 ImsiCmp(void);
UINT32 Saver(void);
UINT32 SendMsg(void *app);
UINT32 Blink_Led(void *app, UINT32 color);

UINT32 Start( EVENT_STACK_T *ev_st,  void *app );


#endif
