view src/ui/mfw/mfw_nmi.h @ 275:79cfefc1e2b4

audio mode load: gracefully handle mode files of wrong AEC version Unfortunately our change of enabling L1_NEW_AEC (which is necessary in order to bring our Calypso ARM fw into match with the underlying DSP reality) brings along a change in the audio mode file binary format and file size - all those new tunable AEC parameters do need to be stored somewhere, after all. But we already have existing mode files in the old format, and setting AEC config to garbage when loading old audio modes (which is what would happen without the present change) is not an appealing proposition. The solution implemented in the present change is as follows: the audio mode loading code checks the file size, and if it differs from the active version of T_AUDIO_MODE, the T_AUDIO_AEC_CFG structure is cleared - set to the default (disabled AEC) for the compiled type of AEC. We got lucky in that this varying T_AUDIO_AEC_CFG structure sits at the end of T_AUDIO_MODE!
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 30 Jul 2021 02:55:48 +0000
parents 92abb46dc1ba
children
line wrap: on
line source

/*
+--------------------------------------------------------------------+
| PROJECT: GSM-MFW (?)                  $Workfile:: mfw_nmi.h       $|
| $Author:: Vo                          $Revision::  1              $|
| CREATED: 07.10.98                     $Modtime:: 21.10.99 12:18   $|
| STATE  : code                                                      |
+--------------------------------------------------------------------+

	PURPOSE :  Internal definitions for network management

    History

   	May 31, 2007 DR: OMAPS00133201 x0pleela
	Description: MS keeps searching networks and doesn't list available PLMNs after
			performing manual selection
	Solution : Modified the prototype of function  nm_error_cops()
*/

#ifndef DEF_MFW_NMI_HEADER
#define DEF_MFW_NMI_HEADER

#define MAX_PREF_PLNM     8

#define MAX_PIN_COUNT     3      /* permit maximal entering for user */
#define MAX_PUK_COUNT     5
#define FIRST_SIM_INVAILD 1

#define SERVICE_OK        1
#define SERVICE_FAILURE   0

#define CMD_NOT_PRESENT   0


/*
 *  Network Control Block
 */
typedef struct
{
    T_MFW_EVENT   emask;          /* events of interest */
    T_MFW_EVENT   event;          /* current event */
    T_MFW_CB      handler;
    T_MFW_NM_PARA para;
} T_MFW_NM;


EXTERN T_MFW_HND nm_install              (T_MFW_HDR              *w,
                                          T_MFW_HDR              *h,
                                          T_MFW_NM               *nm);
EXTERN T_MFW_RES nm_remove               (T_MFW_HDR              *h);


EXTERN void     nm_activate              (UBYTE result);
#ifdef FF_2TO1_PS
EXTERN void     nm_mmi_parameters        (T_SIM_imsi_field *imsi_field,
                                          T_SIM_pref_plmn  *pref_plmn);
#else
EXTERN void     nm_mmi_parameters        (T_imsi_field *imsi_field);
#endif
EXTERN void     nm_spn_cnf               (USHORT error, T_EF_SPN *efspn);
EXTERN void     nm_ok_cops               (void);
//x0pleela 30 May, 2007  DR: OMAPS00133201
//Passing T_ACI_CME_ERR as parameter
EXTERN void     nm_error_cops            ( T_ACI_CME_ERR err );
EXTERN void     nm_req_imsi              (UBYTE *imsi_id);
EXTERN T_MFW    nm_reg_flag_req          (void);
EXTERN void     nm_ok_deregistration     (void);
EXTERN void     nm_ok_pref_plmn          (void);
EXTERN void     nm_error_pref_plmn       (void);
EXTERN void     nm_sat_file_update       (USHORT dataId);
EXTERN void		nm_ok_band						(void);		/*SPR919 - SH - added */

#endif