⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mfw_ffs.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 2 页
字号:
    uint8 text[MEMO_LEN];
    uint8 position;
}Flash_Memo;

typedef struct
{
    Flash_Memo  item[10];
}Flash_MData;

typedef struct 
{
    UINT8   second;     /* seconds after the minute	- [0,59]  */
    UINT8   minute;     /* minutes after the hour		- [0,59]  */
    UINT8   hour;           /* hours after the midnight	- [0,23]  */
    UINT8   day;            /* day of the month				- [1,31]  */
    UINT8   month;      /* months							- [01,12] */
    int     year;           /* years								- [00,99] */
    UINT8   wday;           /* days in a week					- [0,6] */
    int     alarm_type;   /*0->SCHEDULE_ALARM,1->ORDINARY_ALARM,2->AUTOPOWER*/
    UINT8   schedule_position; //if it is ordinary alarm 0->daily 1->weekly; if it is a schedule alarm,this parameter indicates the position in Flash
    BOOL    month_switch;//TRUE->monthly alarm or not;
    BOOL    year_switch;//TRUE->mannul alarm or not;
    BOOL    weekly_switch;//TRUE->weekly alarm or not;
    BOOL    daily_switch;//TRUE->daily alarm or not;
} T_ALARM_DATA;

#if 0 //TCS2112
typedef struct
{   uint8 IMEI[16]; 	/* in ASCII*/
    uint8 IMEI_bcd[8]; 	/*in BCD*/
	/*SPR 1725 removed date time and alarm data*/
	/*Call timers*/
	uint32 last_call_duration;
	uint32 incoming_calls_duration;
	uint32 outgoing_calls_duration;

	/*MSSET data*/

	uint8 output_volume;
	uint8 external_audio;
	uint8 voice_memo_position;
	uint8 PLMN_selection_mode;
	uint8 CLIR; //seem to only be used for supplementary services.
	uint8 CLIP;
	uint8 redial_mode;
	uint8 call_info_display;
	uint8 contrast;
	uint8 brightness;
	uint8 backlight_duration;
    uint8 recent_ldn_ref;
    uint8 recent_lrn_ref;
    uint8 recent_upn_ref;
    uint8 time_format;

 	/* Network Log              */
    uint8 net_log_status;                 /* status                   */
    uint8 plmn_name[20];                /* plmn name                */
    uint8 network_name [6];             /* plmn name numeric        */

    /*Setting status*/

	uint8 settings_status;

	uint8 voice_mail[22];

	/*mailbox number*/
	uint8 mbn_AlphId[10];
	uint8 mbn_len;
	uint8 mbn_numTp;
	uint8 mbn_Num[10];

	/*ringtones etc for MMisounds*/
	uint8 ringer;							// index of permanent active tune in soundlist and ringerItem
	uint8 vibrator;							// vibrator
	uint8 volumeSetting;					// values (0 = silent, 4= loud, 5 = increasing)
	uint8 keypadOn;							// on/off values
	uint8 AlarmOn;
	uint8 OrganiserAlert;
	uint8 CreditLow;
	uint8 SMSTone;
	uint8 SMSBroadcast;
	uint8 battLow;
	uint8 earpiece;
	uint8 language;
	uint8 Equalizer;

    /*Data for MmiSmsBroadcast*/


	//Predictive text Flags
	uint8 PredTextAvailable;
	uint8 PredTextSelected;

	//API - 01/10/02
	//Concatenate Flags 
	uint8 ConcatenateStatus;

	//API - 06/12/02
	//Idle Screen Background image
	uint8 IdleScreenBgd;
	uint8 MainMenuBgd;
	uint8 ProviderNetworkShow;

	//CPHS ALS info
	uint8 als_selLine;
  	uint8 als_statLine;

  	uint8 ccbs_status;  /* Marcus: CCBS: 13/11/2002 */

  	/* MC SPR 1392, call deflection flag*/
	uint8 call_deflection;


  	/* SPR#1352 - SH - TTY */
  	uint8 ttyAlwaysOn;

	/*API CQ10203 - Add the Flash define for Validity Period here*/
	uint8 vp_rel;
} FlashData;
#else
typedef struct
{
    /*current time*/
    uint8 current_hour;
    uint8 current_minute;
    /*current date*/
    uint8 current_day;
    uint8 current_month;
    uint16 current_year;
    /*alarm data*/
    uint8 alarm_hour;
    uint8 alarm_minute;
    uint8 alarm_day;
    uint8 alarm_month;
    uint16 alarm_year;

    uint8  timeZone;         //current timezone
    uint8  cityNumber;
    uint8  fullhralert;      //full hour alert
    uint8  dailyAlarm_hour;
    uint8  dailyAlarm_min;
    uint8  dailyAlarm_switch;
    uint8  weeklyAlarm_hour;
    uint8  weeklyAlarm_min;
    uint8  weeklyAlarm_switch;
    uint8  weeklyChineseString[50];
    uint8  weeklyEnglishString[50];

    /*Call timers*/
    uint32 last_call_duration;
    uint32 incoming_calls_duration;
    uint32 outgoing_calls_duration;

    /*MSSET data*/
    uint8 output_volume;
    uint8 voice_memo_position;
    uint8 PLMN_selection_mode;
    uint8 Band_restriction; //for band set
    uint8 redial_mode;
    uint8 time_format;
    uint8 call_minute_flag;

    /* Network Log*/
    uint8 net_log_status;              /* status                   */
    uint8 plmn_name[20];                /* plmn name                */
    uint8 network_name [6];             /* plmn name numeric        */

    /*Setting status*/

    uint8 settings_status;

    uint8 voice_mail[22];

    /*mailbox number*/
    uint8 mbn_AlphId[10];
    uint8 mbn_len;
    uint8 mbn_numTp;
    uint8 mbn_Num[10];

    //Predictive text Flags
    uint8 PredTextAvailable;
    uint8 PredTextSelected;

    //CPHS ALS info
    uint8 als_selLine;
    uint8 als_statLine;
	
    //uint8 onoroff;//是否启动开关机0->deactive,1->active
    uint8 poweron_switch;//是否启动自动开机 0->deactive,1->active
    uint8 poweroff_switch;//是否启动自动关机 0->deactive,1->active
    uint8 opentime[2];//开机时间opentime[0]->hour,opentime[1]->minute
    uint8 closetime[2];//关机时间closetime[0]->hour,closetime[1]->minute
    
    T_ALARM_DATA latest_alarm;   
    CBLANG   CBLanguage;     //CB  language option
    USHORT   CBLangIdAll;    //To find out which language is select
    UBYTE    CBdcs[MAXCB];      /* data coding schemes */
    USHORT  msg_id[MAXCB];   /* message identifier              */
    int CBONOFF;//control CB on off trigger
    int SRRONOFF;
    U16 shortcutmenu_buffer[15]; //for shortcut menu
    uint8 onoffanimation;
    uint8 language;
    int contrast_intensity;//对比度强度
    uint8       DictBookIndex;  //three member of dictionary
    uint8       WordEveryGroup;
    uint16      StartGroup;

//glowing,2004-06-11, for compatible with TCS2112
#if 0
   	uint8 call_deflection;
  	uint8 ccbs_status;  /* Marcus: CCBS: 13/11/2002 */

	uint8 IdleScreenBgd;
	uint8 MainMenuBgd;
	uint8 ProviderNetworkShow;

	uint8 vp_rel;
	uint8 ConcatenateStatus; //super long sms 
	
#endif
	
} FlashData;
#endif

typedef struct
{
    UBYTE WDTValue;
    UBYTE LowVoltageValue;
    UBYTE Mode3Value;
    UBYTE NoSimValue;
    UBYTE Mode1Value;
    UBYTE Mode5Value;
    UBYTE NoNetWorkValue;
    int WDTCounter;      //fieldtest WDTCounter
    int SoftWareResetCounter;
    int HardWareResetCounter;
    int Mode1Counter;        //fieldtest Mode1 counter
    int Mode3Counter;        //fieldtest Mode3 counter
    int Mode5Counter;        //fieldtest Mode5 counter
    int NoSimCounter;        //fieldtest no sim counter
    int NoNetworkCounter;    //fieldtest no net work counter
    char ResetReason[20];
}FieldTest;

typedef struct
{
    uint8 serialnumber[8];
}FlashConstData;

extern FlashData FFS_flashData;

extern FlashPBdata           FFS_PBData;
extern FlashPBotherdata      FFS_PBOtherData;
extern char                  PBTable[PHB_PBTable][15];
extern T_MFW_PHB_INDEX       l_phb_index[ALL_NUMBER_LIST];
extern int                   NVMTotal,SIMTotal,PHBKTotal;
extern U8                    SIMLoadingPhbk;
extern U8                    NVMLoadingPhbk;//update nvm list data
extern T_MFW_PHB_SORT_INDEX  l_phb_sort_index[ALL_NUMBER_LIST];
extern T_MFW_PHB_TABLE       CurrentTable;
extern T_EntryEvent          phonebookstatus;
extern int                   Copyidx;
extern FlashConstData        Ffs_const_data;
extern FlashVMdata           FFS_VMData;
extern char                  vm_name[VM_file][5];

extern int flash_Gamewrite(void);

extern FlashSetting FlashSettingData;
extern Flash_Sche FFS_ScheData;
extern Flash_Stopw FFS_StopwData;
extern Flash_MData FFS_MemoData;
extern T_MFW_DetailSche_index ScheDetailIndex[200];
extern T_MFW_SCHE_INDEX ScheIndex[200];
extern T_MFW_Stopw_INDEX StopwIndex[5];
extern FlashHostkey FlashHostkeyData; 
extern FlashEnvironment FlashEnvironmentData; 
extern ConfigDataCheck  ConfigDataCheckSum;


