📄 mfw_nm.h
字号:
/*
+--------------------------------------------------------------------+
| PROJECT: MMI-Framework (8417) $Workfile:: mfw_nm.h $|
| $Author: root $Revision: 1.1.1.1 $|
| CREATED: 07.10.98 $Modtime:: 20.01.00 18:48 $|
| STATE : code |
+--------------------------------------------------------------------+
PURPOSE: Type definitions for network management
*/
#ifndef DEF_MFW_NM
#define DEF_MFW_NM
/* #include "phb.h" RSA 20/12/01 - Removed */
#include"mfw_phb.h" //RSA 20/12/01 - Added
#include "p_mmreg.val"
/*
* global constants
*/
#define NM_AUTOMATIC 0 /* automatic mode set */
#define NM_MANUAL 1 /* manual mode is set */
/* permit maximal value */
#define MAX_PLMN 12 /* maximal PLMN number */
#define LONG_NAME 26
#define SHORT_NAME 10
#define SP_NAME 17
#define NUMERIC_LENGTH 6
#define MFW_PLMN_AVAILABLE 0 /* a permitted PLMN */
#define MFW_PLMN_FORBIDDEN 1 /* a forbidden PLMN */
#define MFW_FULL_SERVICE 1 /* definition for services */
#define MFW_LIMITED_SERVICE 2
#define MFW_SEARCH_NETWORK 3
#define MFW_NO_SERVICE 0
typedef enum
{
NEW_PREF_PLMN = 1, /* Add a new entry to the end of the list */
CHANGE_PREF_PLMN, /* Change the place of two entries */
INSERT_PREF_PLMN, /* Add a new entry to the list at a given index */
REPLACE_PREF_PLMN, /* Overwrite an existing entry at a given index */
DELETE_PREF_PLMN /* Delete an entry from the list */
} T_MFW_PPLMN_MODE;
typedef enum
{
NM_ERR,
NM_OK
} T_MFW_NM_RETURN;
/*
* events are organised as bitmaps
*/
#define E_NM_FULL_SERVICE 0x0001
#define E_NM_NO_SERVICE 0x0002
#define E_NM_LIMITED_SERVICE 0x0004
#define E_NM_SEARCH_NETWORK 0x0008
#define E_NM_PLMN_LIST 0x0010
#define E_NM_NO_NETWORK 0x0020
#define E_NM_DEREGISTRATION 0x0040
#define E_NM_PREF_PLMN_LIST 0x0080
#define E_NM_CHANGE_PPLMN_OK 0x0100
#define E_NM_CHANGE_PPLMN_ERR 0x0200
#define E_NM_PPLMN_MEM 0x0400
#define E_MFW_NET_IND 0x0800
#define E_MFW_TIME_IND 0x1000
#define E_NM_CELL_SELECT 0x1001
#define E_NM_BAND 0x2000 /*SPR919 - SH - added */
#define E_NM_ALL_SERVICES /*0x0FFF*/ 0xFFFF /* SPR919 - SH - changed */
/* Structures */
/* Cell Reselection Structure API 16-04-02 */
typedef struct
{
USHORT ci; /* cell identification */
USHORT lid; /* location identification */
}T_MFW_CELL_STRUCT;
typedef struct /* LONG NAME */
{
UBYTE dcs;
UBYTE len; /* length of string data */
UBYTE data[LONG_NAME]; /* string data */
} T_MFW_LNAME;
typedef struct /* SHORT NAME */
{
UBYTE dcs;
UBYTE len; /* length of string data */
UBYTE data[SHORT_NAME]; /* string data */
} T_MFW_SNAME;
typedef struct /* SERVICE PROVIDER NAME */
{
UBYTE dcs;
UBYTE len; /* length of string data */
UBYTE data[SP_NAME]; /* string data */
UBYTE dummy;
} T_MFW_SP_NAME;
typedef struct
{
SHORT index;
#ifdef NO_ASCIIZ
T_MFW_SP_NAME service_provider; /* service provider name */
T_MFW_LNAME network_long; /* operator name in long format */
T_MFW_SNAME network_short; /* operator name in short format */
#else
UBYTE service_provider[LONG_NAME]; /* service provider name */
UBYTE network_long [LONG_NAME]; /* operator name in long format */
UBYTE network_short[SHORT_NAME]; /* operator name in short format */
#endif
UBYTE network_numeric[NUMERIC_LENGTH]; /* operator name in numeric format */
UBYTE display_condition;
UBYTE roaming_indicator; /* PLMN in HPLMN or not */
UBYTE forbidden_indicator; /* PLMN is member of the forbidden PLMN list */
UBYTE *fieldstrength; /* fieldstrength of PLMN */
} T_MFW_NETWORK_STRUCT;
typedef struct {
UBYTE count; /* number of entries in perferred PLMN list */
T_MFW_NETWORK_STRUCT *plmn; /* plmn identifications */
} T_MFW_PREF_PLMN_LIST; /* prefered PLMN list*/
typedef struct
{
UBYTE count; /* number of available PLMNs */
T_MFW_NETWORK_STRUCT plmn[MAX_PLMN]; /* plmn identifications */
} T_MFW_PLMN_LIST;
typedef struct
{
UBYTE maxRcd; /* maximum preferred PLMN records in SIM card */
UBYTE usedRcd; /* used preferred PLMN records in SIM card */
} T_MFW_PPLMN_MEM;
typedef struct /* data for network name */
{
UBYTE dcs;
UBYTE add_ci;
UBYTE num_spare;
UBYTE len;
UBYTE data[MMR_MAX_TEXT_LEN];
} T_MFW_NET_NAME;
typedef struct /* data buffer for network name */
{
UBYTE mcc[SIZE_MCC]; /* mobile country code */
UBYTE mnc[SIZE_MNC]; /* mobile network code */
T_MFW_NET_NAME long_name; /* Network name, long format */
T_MFW_NET_NAME short_name; /* Network name, short format */
} T_MFW_NET_IND;
typedef struct /* data for timer zone */
{
UBYTE year;
UBYTE month;
UBYTE day;
UBYTE hour;
UBYTE minute;
UBYTE second;
UBYTE timezone;
} T_MFW_TIME_IND;
/*
* Network Parameter
*/
typedef union
{
T_MFW_NETWORK_STRUCT ident;
T_MFW_PLMN_LIST plmns;
T_MFW_PREF_PLMN_LIST pplmns;
T_MFW_PPLMN_MEM pplmn_mem;
T_MFW_NET_IND net_info;
T_MFW_TIME_IND tim_info;
T_MFW_CELL_STRUCT cell_info; /* sbh 29-04-02 - Cell reselection */
} T_MFW_NM_PARA;
/*
* Prototypes
*/
int nm_init (void);
MfwHnd nm_create (MfwHnd hWin, MfwEvt event, MfwCb cbfunc);
MfwRes nm_delete (MfwHnd hWin);
void nm_set_mode (U8 mode);
T_MFW nm_get_mode (void);
T_MFW nm_reg_status (void);
void nm_select_plmn (U8 *network);
void nm_avail_plmn_list (void);
void nm_home_plmn (T_MFW_NETWORK_STRUCT *hplmn);
int nm_plnm_list(T_MFW_NETWORK_STRUCT *plmn_list, int start, int count);
void nm_pref_plmn_list(T_MFW_NETWORK_STRUCT *pplmn, UBYTE count, SHORT start);
T_MFW_NM_RETURN nm_change_pref_plmn(T_MFW_PPLMN_MODE mode,
SHORT index, SHORT index2,
UBYTE *network_numeric);
T_MFW nm_registration (U8 mode, U8 freq_bands, U8 limited);
void nm_deregistration (void);
void nm_abort_avail_plmn(void);
void nm_exit (void);
T_MFW_NM_RETURN nm_pplmn_mem_req(void);
#ifdef NO_ASCIIZ
void nm_get_spn (T_MFW_SP_NAME *spn);
#else
/* PATCH PMC 000804 */
void nm_get_spn (char *);
/* END PATCH PMC */
#endif
void nm_abort_registraion(void);
#endif
/* glowing,2004-06-10, import from M188A */
#define ERR_STATUS 1
#define OK_STATUS 0
EXTERN U16 get_net_status(void);
/* glowing,2004-06-10, end of import */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -