FreeCalypso > hg > fc-magnetite
view src/cs/services/mks/mks_api.c @ 548:9f191ca0051f
implemented ability to enable -D_FF_RV_EXIST_ in TIF library
It is not clear if this quirk is intentional or not, but TI's production
version of tif_na7_db_{fl,ir}.lib was built without -D_FF_RV_EXIST_,
and as a result, the code that is present in the source for the
TRACEMASK_IN_FFS feature was not compiled in, making the feature unavailable.
The present change makes it possible to re-enable this code (when TIF
libraries are being rebuilt from source rather than used as blobs)
by setting TRACEMASK_IN_FFS=1 on the configure line.
The new code is NOT enabled by default: it is not a change which we can
justify inflicting on our production firmwares.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 18 Nov 2018 08:09:17 +0000 |
parents | 945cf7f506b2 |
children |
line wrap: on
line source
/** * @file mks_api.c * * Implementation of bridge functions. * * @author Laurent Sollier (l-sollier@ti.com) * @version 0.1 */ /* * History: * * Date Author Modification * ---------------------------------------- * 11/19/2001 L Sollier Create * * * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved */ #include "mks/mks_api.h" #include "mks/mks_env.h" #include "mks/mks_i.h" #include "mks/mks_messages_i.h" #include "rvm/rvm_use_id_list.h" #include <string.h> /** External declaration */ extern T_MKS_ENV_CTRL_BLK* mks_env_ctrl_blk; /** * @name Bridge functions implementation * */ /*@{*/ /** * function: mks_add_key_sequence */ T_RV_RET mks_add_key_sequence(T_MKS_INFOS_KEY_SEQUENCE* infos_key_sequence_p) { T_RV_RET ret = RV_INVALID_PARAMETER; T_MKS_INFOS_KEY_SEQUENCE_MSG* msg_p; T_RVF_MB_STATUS mb_status; /* Test validity of structure */ if ((infos_key_sequence_p->nb_key_of_sequence >=3) && (infos_key_sequence_p->nb_key_of_sequence <= MKS_NB_MAX_OF_KEY_IN_KEY_SEQUENCE)) { if ( (infos_key_sequence_p->completion_type == MKS_SEQUENCE_COMPLETED) || ( (infos_key_sequence_p->completion_type == MKS_POST_SEQUENCE) && (infos_key_sequence_p->nb_key_for_post_sequence > 0) && (infos_key_sequence_p->nb_key_for_post_sequence <= MKS_NB_MAX_OF_KEY_FOR_POST_SEQUENCE)) ) { /* Reserve memory for message */ mb_status = rvf_get_buf (mks_env_ctrl_blk->prim_id, sizeof(T_MKS_INFOS_KEY_SEQUENCE_MSG), (void **) &msg_p); if (mb_status != RVF_RED) /* Memory allocation success */ { /* Fill the message */ msg_p->hdr.msg_id = MKS_INFOS_KEY_SEQUENCE_MSG; msg_p->key_sequence_infos = *infos_key_sequence_p; /* Send message to the MKS task */ rvf_send_msg(mks_env_ctrl_blk->addr_id, msg_p); ret = RV_OK; } else { MKS_SEND_TRACE("MKS: Memory allocation error", RV_TRACE_LEVEL_ERROR); ret = RV_MEMORY_ERR; } } } return ret; } /** * function: mks_remove_key_sequence * */ T_RV_RET mks_remove_key_sequence(char name[KPD_MAX_CHAR_NAME+1]) { T_MKS_REMOVE_KEY_SEQUENCE_MSG* msg_p; T_RVF_MB_STATUS mb_status; T_RV_RET ret = RV_OK; /* Reserve memory for message */ mb_status = rvf_get_buf (mks_env_ctrl_blk->prim_id, sizeof(T_MKS_REMOVE_KEY_SEQUENCE_MSG), (void **) &msg_p); if (mb_status != RVF_RED) /* Memory allocation success */ { /* Fill the message */ msg_p->hdr.msg_id = MKS_REMOVE_KEY_SEQUENCE_MSG; memcpy(msg_p->name, name, KPD_MAX_CHAR_NAME+1); /* Send message to the MKS task */ rvf_send_msg(mks_env_ctrl_blk->addr_id, msg_p); ret = RV_OK; } else { MKS_SEND_TRACE("MKS: Memory allocation error", RV_TRACE_LEVEL_ERROR); ret = RV_MEMORY_ERR; } return ret; } /*@}*/