/* M2M max network name (long) */
#define M2M_NETWORK_MAX_LONG_ALPHANUMERIC 16
/* M2M max network name (short) */
#define M2M_NETWORK_MAX_SHORT_ALPHANUMERIC 8
/* M2M max network number */
#define M2M_NETWORK_MAX_NUMERIC 8
/* M2M max neighbor */
#define M2M_NETWORK_NUM_OF_NEIGHBOR 7
/* M2M UMTS max neighbor */
#define M2M_NETWORK_NCELL_MAX_TOTAL_UMTS_CELLS 25
/* M2M max cell length */
#define M2M_NETWORK_MAX_CELL_LENGTH 8
/* M2M max LAC length */
#define M2M_NETWORK_MAX_LAC_LENGTH 5
/* M2M_T_NETWORK_AVAILABLE_NETWORK: available network information */
typedef struct _M2M_T_NETWORK_AVAILABLE_NETWORK
{
UINT16 nStat;
CHAR longAlphanumeric[M2M_NETWORK_MAX_LONG_ALPHANUMERIC];
CHAR shortAlphanumeric[M2M_NETWORK_MAX_SHORT_ALPHANUMERIC];
CHAR Numeric[M2M_NETWORK_MAX_NUMERIC];
UINT16 AcT;
} M2M_T_NETWORK_AVAILABLE_NETWORK;
/* M2M_T_NETWORK_CURRENT_NETWORK: Current network information */
typedef struct _M2M_T_NETWORK_CURRENT_NETWORK
{
UINT16 nMode;
UINT16 nFormat;
CHAR longAlphanumeric[M2M_NETWORK_MAX_LONG_ALPHANUMERIC];
UINT16 AcT;
} M2M_T_NETWORK_CURRENT_NETWORK;
/* Network cell neighbor information */
typedef struct _M2M_T_NETWORK_CELL_NEIGHBOR
{
INT32 nARFCN;
INT32 nBSIC;
INT32 nSignalStrength;
} M2M_T_NETWORK_CELL_NEIGHBOR;
/* Type of CELL */
typedef enum _M2M_T_NETWORK_CELL_TYPE
{
CELL_TYPE_ACTIVE_SET, /* Cell belongs to the Active set (CELL_DCH)*/
CELL_TYPE_VIRTUAL_ACTIVE_SET, /* Cell belongs to the Virtual Active set (CELL_DCH)*/
CELL_TYPE_MONITORED, /* Cells in the SIB 11/12 "BA"-list */
CELL_TYPE_DETECTED, /* Cell is a detected UMTS cell (CELL_DCH) */
CELL_TYPE_UMTS_CELL, /* Cell is a UMTS neighbour cell in GSM mode */
CELL_TYPE_UMTS_RANKED, /* Cell is a UMTS neighbour cell (all states but CELL_DCH) */
CELL_TYPE_UMTS_NOT_RANKED, /* Cell is a UMTS neighbour cell (all states but CELL_DCH) */
CELL_TYPE_SERVING, /* Serving Cell*/
CELL_TYPE_INVALID_CELL_TYPE /* Indicates empty / invalid entries in cell list */
} M2M_T_NETWORK_CELL_TYPE;
/* UMTS Network cell neighbor information */
typedef struct _M2M_T_UMTS_NETWORK_CELL_NEIGHBOR
{
M2M_T_NETWORK_CELL_TYPE cellType; /* type of cell */
UINT16 psc; /* Primary scrambling code */
UINT16 rscp; /* Received Signal Code Power (dBm - positive value presented positive )(0xFF) */
UINT8 ecn0; /* EC2N0 (dB - positive value presented positive) (0xFF) */
UINT16 uarfcn; /* DL UARFCN (0xFFFF) */
} M2M_T_UMTS_NETWORK_CELL_NEIGHBOR;
/* M2M_T_NETWORK_CELL_INFORMATION: Network cell information (neighbor list) */
typedef struct _M2M_T_NETWORK_CELL_INFORMATION
{
M2M_T_NETWORK_CELL_NEIGHBOR neighbors[M2M_NETWORK_NUM_OF_NEIGHBOR];
/* serving and neighbor cell info in GSM case */
M2M_T_UMTS_NETWORK_CELL_NEIGHBOR umtsNeighbors[M2M_NETWORK_NCELL_MAX_TOTAL_UMTS_CELLS];
/* serving and neighbor cell info in UMTS case */
} M2M_T_NETWORK_CELL_INFORMATION;
/* M2M_T_NETWORK_REG_STATUS_INFO: Registration status information */
typedef struct
{
UINT16 status;
UINT16 LAC;
UINT16 cell_id;
UINT8 LAC_string[M2M_NETWORK_MAX_LAC_LENGTH];
CHAR cell_id_string[M2M_NETWORK_MAX_CELL_LENGTH];
UINT16 AcT;
}M2M_T_NETWORK_REG_STATUS_INFO;
/* M2M_T_NETWORK_GREG_STATUS_INFO: Registration gprs status information */
typedef struct
{
UINT16 gprs_status;
UINT16 LAC;
UINT32 cell_id;
UINT8 LAC_string[M2M_NETWORK_MAX_LAC_LENGTH];
CHAR cell_id_string[M2M_NETWORK_MAX_CELL_LENGTH];
UINT16 AcT;
}M2M_T_NETWORK_GREG_STATUS_INFO;