m2m_network_api.h

 

/* 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;