typedef enum
{
    DCTFileIdx  =0,
    VMFileIdx,//=1
    PHB1FileIdx,//=2
    PHB2FileIdx,//=3
    PHB3FileIdx,//=4
    PBOFileIdx,//=5
    MMIFileIdx,// 6
    SetFileIdx,//7
    HstKeyFileIdx,//8
    EnvirFileIdx,//9
    StpWatFileIdx,//a
    WapFileIdx,//b
    Sche1FileIdx,//c
    Sche2FileIdx,//d
    Sche3FileIdx,//e
    CheckFileIdx,//f
    SmsFileIdx,//10
    MemoFileIdx,//11
    GameFileIdx,//=12
    CommonSmsFileIdx//

}ffsfileidx;

typedef struct
{
    char *pdir;
    void    *pdata; /* data point*/
    int size;   /* file size*/
    int writeStatus;    /* cmd status,1 is waitting to write, 0 is idle*/
}TffsfileItem;

#define MAX_FILE_NUM	30

typedef struct
{
    TffsfileItem    ffsfile[MAX_FILE_NUM];
}TffsfileCmd;


//flash access routines
effs_t flash_write(void);
int flash_read(void);
    /* Marcus: Issue 1719: 11/02/2003:
     * Changed return type to int: zero (EFFS_OK) if successful,
     * presumably -ve for errors, as in FFS_ERRORS (else read less than asked
     * for, but that value is internal to the function)
     */
effs_t flash_update(void);

/* glowing,2004-06-11, import from TCS2112 */
//Generic flash access routines.
effs_t flash_data_write(const char* dir_name, const char* file_name, void* data_pointer, int data_size);
int flash_data_read(const char* dir_name, const char* file_name, void* data_pointer, int data_size);
     /* Marcus: Issue 1719: 11/02/2003:
      * Changed return type to int: data_size if successful,
      * presumably -ve for errors, as in FFS_ERRORS (else read less than asked for)
      */
/* glowing,2004-06-11, end of import */
	 
void FlashHostkeyInitialise(void);
void FlashEnviroInitialise(void);
effs_t flash_hostwrite();
effs_t flash_hostread();
effs_t flash_environmentread();
effs_t flash_environmentwrite();

/* for flash sms */
typedef enum
{
    FlahsSms1=0,
    FlahsSms2,
    FlahsSms3,
    FlahsSms4,
    FlahsSms5,
    FlashSmsNULL
} T_MFW_FS_TABLE;


extern char FlashSMSTable[FlashSMS_Table][15];
extern FlashSMSdata  FFS_SMSData;
extern T_MMI_FLASH_SMS_INDEX Flash_sms_messages[FLSAH_SMS_NUM]; /* store info about the SMS: index... */
extern  UBYTE     FlashSMStotal;
extern T_MFW_FS_TABLE       CurrentFlashSmsTable;
void FlashSmsInitialise(void);
effs_t flash_Smswrite(const char *filename);    
int  flash_Smsread(const char *filename);
void Get_FlashSms_data(void);

/* for common sms */
extern CoMessage FFS_CoMsg[CommonMsgNum];
void CommonSmsInitialise(void);
effs_t Common_Smswrite();
effs_t Common_Smsread();

void FlashSettingInitialise(void);
effs_t flash_settingwrite();
effs_t flash_settingread();
void FlashDataInitialise(void);

void     ConfigVMReset();
int       flash_VMwrite(const char *filename);
int       flash_VMread(const char *filename);
effs_t    flash_PBwrite(const char *filename);
int      flash_PBread(const char *filename);
effs_t    flash_PBOtherWrite(const char *filename);
effs_t    flash_PBOtherRead(const char *filename);
effs_t    flash_PBupdate(const char *filename);
effs_t    flash_PBmkdir(const char *pathname);
void     ConfigPhbkReset(void);
effs_t    flash_CheckStat(const char *name);
effs_t    flash_Opendir(const char *pathname);

USHORT GetShortNumber(const char * numstr);
void     CompressNum(const char * Num,unsigned char CompNum[]);
void     UnCompressNum(const char * CompNum,unsigned char Num[]);

effs_t Flash_ScheInitWrite(char * filename);
int Flash_ScheRead(char * filename);
void FlashScheDataInitialise(void); 

effs_t flash_Stopwrite();
effs_t flash_Stopwread();
void FlashStopwDataInitialise(void); 

effs_t flash_Memowrite();
effs_t flash_Memoread(); 
void FlashMemoDataInitialise(void); 

uint16 getConfigData_checksum(char *filepath);
uint16 getConfigData_size(char *filepath);
effs_t flash_ConfigDataChecksum_read(void);
effs_t flash_ConfigDataChecksum_write(void);

effs_t flash_FTwrite();
effs_t flash_FTread();


void ffs_Check();
uint32 FFS_Get_Free_Bytes();
uint32 FFS_Get_Used_Bytes();
uint32 FFS_Get_Lost_Bytes();



void ffsfile_init(void);
extern void FfsWriteOneEvent ();
extern void FfsWriteAllEvent ();
extern  void Forward_Ffsfile_init();

extern TffsfileCmd  ffsfileCmd;//ffs file cmd storage,hxl add 2002-11-27


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -