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

📄 mfw_ffs.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef MFW_FFS_H_
#define MFW_FFS_H_

#include "ffs.h"
#include "ffs_coat.h"

//#include "Ffs.h"
#include "mfw_mfw.h"
#include "mfw_sms.h"

#define MAXCB     20  //It should be equal MAX_IDENTS
/*2004/04/13,talcon modify*/
#define CommonMsgNum     15 /*10*/  //It should be equal MAX_IDENTS


#define FFSFILE_DIRECTORY			"/bmi"
#define	FFSFILE_CONSTCONFIG_PATH	"/bmi/ConConfigData"		//
#define	FFSFILE_DCTB_PATH			"/bmi/MobileDctbData"		//index=0
#define	FFSFILE_VM_PATH				"/voicememory/VM"			//index=1
#define	FFSFILE_PHB1_PATH			"/bmi/PhoneRecord1"	//index=2
#define	FFSFILE_PHB2_PATH			"/bmi/PhoneRecord2"	//index=3
#define	FFSFILE_PHB3_PATH			"/bmi/PhoneRecord3"	//index=4
#define	FFSFILE_PBO_PATH			"/bmi/PBOData"		//index=5
#define	FFSFILE_CONFIG_PATH			"/bmi/BmiConfigData"		//index=6
#define	FFSFILE_SETTING_PATH    	"/bmi/MobileSettingData"	//index=7
#define	FFSFILE_HOSTKEY_PATH		"/bmi/MobileHostkeyData"	//index=8
#define	FFSFILE_ENVIR_PATH			"/bmi/MobileProfiles"	//index=9					/* 2003/12/08 sunsj */
#define FFSFILE_STOPWATCH_PATH		"/bmi/MobileSW"			//index=a
#define FFSFILE_WAP_PATH			"/bmi/MobileWapData"			//index=b
#define	FFSFILE_SCHEDUE1_PATH		"/bmi/DateSchedule1"			//index=c
#define	FFSFILE_SCHEDUE2_PATH		"/bmi/DateSchedule2"			//index=d
#define	FFSFILE_SCHEDUE3_PATH		"/bmi/DateSchedule3"			//index=e
#define	FFSFILE_CONFIG_CHECK_PATH	"/bmi/BmiConfigCheckData"	//index=f
#define	FFSFILE_SMS_PATH			"/bmi/MobileSmsData"	//index=10
#define FFSFILE_MEMO_PATH			"/bmi/PersonMemory"		///index=11
#define	FFSFILE_GAME_PATH			"/bmi/SmallGameData"			//index=12

#define	FFSFILE_COM_SMS_PATH		"/bmi/MobileCSmsData"	//index=22
#define FFSFILE_FIELDTEST_PATH		"/bmi/MobileFieldTestData"			//field test add by xzy 0124

typedef struct
{
    uint16     Mmidata_sum;
    uint16     Mmidata_size;
    uint16     Environment_sum;
    uint16     Environment_size;
    uint16     DCTbdata_sum;
    uint16     DCTbdata_size;
    uint16     Settingdata_sum;
    uint16     Settingdata_size;
    uint16     Hostkeydata_sum;
    uint16     Hostkeydata_size;
}ConfigDataCheck;
typedef struct
{
    char greeting_word[15];	/* 2004/07/01 sunsj modify */
    int  GreetingWordIsOn;//0,1问候语开启关闭0/1
    char BackgroundTable[5][21];// 背景名称
    int  BGI;//background
    int  OutBGI;   //Out idle wallpaper	/* 2004/04/10 sunsj modify */
    int  saving_mode;//0,1省电模式
    int  switch_animation;//关机动画
    int  theme;//主题
    int  backlight_intensity;//背光强度
    uint8 backlight_on_time_hour;
    uint8 backlight_on_time_minute;
    uint8 backlight_off_time_hour;//省电背光关闭时间
    uint8 backlight_off_time_minute;
    uint8 hallonconnect;//0,1翻盖打开接听0:ok;1:no
    uint8 gprsattachmode;//0:manual;1:Automatic
    uint8 ledon;//0,1led control on off
    uint8 LedSwitch;       //关盖是否要闪烁LED跑马灯 /* 2004/04/10 sunsj add */
}FlashSetting;
typedef struct
{
    uint8 UsedTbIdx; //record the next  index of UsedNumberTable
    uint8   UsedNumberTable[10][21]; //Usual used forwarding number
    uint8   GroupedNumber[10][9]; 
    uint8   SettedCUGIndex[10][2]; 
    //Call Record
    uint8   LMNTable[10][24];//missed number
    uint8   LJNTable[10][24];//reject number  missed number
    uint8   LRNTable[10][24];//missed number
    uint8   LDNTable[10][24];//missed number
    uint8   LMNTime[10][21]; 
    uint8   LJNTime[10][21];//reject number
    uint8   LRNTime[10][21];
    uint8   LDNTime[10][21];

    uint8   LMNID;
    uint8   LJNID;              //reject number
    uint8   LRNID;
    uint8   LDNID;
    uint8   nextcall;           
    uint8   hideIDflag;
    uint8   callwaitflag;
    uint8   lineselectflag;   //线路选择标志位
    uint8   AutoAnswerFlag;
    uint8   MissedCallNum;
    uint8   LMNflag[10];  
    uint8   CFFlag;  // use the last 4 bits to mark CFNRc CFB CFNRy CFU 
    uint8   MForNameFlag[10]; 
    uint8   JForNameFlag[10];
    uint8   RForNameFlag[10];
    uint8   DForNameFlag[10];

    char    Mname[10][24];
    char    Jname[10][24];
    char    Rname[10][24];
    char    Dname[10][24];
    uint32     GPRSOUTCOUNTER;
    uint32     GPRSINCOUNTER;
} FlashDCTb;//usual used number and cug number table

extern FlashDCTb FlashDCTbData; 
typedef struct
{
    uint8 HostLock_flag;
    uint8 HostLock_Key[8];
    uint8 HostProtect_Items[5];
    uint8   SimLockFlag;
    uint8   imsi[8];
}FlashHostkey;
typedef enum
{
    NORMAL_ENV=0,
    OUTDOOR_ENV,
    MEETING_ENV,
    INCAR_ENV,
    MUTE_ENV,
    iconSceneMax 
}EnvironmentEnum;
typedef enum
{
    RING=0,
    VIBRA,
    VIBRARING,
    RINGANDVIBRA,
    ALERTMUTE 
}PromptEnum;

typedef enum
{
    SMSRING=0,       //ring
    SPECIALRING1,     //special ring strong more twice
    SPECIALRING2,
    SPECIALRING3,
    SPECIALRING4,
    SPECIALRING5,
    SMSVIBRA,        //vibra
    SMSRVIBRA,      //ring and vibrate
    SMSMUTE       //No ring and no vibrate
} SmsAlertType;


typedef struct
{
    PromptEnum   prompttype;
    uint8        ringtype;
    uint8        ringvolume;
    uint8        Autoanswerflag;
    uint8        Anykeyanswerflag;
    uint8        connecttone;
    PromptEnum   alarmprompt;  
    uint8        alarmtype;
    uint8        alarmvolume;
    uint8        speakervolume; //for adjusting speaker volume
    SmsAlertType  SMSTone;
    uint8         smsvolume;
    uint8         KeypadTone;
    uint8         MissedcallTone;
    uint8         UnreadSMSTone;
    //uint8         settings_status;
    uint8         KeypadVolume;    /* 2003/12/08 sunsj add */
    //2003.1.13 wyj add on&off ring
    uint8          OnRingtype; //最高位为静音开关 1-静音
    uint8          OnVolume;
    uint8          OffRingtype;
    uint8          OffVolume;
    //2004.2.12 WYJ add Hall On&Off Ring
    uint8          HallOnRingtype; //最高位为静音开关 1-静音
    uint8          HallOnVolume;
    uint8          HallOffRingtype;
    uint8          HallOffVolume; 
}EnvironmentStruct;
typedef struct
{
    EnvironmentEnum CurrentEnv;  //current enviorment
    EnvironmentStruct EnviroProfile[5];
}FlashEnvironment;
#define FLSAH_SMS_NUM    50
#define FlashSMS_Table          5
#define FlashSMS_table_len        10
typedef struct
{
    UBYTE   index;
    UBYTE   id;
} T_MMI_FLASH_SORT_INDEX;
typedef struct
{
    UBYTE   index;
    UBYTE   id;
    CHAR    addr[MFW_NUM_LEN];
    T_MFW_SMS_SCTP   time;
    T_MFW_SMS_STAT  state;
    BOOL    flag;
} T_MMI_FLASH_SMS_INDEX;

typedef struct
{
    UBYTE   id;
    CHAR    addr[MFW_NUM_LEN];
    T_MFW_SMS_SCTP   time;
    CHAR    sms_msg[MAX_MSG_LEN];
    USHORT  msg_len;
    T_MFW_SMS_STAT  state;
    SHORT    dcs;
    BOOL    flag;
}FlashSms;

typedef struct
{
    FlashSms  NVMSMS[FlashSMS_table_len];  
    //UBYTE	  total;
} FlashSMSdata;

#define ALL_NVM_LIST         200
#define ALL_SIM_LIST          256 
#define ALL_NUMBER_LIST      ALL_NVM_LIST+ALL_SIM_LIST
/* glowing: change the record times from 20 seconds to 30 seconds */
//#define VM_file                10
#define VM_file                6

#define PHB_name_len        13 //2004-04-05 Sunny modify.old value:21
#define PHB_number_len      21 //2004-04-13 Sunny modify.old value:21
#define PHB_numberExt_len   7
#define PHB_memo_len        22
#define PHB_PBTable         3
#define PHB_table_len       72
#define PE_SIZE             5
#define MAX_Grouping        10
#define MAX_ShortCutDial    9
#define MAX_COMSG_LEN       53
#define GroupingName_len    17//2003/12/01,talcon change 13 to 17
#define CheckFlag(i)         (((l_phb_index[i].flag & 0x40)==0x40)?TRUE:FALSE)
#define CheckDelFlag(i)      (((l_phb_index[i].flag & 0x80)==0x80)?TRUE:FALSE)
#define SetAddFlag(i)        ((l_phb_index[i].flag & 0x3F) | 0x40)
#define SetDelFlag(i)         ((l_phb_index[i].flag & 0x3F) | 0x80)
#define SetFirstNumFlag(i,j)  ((l_phb_index[i].flag & 0xCF) | ((j<<4) & 0x30))
#define CheckFirstNumFlag(i) ((l_phb_index[i].flag>>4) & 0x03)
#define SetGroupingFlag(i,j)  ((l_phb_index[i].flag & 0xF0) | (j & 0x0F))
#define CheckGroupingFlag(i) (l_phb_index[i].flag & 0x0F)
#if(MAIN_LCD_SIZE==4)
#define GetFree(i)            ((i>3)?3:i)    /* 2004/05/26 sunsj modify */
#elif(MAIN_LCD_SIZE==3)
#define GetFree(i)            ((i>3)?3:i)
#endif
typedef enum
{
    COPYINGALL,
    COPYINGSELECT,    
    COPYNONE
} T_EntryEvent;

typedef struct
{
    U8   name   [PHB_name_len+3];  
    U8   number [PHB_number_len+1];
    U8   office   [PHB_number_len+1];
    U8   home   [PHB_number_len+1];  
    U8   memo   [PHB_memo_len+3];
    U8   info;
} PhbkDetailItem;

typedef enum
{
    PhoneBook1=0,
    PhoneBook2=1,
    PhoneBook3=2,
    PhoneBook4=3,
    PhoneBook5=4,
    PhoneBook6=5,
    PhoneBook7=6,
    PhoneBookNULL
} T_MFW_PHB_TABLE;

typedef enum
{
    SIM_BOOK_SEL,
    NVM_BOOK_SEL
} T_MFW_PHB_SELECT;

typedef struct
{
    U8   name  [PHB_name_len+3];  
    U8   number[PHB_number_len/2+2];
    U8   office  [(PHB_number_len+PHB_numberExt_len)/2+1];
    U8   home  [PHB_number_len/2+2];  
    U8   memo [PHB_memo_len+3];
    U8   info;
} PhbkListItem;

typedef struct
{
    PhbkListItem      NVMBook[PHB_table_len];  
} FlashPBdata;

typedef struct
{
    U8    name   [PHB_name_len+3];
    U8    number [(PHB_number_len/2)+2];
} PhbkShortCutItem;

typedef struct
{
    char GroupingName[GroupingName_len];//分组名
    U8  GroupingIcon;
    U8  GroupingRing;
} PhbkGroupingItem;


typedef struct
{
    PhbkShortCutItem ShortCutDial[MAX_ShortCutDial];//快捷拨号
    PhbkGroupingItem GroupingItem[MAX_Grouping];  
} FlashPBotherdata;

typedef struct
{
    unsigned char       name [PHB_name_len+3];
    T_MFW_PHB_SELECT  phonebook;
    int                 index;
    U16                number[3]; 
    U8                 flag;
} T_MFW_PHB_INDEX;

typedef struct //sort index table
{
    USHORT name;
    int      index;  
} T_MFW_PHB_SORT_INDEX;
typedef struct
{
    char vm_name[PHB_name_len];
    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]      */
    UINT8   year;       /*year                       -[00,99]*/
    BOOL  mode_12_hour;   /* TRUE->12 hour mode ; FALSE-> 24 hour mode   */
    BOOL  PM_flag;    /* if 12 hour flag = TRUE TRUE->PM ; FALSE->AM */  
    UINT8 length;     /*the time in second of this voice file*/
} VMTable;

typedef struct
{
    VMTable VM[VM_file];
} FlashVMdata;
//-----------------------------------------------------------------------------

//schedule data
#define SCHE_LEN  98
#define MEMO_LEN 100
#define SCHEDULE_NUMBER 70
#define STOPWRECORD_NUM 40
#define STOPWGROUP_NUM 5
typedef struct
{
    int date[2];
    uint8 wday;
    uint8 hour;
    uint8 minute;
    uint8 ringandf;   //是否有闹钟以及闹钟的频率是多高
    uint8 type;//是会议、生日还是别的
    uint8 text[SCHE_LEN];//记录的内容
}FlashSchedule;//日程管理数据

typedef struct
{
    uint8 index;
    int date[2];
    uint8 wday;
    uint8 hour;
    uint8 minute;
    uint8 number;
    uint8 ringandt;
}T_MFW_DetailSche_index;

typedef struct
{
    int date[2];
    uint8 wday;
    uint8 hour;
    uint8 minute;
    uint8 index;
}T_MFW_SCHE_INDEX;
//------------------------------------------------------------------------------
typedef enum
{
    AllLanguage,
    NoLanguage,
    ListLanguage
}CBLANG;
typedef struct
{
    UBYTE message[MAX_COMSG_LEN];   /* in ASCII*/
}CoMessage;

typedef struct
{
    FlashSchedule FfsSche[70];
}Flash_Sche;

//stopwatch data
typedef struct
{
    unsigned int record[STOPWRECORD_NUM];
    char name[14];
    uint8 type;
    uint8 group_number;
}FlashStopwatch;

typedef struct
{
    uint8 flag;
    char name[14];
    uint8 type;
    uint8 group_number;
}T_MFW_Stopw_INDEX;

typedef struct
{
    FlashStopwatch group[STOPWGROUP_NUM];  
}Flash_Stopw;

typedef struct
{

⌨️ 快捷键说明

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