gllbs_distr/gllbs_hal_ril.h File Reference

Broadcom LBS API to RIL. More...

#include "gllbs_types.h"
Include dependency graph for gllbs_hal_ril.h:

Classes

struct  GlLbsRilCellInfoList
 Data structure for serving cell list. More...
struct  GlLbsRilMeasurementsInfo
 Data structure for NMR and MRL reports. More...
struct  GlLbsRilNotifyData
 notifications data type More...
struct  GlLbsRilCallbacks
 Structure for RIL HAL callbacks. More...

Typedefs

typedef struct GlLbsRilCellInfoList GlLbsRilCellInfoList
 Data structure for serving cell list.
typedef struct
GlLbsRilMeasurementsInfo 
GlLbsRilMeasurementsInfo
 Data structure for NMR and MRL reports.
typedef enum GLLBS_RIL_DATA_CODE GLLBS_RIL_DATA_CODE
 RIL messages codes.
typedef struct GlLbsRilNotifyData GlLbsRilNotifyData
 notifications data type
typedef void(* GlLbsRilReqDataCb )(GLLBS_RIL_DATA_CODE dataCode)
 Request data from Radio Layer Interface (RIL)
typedef struct GlLbsRilCallbacks GlLbsRilCallbacks
 Structure for RIL HAL callbacks.

Enumerations

enum  GLLBS_RIL_DATA_CODE {
  GLLBS_RIL_CELL_ID, GLLBS_RIL_CELL_ID_EXT, GLLBS_RIL_NMR_MRL, GLLBS_RIL_NMR_MRL_PERIODIC,
  GLLBS_RIL_NMR_MRL_PERIODIC_STOP, GLLBS_RIL_TIME
}
 RIL messages codes. More...

Functions

GLLBS_ERRORS GlLbsRilInit (const GlLbsRilCallbacks *cb)
 Initialize LBS interface to RIL HAL.
void GlLbsRilNotify (const GlLbsRilNotifyData *data)
 HAL direct calls to LBS.

Detailed Description

Broadcom LBS API to RIL.

Copyright (c) 2009 by Broadcom Corp. All Rights Reserved.

The information contained herein is confidential property of Broadcom. The use, copying, transfer or disclosure of such information is prohibited except by express written agreement with Broadcom.

Using notes:

1. During main initialization "GlLbsRilInit" function must be called to specify function which can be used by LBS core library

example:

GlLbsRilCallbacks cb; cb.cbLbsRilDataReq = MyRilDataReq; GlLbsRilInit(&cb);

2. Single request example:

LBS Core will call "MyRilDataReq" HAL function specified by cbLbsRilDataReq variable

example implementation of "MyRilDataReq" void MyRilDataReq(GLLBS_RIL_DATA_CODE dataCode) { switch(dataCode) { case GLLBS_RIL_CELL_ID: Add implementation break; case GLLBS_RIL_CELL_ID_EXT: Add implementation break; case GLLBS_RIL_NMR_MRL: Add implementation break; case GLLBS_RIL_NMR_MRL_PERIODIC: Add implementation break; case GLLBS_RIL_NMR_MRL_PERIODIC_STOP: Add implementation break; case GLLBS_RIL_TIME: Add implementation break; } }

Then RIL can synchronously (from MyRilDataReq) or asynchronously call "GlLbsRilNotify" function and provide requested data

NOTE !!! NOTE !!! NOTE !!! NOTE !!! NOTE !!! All LBS functions must be called from the same GPS thread !!

RIL Call Flow diagrams


Typedef Documentation

typedef void(* GlLbsRilReqDataCb)(GLLBS_RIL_DATA_CODE dataCode)

Request data from Radio Layer Interface (RIL)

Parameters:
dataCode- type of the requested data.

Enumeration Type Documentation

RIL messages codes.

Enumerator:
GLLBS_RIL_CELL_ID 

get serving CELL ID(s)

GLLBS_RIL_CELL_ID_EXT 

Not used at this moment.

GLLBS_RIL_NMR_MRL 

Not used at this moment.

GLLBS_RIL_NMR_MRL_PERIODIC 

Request for periodic reporting of NMR/MRL information.

GLLBS_RIL_NMR_MRL_PERIODIC_STOP 

Stop periodic request for NMR/MRL information.

GLLBS_RIL_TIME 

Request UTC time from RIL, not used at this moment.


Function Documentation

Initialize LBS interface to RIL HAL.

Parameters:
cb- pointer to the structure for RIL HAL callbacks.
Returns:
- LBS_OK if success, error - otherwise
void GlLbsRilNotify ( const GlLbsRilNotifyData data)

HAL direct calls to LBS.

Notification with the data from RIL. Called as the result of processing cbRILDataReq.

Parameters:
data- pointer to the data buffer.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines