#ifndef LIBZTE_PBM | |
#define LIBZTE_PBM | |
//#include "comdef.h" | |
//typedef unsigned char uint8; | |
//typedef unsigned short uint16; | |
//typedef unsigned char boolean; | |
#ifndef uint8 | |
#define uint8 unsigned char | |
#endif | |
#ifndef uint16 | |
#define uint16 unsigned short | |
#endif | |
#ifndef boolean | |
#define boolean unsigned char | |
#endif | |
#ifndef TRUE | |
#define TRUE 1 | |
#endif | |
#ifndef FALSE | |
#define FALSE 0 | |
#endif | |
//db path | |
#ifdef _MBB_OS_UCLINUX | |
#define ZTE_PBM_DB_DIR "/mnt/jffs2/etc_rw/config" | |
#define ZTE_PBM_DB_PATH "/mnt/jffs2/etc_rw/config/pbm.db" | |
#else | |
#define ZTE_PBM_DB_DIR "/etc_rw/" | |
//#ifdef WEBS_SECURITY | |
#define ZTE_PBM_DB_PATH_SEC "/tmp/pbm.db" | |
//#else | |
#define ZTE_PBM_DB_PATH "/etc_rw/pbm.db" | |
//#endif | |
#endif | |
#define ZTE_DB_PBM_TABLE "pbm" | |
#define ZTE_DB_PBM_DEVICE_TABLE "pbm_device" | |
#define ZTE_DB_PBM_SIM_TABLE "pbm_sim" | |
#define ZTE_DB_PBM_SIM_CAPABILITY_TABLE "pbm_sim_capability" | |
#define ZTE_DB_PBM_DEVICE_CAPABILITY_TABLE "pbm_device_capability" | |
#define MAX_NUMBER_OF_BYTES_FOR_SQL 1024 | |
//socket parameters | |
//socket path | |
#ifndef ZTE_PBM_PATH | |
#define ZTE_PBM_PATH "zte_pbm" | |
#endif | |
//socket buffer size | |
#ifndef ZTE_SOCKET_DATA_BUF_MAX | |
#define ZTE_SOCKET_DATA_BUF_MAX 1024 | |
#endif | |
//socket max liscen num | |
#ifndef ZTE_SOCKET_MAX_LISCEN_NUM | |
#define ZTE_SOCKET_MAX_LISCEN_NUM 50 | |
#endif | |
//web ui pbm | |
#ifndef PBM_MAX_DEL_LEN | |
#define PBM_MAX_DEL_LEN 50 | |
#endif | |
#ifndef ZTE_PB_INDEX_MAX | |
#define ZTE_PB_INDEX_MAX 500 | |
#endif | |
#ifndef ZTE_WEB_PBM_REC_LEN | |
#define ZTE_WEB_PBM_REC_LEN 5 | |
#endif | |
#ifndef PBM_WEB_MAX_CHAR_LEN | |
#define PBM_WEB_MAX_CHAR_LEN ZTE_WEB_PBM_REC_LEN*ZTE_PB_INDEX_MAX | |
#endif | |
//number length | |
#ifndef PBM_MAX_NUM_LENGTH | |
#define PBM_MAX_NUM_LENGTH 40 | |
#endif | |
#ifndef PBM_NUM_SIZE | |
#define PBM_NUM_SIZE (PBM_MAX_NUM_LENGTH+2) /* + and null for string */ | |
#endif | |
//name length | |
#ifndef PBM_MAX_TEXT_LENGTH | |
#define PBM_MAX_TEXT_LENGTH 90 | |
#endif | |
#ifndef PBM_TEXT_SIZE_CHARS | |
#define PBM_TEXT_SIZE_CHARS (PBM_MAX_TEXT_LENGTH+1) /* Null terminated string */ | |
#endif | |
#ifndef PBM_TEXT_SIZE_BYTES | |
#define PBM_TEXT_SIZE_BYTES (PBM_TEXT_SIZE_CHARS*sizeof(uint16)) /* size in bytes */ | |
#endif | |
//the max numbers of record in modem location | |
#define PBM_PC_MAX_RECORD 100 | |
#define PBM_OPERATE_SUC "0" | |
#define PBM_LOADING "1" | |
#define PBM_NEWING "2" | |
#define PBM_DELING "3" | |
#define PBM_MUT_DELING "4" | |
#define PBM_ALL_DELING "5" | |
#define PBM_LOAD_ERROR "6" | |
#define PBM_NEW_ERROR "7" | |
#define PBM_DEL_ERROR "8" | |
#define PBM_NEW_ERROR_MEM_FULL "9" | |
#define PBM_ERROR_CONVERT_CHEST "10" | |
#define PBM_LOCATION_IS_NULL "11" | |
#define ZTE_SUPPORT_SIM_PBM "12" | |
#define ZTE_SUPPORT_USIM_PBM "13" | |
#define ZTE_PBM_ERROR "14" | |
#define PBM_MUL_DEL_PART_SUC "15" | |
#define ZTE_PBM_NVCFG_LEN 15 | |
//the nvconfig of pbm module | |
#ifndef ZTE_PBM_NV | |
#define ZTE_PBM_NV "pbm_write_flag" | |
#endif | |
#ifndef ZTE_PBM_GROUP_NV | |
#define ZTE_PBM_GROUP_NV "pbm_group" | |
#endif | |
#ifndef ZTE_SUPPORT_PBM_NV | |
#define ZTE_SUPPORT_PBM_NV "support_pbm_flag" | |
#endif | |
#ifndef ZTE_PBM_INIT_NV | |
#define ZTE_PBM_INIT_NV "pbm_init_flag" | |
#endif | |
//the location of pbm in web ui | |
//#define PBM_LOCATION_DEVICE 1 | |
//#define PBM_LOCATION_SIM 0 | |
typedef enum | |
{ | |
PBM_LOCATION_SIM = 0, //sim card only,exsit in database | |
PBM_LOCATION_DEVICE = 1, //device only,exit in database | |
PBM_LOCATION_ALL = 2, //sim card and device, not exsit in database, only use in pbm code | |
PBM_LOCATION_GROUP = 3, //group in device,for example:common,family and so on,not exsit in database, only use in pbm code | |
PBM_LOCATION_MAX | |
} zte_pbm_location_e_type; | |
typedef enum | |
{ | |
ZTE_PBM_FAILURE = -1, | |
ZTE_PBM_SUCCESS = 0, | |
ZTE_PBM_NOT_SUPPORT = 1, //do not support web ui pbm | |
ZTE_PBM_MAX | |
} zte_pbm_return_e_type; | |
typedef struct | |
{ | |
int sim_type; | |
int max_record_number; | |
int used_record_number; | |
int max_name_len; | |
int max_number_len; | |
int max_anr_num; | |
int max_anr_len; | |
int max_anr1_num; | |
int max_anr1_len; | |
int max_email_num; | |
int max_email_len; | |
int max_sne_len; | |
} zte_pbm_sim_capability_s_type; | |
typedef struct | |
{ | |
int max_record_number; | |
int used_record_number; | |
} zte_pbm_device_capability_s_type; | |
//////*******///these structs must define in the libzte_mc.h begin | |
#ifndef ZTE_MC_PBM_TYPE | |
#define ZTE_MC_PBM_TYPE | |
#ifdef ZTE_MC_PBM_TYPE | |
typedef struct zte_pbm_create_ext_record_s_type | |
{ | |
int zte_pbm_id; //the id in the pbm table,unique,ASC | |
int zte_pbm_index; | |
int zte_pbm_location; | |
char zte_pbm_name[PBM_TEXT_SIZE_BYTES]; | |
char zte_pbm_number[PBM_NUM_SIZE]; | |
int zte_pbm_type; | |
char zte_pbm_anr[PBM_NUM_SIZE]; | |
char zte_pbm_anr1[PBM_NUM_SIZE]; | |
char zte_pbm_email[PBM_TEXT_SIZE_BYTES]; | |
//char zte_pbm_sne[PBM_TEXT_SIZE_BYTES]; | |
//char zte_pbm_group[PBM_TEXT_SIZE_BYTES]; | |
char zte_pbm_sne[32];// 91*2 ---> 32 ÔÝʱδÓõ½¸Ã²ÎÊý | |
char zte_pbm_group[32]; // 91*2 ---> 32 | |
int zte_pbm_del_id; | |
} zte_pbm_create_ext_record_s_type; | |
typedef struct zte_pbm_del_multi_records_s_type | |
{ | |
int zte_del_pbm_id[PBM_MAX_DEL_LEN]; | |
int zte_del_pbm_total; | |
int zte_del_pbm_location; | |
int zte_del_pbm_index[PBM_MAX_DEL_LEN]; | |
} zte_pbm_del_multi_records_s_type; | |
#endif | |
#endif | |
//////*******///these structs must define in the libzte_mc.h end | |
/* | |
typedef enum zte_pbm_cmd_e_type | |
{ | |
ZTE_PBM_LOAD_REC_MSG=0,- | |
ZTE_PBM_WRITE_REC_MSG,- | |
ZTE_PBM_DEL_A_REC_MSG,- | |
ZTE_PBM_DEL_MUTI_REC_MSG,- | |
ZTE_PBM_DEL_ALL_REC_MSG,- | |
ZTE_PBM_SLEEP_MSG, | |
ZTE_PBM_WAKEUP_MSG, | |
ZTE_PBM_LOAD_WITHOUT_SIM_MSG,- | |
ZTE_PBM_MAX_MSG, | |
} zte_pbm_cmd_e_type; | |
*/ | |
/* | |
typedef union zte_pbm_data_u_type | |
{ | |
zte_pbm_create_ext_record_s_type zte_new_pbm_data; | |
zte_pbm_del_multi_records_s_type zte_del_pbm_data; | |
} zte_pbm_data_u_type; | |
*/ | |
/* | |
typedef struct zte_pbm_msg_s_type | |
{ | |
zte_pbm_cmd_e_type zte_pbm_msg; | |
zte_pbm_data_u_type zte_pbm_data; | |
} zte_pbm_msg_s_type; | |
*/ | |
typedef struct zte_pbm_header_s_type | |
{ | |
int zte_id; //the id in the pbm table,unique,ASC | |
int zte_index; | |
int zte_location; | |
} zte_pbm_header_s_type; | |
typedef struct | |
{ | |
uint8 page; | |
uint8 num_per_page; | |
zte_pbm_location_e_type location; | |
boolean asc_flag; | |
uint8 order_by; | |
} zte_pbm_query_req_s_type; | |
typedef struct | |
{ | |
uint8 count; | |
zte_pbm_create_ext_record_s_type data[0];/*lint !e1501*/ | |
} zte_pbm_query_resp_s_type; | |
//////*******///these functions must define in the libzte_mc.h begin | |
#ifndef ZTE_MC_PBM_TYPE | |
#define ZTE_MC_PBM_TYPE | |
#ifdef ZTE_MC_PBM_TYPE | |
//void zte_mc_pbm_load_rec(); | |
//void zte_mc_pbm_write_rec(zte_pbm_create_ext_record_s_type *pbm_recv_record); | |
//void zte_mc_pbm_del_a_rec(zte_pbm_del_multi_records_s_type *pbm_recv_record); | |
//void zte_mc_pbm_del_multi_recs(zte_pbm_del_multi_records_s_type *pbm_recv_record); | |
//void zte_mc_pbm_del_all_recs(zte_pbm_del_multi_records_s_type *pbm_recv_record); | |
//void zte_mc_pbm_load_if_no_sim(); | |
void aaa(int i); | |
#endif | |
#endif | |
//////*******///these functions must define in the libzte_mc.h end | |
//void zte_mc_pbm_sleep_wakeup(zte_pbm_cmd_e_type pbm_msg_type); | |
//////the interface for get pbm data and capability for web server | |
int zte_libpbm_get_capability | |
( | |
zte_pbm_query_req_s_type *req, | |
zte_pbm_sim_capability_s_type *sim_para, | |
zte_pbm_device_capability_s_type *device_para | |
); | |
int zte_libpbm_get_rec_data (zte_pbm_query_req_s_type *req, zte_pbm_query_resp_s_type*resp); | |
int zte_libpbm_get_name_by_number(char *pbm_number, char *pbm_name); | |
#endif | |