m2mb API docs  25.30.003
m2mb API sets documentation
m2mb_appMng.h File Reference

App manager prototypes. More...

Go to the source code of this file.

Macros

#define M2MB_APPMNG_INVALID   0
 
#define M2MB_APPMNG_AUTOSTART   1
 
#define M2MB_APPMNG_NOT_AUTOSTART   0
 
#define M2MB_APPMNG_MAX_ARG_LEN   32
 
#define M2MB_APPMNG_MAX_ARG_NUM   10
 
#define M2MB_APPMNG_MAX_DELAY   60
 
#define APP_FILE_EXTENSION   ".bin"
 
#define M2MB_APPMNG_MIN_FILEBIN_LEN   5
 
#define M2MB_APPMNG_MAX_FILEBIN_LEN   64
 
#define M2MB_APPMNG_MOD_DIR   "/mod/"
 

Typedefs

typedef enum M2MB_APPMNG_RESULT M2MB_APPMNG_RESULT_E
 
typedef struct M2MB_APPMNG_HANDLE_TAG * M2MB_APPMNG_HANDLE
 

Enumerations

enum  M2MB_APPMNG_RESULT {
  M2MB_APPMNG_RESULT_SUCCESS, M2MB_APPMNG_RESULT_ERROR, M2MB_APPMNG_RESULT_PTR_ERROR, M2MB_APPMNG_RESULT_NO_MEMORY,
  M2MB_APPMNG_RESULT_START_ERROR, M2MB_APPMNG_RESULT_STOP_ERROR, M2MB_APPMNG_RESULT_SET_ERROR, M2MB_APPMNG_RESULT_GET_ERROR,
  M2MB_APPMNG_RESULT_INVALID_STOP, M2MB_APPMNG_RESULT_INVALID_START, M2MB_APPMNG_RESULT_GENERIC_ERROR, M2MB_APPMNG_RESULT_INVALID_ARG,
  M2MB_APPMNG_RESULT_INVALID_ADDRESS, M2MB_APPMNG_RESULT_ERR_AVAILABLE_RAM, M2MB_APPMNG_RESULT_ERR_NO_ENTRY, M2MB_APPMNG_RESULT_ERR_FILEINI,
  M2MB_APPMNG_RESULT_ERR_EMPTY_LIST, M2MB_APPMNG_RESULT_NOT_EXE, M2MB_APPMNG_RESULT_ERR_CRC, M2MB_APPMNG_RESULT_DIFF_CRC_PREAMBLE,
  M2MB_APPMNG_RESULT_UPDATE_ERROR, M2MB_APPMNG_RESULT_ARG_FORMAT_ERROR, M2MB_APPMNG_RESULT_LEN_ARG_ERROR, M2MB_APPMNG_RESULT_NOT_SUPPORTED,
  M2MB_APPMNG_RESULT_ERR_UNKNOWN = 255, M2MB_APPMNG_RESULT_END
}
 
enum  M2MB_APPMNG_SEL_CMD_E {
  M2MB_APPMNG_SEL_CMD_LNAME_APP, M2MB_APPMNG_SEL_CMD_NAME, M2MB_APPMNG_SEL_CMD_ADDRESS, M2MB_APPMNG_SEL_CMD_RAM,
  M2MB_APPMNG_SEL_CMD_TOT_ARGS, M2MB_APPMNG_SEL_CMD_ARG_N, M2MB_APPMNG_SEL_CMD_ARGLEN_N, M2MB_APPMNG_SEL_CMD_DELAY,
  M2MB_APPMNG_SEL_CMD_DELAY_INI, M2MB_APPMNG_SEL_CMD_SET_EXE_AUTO_INI, M2MB_APPMNG_SEL_CMD_STATE, M2MB_APPMNG_SEL_CMD_ARGS,
  M2MB_APPMNG_SEL_CMD_ARGS_DELETE, M2MB_APPMNG_SEL_CMD_END
}
 
enum  M2MB_APPMNG_STATE_E {
  M2MB_APPMNG_STATE_READY, M2MB_APPMNG_STATE_STARTING, M2MB_APPMNG_STATE_RUN, M2MB_APPMNG_STATE_STOPPING,
  M2MB_APPMNG_STATE_STOP
}
 

Functions

M2MB_APPMNG_RESULT_E m2mb_appMng_add (M2MB_APPMNG_HANDLE *pAppMngHandle, CHAR *appName, UINT32 delayStart)
 m2mb_appMng_add More...
 
M2MB_APPMNG_RESULT_E m2mb_appMng_del (M2MB_APPMNG_HANDLE appMngHandle)
 m2mb_appMng_del More...
 
M2MB_APPMNG_RESULT_E m2mb_appMng_start (M2MB_APPMNG_HANDLE appMngHandle)
 m2mb_appMng_start More...
 
M2MB_APPMNG_RESULT_E m2mb_appMng_stop (M2MB_APPMNG_HANDLE appMngHandle)
 m2mb_appMng_stop More...
 
M2MB_APPMNG_RESULT_E m2mb_appMng_setItem (M2MB_APPMNG_HANDLE appMngHandle, M2MB_APPMNG_SEL_CMD_E selCmd, void *pIn, void *pOption)
 m2mb_appMng_setItem More...
 
M2MB_APPMNG_RESULT_E m2mb_appMng_getItem (M2MB_APPMNG_HANDLE appMngHandle, M2MB_APPMNG_SEL_CMD_E selCmd, MEM_W *pOut, void *pIn)
 m2mb_appMng_getItem More...
 
UINT8 m2mb_appMng_appsNumber (void)
 m2mb_appMng_appsNumber More...
 
M2MB_APPMNG_HANDLE m2mb_appMng_getHandleByN (UINT8 n)
 m2mb_appMng_getHandleByN More...
 
M2MB_APPMNG_HANDLE m2mb_appMng_getHandleByName (char *name)
 m2mb_appMng_getHandleByName More...
 
M2MB_APPMNG_HANDLE m2mb_appMng_getMyHandle (void)
 m2mb_appMng_getMyHandle More...
 
M2MB_APPMNG_RESULT_E m2mb_appMng_checkIntegrity (CHAR *appName, MEM_W *pAddress, UINT32 *pTotRam)
 Function to verify integrity of an application file. More...
 

Detailed Description

App manager prototypes.

m2m/m2m_generic/privare/m2mb_inc/m2mb_appMng.h

Basic functions for App manager are provided

@notes Dependencies: m2mb_types.h m2m_os_types.h

Author
Goran Paic
Date
29/01/2019

Function Documentation

◆ m2mb_appMng_add()

M2MB_APPMNG_RESULT_E m2mb_appMng_add ( M2MB_APPMNG_HANDLE *  pAppMngHandle,
CHAR *  appName,
UINT32  delayStart 
)

m2mb_appMng_add

Add an application file as executable in the permanent list and save the properties. Used to add an application as executable, provided it is present in file system in default folder /mod

Parameters
[in]pAppMngHandlepointer to handle to get
[in]appNamefilename of the application to add as executable
[in]delayStartdelay start after reboot
Returns
M2MB_APPMNG_RESULT_SUCCESS in case of success
see M2MB_APPMNG_RESULT_E in case of error
Note
File is first checked for integrity, and provide error in case of fail Adding a new valid app, automatically the run property is M2MB_APPMNG_SEL_CMD_SET_EXE_AUTO_INI = M2MB_APPMNG_AUTOSTART so the app starts after reboot. To avoid that, set M2MB_APPMNG_NOT_AUTOSTART using m2mb_appMng_setItem
M2MB_APPMNG_HANDLE appMngHandle;
M2MB_APPMNG_RESULT_E res;
res = m2mb_appMng_add( &appMngHandle, "app1.bin",5 );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_add failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_add success" );
}

◆ m2mb_appMng_appsNumber()

UINT8 m2mb_appMng_appsNumber ( void  )

m2mb_appMng_appsNumber

This service returns the number of total executable applications.

Returns
number of total executable applications
Note

INT32 n_apps;
printf("\n Number of apps: %d", n_apps);

◆ m2mb_appMng_checkIntegrity()

M2MB_APPMNG_RESULT_E m2mb_appMng_checkIntegrity ( CHAR *  appName,
MEM_W *  pAddress,
UINT32 *  pTotRam 
)

Function to verify integrity of an application file.

the function opens the file and checks the integrity. In case of success provides virtual address of the application and total ram needed if pointer are provided. NULL is\are accepted for pAddress and\or totRam if no value\s is\are needed.

Parameters
[in]appNamebinary file name, only name not path which is by default "/mod"
[out]pAddresspointer to location where to write virtual address. Optional, can be NULL
[out]pTotRampointer to location where to write total RAM needed from application. Optional, can be NULL
Returns
M2MB_APPMNG_RESULT_SUCCESS if integrity is OK
see M2MB_APPMNG_RESULT_E for errors
Note
If the integrity is verified, pointed to pAddress and pointed to pTotRam are updated In case of error, they are both set to 0

M2MB_APPMNG_RESULT_E appMngRes;
MEM_W virtAddress;
UINT32 totRam;
appMngRes = m2mb_appMng_checkIntegrity( "m2mapz.bin", &virtAddress, &totRam );
// or
appMngRes = m2mb_appMng_checkIntegrity( "m2mapz.bin", NULL, &totRam );
// or
appMngRes = m2mb_appMng_checkIntegrity( "m2mapz.bin", &virtAddress, NULL );
// or
appMngRes = m2mb_appMng_checkIntegrity( "m2mapz.bin", NULL, NULL );

◆ m2mb_appMng_del()

M2MB_APPMNG_RESULT_E m2mb_appMng_del ( M2MB_APPMNG_HANDLE  appMngHandle)

m2mb_appMng_del

immediate stop of application (delay 0) and delete the app from permanent list of executables

Parameters
[in]appMngHandlehandle of the application to be stopped and deleted from the permanent list as executable
Returns
M2MB_APPMNG_RESULT_SUCCESS in case of success
see M2MB_APPMNG_RESULT_E in case of error
Note
It is up to the user application responsibility not usage of appMngHandle after it is deleted.

M2MB_APPMNG_HANDLE appMngHandle;
M2MB_APPMNG_RESULT_E res;
appMngHandle = m2mb_appMng_getHandleByName( "m2mapz.bin" );
if( appMngHandle!= M2MB_APPMNG_INVALID )
{
// immediate stop app and delete from executable.
m2mb_appMng_del( appMngHandle );
}

◆ m2mb_appMng_getHandleByN()

M2MB_APPMNG_HANDLE m2mb_appMng_getHandleByN ( UINT8  n)

m2mb_appMng_getHandleByN

This service returns the handle of the specified application number, the index starts from 0.

Parameters
[in]nindex of app to get the handle
Returns
M2MB_APPMNG_HANDLE in case of success
M2MB_APPMNG_INVALID in case of error
Note
Index starts from 0 to (N-1) of apps

M2MB_APPMNG_HANDLE appMngHandle;
appMngHandle = m2mb_appMng_getHandleByN( 1 );
printf("\n m2mb_appMng_getHandleByN( 1 ): 0x%x", appMngHandle);

◆ m2mb_appMng_getHandleByName()

M2MB_APPMNG_HANDLE m2mb_appMng_getHandleByName ( char *  name)

m2mb_appMng_getHandleByName

This service returns the value handle of the application name saved in file system.

Parameters
[in]name
Returns
M2MB_APPMNG_RESULT_SUCCESS in case of success
M2MB_APPMNG_INVALID in case of error
Note

M2MB_APPMNG_HANDLE appMngHandle;
appMngHandle = m2mb_appMng_getHandleByName( "m2mapz.bin" );
printf("\n m2mb_appMng_getHandleByName( m2mapz.bin ): 0x%x", appMngHandle);

◆ m2mb_appMng_getItem()

M2MB_APPMNG_RESULT_E m2mb_appMng_getItem ( M2MB_APPMNG_HANDLE  appMngHandle,
M2MB_APPMNG_SEL_CMD_E  selCmd,
MEM_W *  pOut,
void *  pIn 
)

m2mb_appMng_getItem

This service retrieve value for specified parameter of the specified application Selecting cmd, a parameter to be retrieved can be set

Parameters
[in]appMngHandlehandle of application
[in]selCmdSelect parameter to be set (see M2MB_APPMNG_SEL_CMD_E)
[in]pOutpointer Output parameter got: its meaning depend on selCmd used See examples as general pointer it is set to MEM_W
[in]pInpointer to void, general Parameter to be specified, if any, to get right output See examples If parameter is not needed, use NULL
Returns
M2MB_APPMNG_RESULT_SUCCESS in case of success
see M2MB_APPMNG_RESULT_E in case of error
Note
All the M2MB_APPMNG_SEL_CMD_E are always available, a part from which dedicated to set only ( e.g M2MB_APPMNG_SEL_CMD_ARGS_DELETE )

M2MB_APPMNG_HANDLE appMngHandle;
M2MB_APPMNG_RESULT_E res;
MEM_W num_arg, state, auto_start, auto_start_ini, delay, delay_ini, l_name, adress, arg_len;
CHAR *pArg, name[64];
// get handle appMngHandle with getHandle API
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_DELAY, &delay, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success " );
}
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_DELAY_INI, &delay_ini, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success " );
}
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_SET_EXE_AUTO_INI, &auto_start_ini, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success " );
}
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_LNAME_APP, ( MEM_W* )&l_name, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success " );
}
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_NAME, ( MEM_W* )&name, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success " );
}
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_ADDRESS, &adress, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success " );
}
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_STATE, &state, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success " );
}
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_TOT_ARGS, &num_arg, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success, tot args = %d of app", num_arg );
}
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_ARGLEN_N, ( MEM_W* )arg_len, ( void* )1 );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success, first arg_len = %d of app", arg_len );
}
pArg = ( CHAR * )m2mb_os_calloc( arg_len + 1 );
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_ARG_N, ( MEM_W* )pArg, ( void* )1 );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success, first arg = %s of app", pArg );
}
res = m2mb_appMng_getItem( appMngHandle, M2MB_APPMNG_SEL_CMD_ARGS, ( MEM_W* )&pArg, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_getItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_getItem success, args = %s of app", pArg );
}

◆ m2mb_appMng_getMyHandle()

M2MB_APPMNG_HANDLE m2mb_appMng_getMyHandle ( void  )

m2mb_appMng_getMyHandle

This service returns the current running handle of the application that uses the api.

Parameters
[in]void
Returns
M2MB_APPMNG_RESULT_SUCCESS in case of success
M2MB_APPMNG_INVALID in case of error
Note

M2MB_APPMNG_HANDLE appMngHandle;
appMngHandle = m2mb_appMng_getMyHandle( );
printf("\n m2mb_appMng_getMyHandle( ): 0x%x", appMngHandle);

◆ m2mb_appMng_setItem()

M2MB_APPMNG_RESULT_E m2mb_appMng_setItem ( M2MB_APPMNG_HANDLE  appMngHandle,
M2MB_APPMNG_SEL_CMD_E  selCmd,
void *  pIn,
void *  pOption 
)

m2mb_appMng_setItem

This service set value for specified parameter of the specified application if available. Selecting cmd, a parameter to be set can be selected. It's possible to set:

  • delay of app[ seconds ]
  • auto start [ M2MB_APPMNG_NOT_AUTOSTART/M2MB_APPMNG_AUTOSTART ( 0/1 ) ]
  • length of argument [ number of characters ]
  • argument [ with pOption you can choose the argument specified, it's possible to change already existing arg or adding only one new arg ]. The argument are separated by commas so the comma is not supported inside a single agument. The first argument starts with the index 1.
  • set more than one argument at once, the arguments are separated by comma.The empty space and the quotes are seen as normal characters.
  • delete all arguments with one command
Parameters
[in]appMngHandlehandle of application
[in]selCmdSelect parameter to be set (see M2MB_APPMNG_SEL_CMD_E)
[in]pInIt is used generic pointer to void to cover all cases; can be used pointer ( name ) or direct value ( delay, auto start, length of argument ) depending by command
[in]pOption
Returns
M2MB_APPMNG_RESULT_SUCCESS in case of success
see M2MB_APPMNG_RESULT_E in case of error
Note
Not all the M2MB_APPMNG_SEL_CMD_E are always available. Allowed: M2MB_APPMNG_SEL_CMD_DELAY M2MB_APPMNG_SEL_CMD_DELAY_INI M2MB_APPMNG_SEL_CMD_SET_EXE_AUTO_INI M2MB_APPMNG_SEL_CMD_ARG_N: pOption start from 1 as first arg M2MB_APPMNG_SEL_CMD_ARGS M2MB_APPMNG_SEL_CMD_ARGS_DELETE

M2MB_APPMNG_HANDLE appMngHandle;
M2MB_APPMNG_RESULT_E res;
// get handle appMngHandle with getHandle API
res = m2mb_appMng_setItem( appMngHandle, M2MB_APPMNG_SEL_CMD_DELAY, ( void* )5, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_setItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_setItem success " );
}
res = m2mb_appMng_setItem( appMngHandle, M2MB_APPMNG_SEL_CMD_DELAY_INI, ( void* )5, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_setItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_setItem success " );
}
res = m2mb_appMng_setItem( appMngHandle, M2MB_APPMNG_SEL_CMD_SET_EXE_AUTO_INI, ( void* )M2MB_APPMNG_AUTOSTART, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_setItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_setItem success " );
}
res = m2mb_appMng_setItem( appMngHandle, M2MB_APPMNG_SEL_CMD_ARG_N, ( void* )"HelloWorld",( void* ) 2 );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_setItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_setItem success " );
}
res = m2mb_appMng_setItem( appMngHandle, M2MB_APPMNG_SEL_CMD_ARGS, ( void* )"one,two,three", NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_setItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_setItem success " );
}
res = m2mb_appMng_setItem( appMngHandle, M2MB_APPMNG_SEL_CMD_ARGS_DELETE, NULL, NULL );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_setItem failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_setItem success " );
}

◆ m2mb_appMng_start()

M2MB_APPMNG_RESULT_E m2mb_appMng_start ( M2MB_APPMNG_HANDLE  appMngHandle)

m2mb_appMng_start

This service starts the specified application with appMngHandle and its properties. The delay must be set carefully, it uses the last volatile delay. If the volatile delay is not set, it uses delay to start from permanent value. To start immediately, set delay volatile to 0 before

Parameters
[in]appMngHandlehandle of application
Returns
M2MB_APPMNG_RESULT_SUCCESS in case of success
see M2MB_APPMNG_RESULT_E in case of error
Note

M2MB_APPMNG_HANDLE appMngHandle;
M2MB_APPMNG_RESULT_E res;
// get handle appMngHandle with getHandle API
res = m2mb_appMng_start( appMngHandle );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_start failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_start success" );
}

◆ m2mb_appMng_stop()

M2MB_APPMNG_RESULT_E m2mb_appMng_stop ( M2MB_APPMNG_HANDLE  appMngHandle)

m2mb_appMng_stop

This service stops the specified application. If the app is already stopped, this service has no effect and return error. The application will be stopped after delay specified in last volatile delay ( see M2MB_APPMNG_SEL_CMD_DELAY command that set volatile delay). In case of success, application is deregistered and the relative resources released.

Parameters
[in]appMngHandlehandle of application
Returns
M2MB_APPMNG_RESULT_SUCCESS in case of success
see M2MB_APPMNG_RESULT_E in case of error
Note

M2MB_APPMNG_HANDLE appMngHandle;
M2MB_APPMNG_RESULT_E res;
// get handle appMngHandle with getHandle API
res = m2mb_appMng_stop( appMngHandle );
if( res != M2MB_APPMNG_RESULT_SUCCESS )
{
printf("\n m2mb_appMng_stop failure, error %d", res);
}
else
{
printf( "\n m2mb_appMng_stop success" );
}
m2mb_appMng_stop
M2MB_APPMNG_RESULT_E m2mb_appMng_stop(M2MB_APPMNG_HANDLE appMngHandle)
m2mb_appMng_stop
m2mb_appMng_getHandleByName
M2MB_APPMNG_HANDLE m2mb_appMng_getHandleByName(char *name)
m2mb_appMng_getHandleByName
m2mb_appMng_getHandleByN
M2MB_APPMNG_HANDLE m2mb_appMng_getHandleByN(UINT8 n)
m2mb_appMng_getHandleByN
m2mb_appMng_getItem
M2MB_APPMNG_RESULT_E m2mb_appMng_getItem(M2MB_APPMNG_HANDLE appMngHandle, M2MB_APPMNG_SEL_CMD_E selCmd, MEM_W *pOut, void *pIn)
m2mb_appMng_getItem
m2mb_appMng_del
M2MB_APPMNG_RESULT_E m2mb_appMng_del(M2MB_APPMNG_HANDLE appMngHandle)
m2mb_appMng_del
m2mb_appMng_getMyHandle
M2MB_APPMNG_HANDLE m2mb_appMng_getMyHandle(void)
m2mb_appMng_getMyHandle
m2mb_appMng_checkIntegrity
M2MB_APPMNG_RESULT_E m2mb_appMng_checkIntegrity(CHAR *appName, MEM_W *pAddress, UINT32 *pTotRam)
Function to verify integrity of an application file.
m2mb_appMng_appsNumber
UINT8 m2mb_appMng_appsNumber(void)
m2mb_appMng_appsNumber
m2mb_os_calloc
void * m2mb_os_calloc(UINT32 size)
Allocates bytes of memory and init space with 0.
m2mb_appMng_start
M2MB_APPMNG_RESULT_E m2mb_appMng_start(M2MB_APPMNG_HANDLE appMngHandle)
m2mb_appMng_start
m2mb_appMng_add
M2MB_APPMNG_RESULT_E m2mb_appMng_add(M2MB_APPMNG_HANDLE *pAppMngHandle, CHAR *appName, UINT32 delayStart)
m2mb_appMng_add
m2mb_appMng_setItem
M2MB_APPMNG_RESULT_E m2mb_appMng_setItem(M2MB_APPMNG_HANDLE appMngHandle, M2MB_APPMNG_SEL_CMD_E selCmd, void *pIn, void *pOption)
m2mb_appMng_setItem