view src/aci2/aci/gaci_cmh.h @ 640:16eb1b9640dc

target gtm900 renamed to gtm900mgc2 This change reflects the fact that the build target in question supports MGC2GSMT hardware only, and will NOT work on other hw that confusing bears the same end user name of GTM900, neither the LoCosto-based GTM900-C nor the Calypso-based MG01GSMT that has a different and incompatible RFFE. If we ever get our hands on a piece of MG01GSMT hw and add support for it, that other target will be named gtm900mg01.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 31 Jan 2020 00:46:07 +0000
parents 93999a60b835
children
line wrap: on
line source

/* 
+----------------------------------------------------------------------------- 
|  Project :  
|  Modul   :  
+----------------------------------------------------------------------------- 
|  Copyright 2002 Texas Instruments Berlin, AG 
|                 All rights reserved. 
| 
|                 This file is confidential and a trade secret of Texas 
|                 Instruments Berlin, AG 
|                 The receipt of or possession of this file does not convey 
|                 any rights to reproduce or disclose its contents or to 
|                 manufacture, use, or sell anything it may describe, in 
|                 whole, or in part, without the specific written consent of 
|                 Texas Instruments Berlin, AG. 
+----------------------------------------------------------------------------- 
|  Purpose :  GPRS Command handler interface definitions.
+----------------------------------------------------------------------------- 
*/ 

#ifndef GACI_CMH_H
#define GACI_CMH_H


/*==== MACROS =====================================================*/
#define GPRS_EVENT_REPORTING_BUFFER_SIZE  10

/*==== DEFINES ====================================================*/
/* the maximum length of strings to describe the PDP typ, PDP address, APN and L2P */
#define MAX_PDP_TYPE_LEN  7
#define MAX_APN_LEN       103
#define MAX_DNS_LEN       15
#define MAX_USER_LEN      63  /* this is a common value for Routers etc... */
#define MAX_PWD_LEN       63
#define MAX_PDP_ADDR_LEN  21
#if defined (FF_PKTIO) OR defined (FF_TCP_IP) || defined(FF_GPF_TCPIP) OR defined (FF_PSI)
#define MAX_L2P_LENGTH    6
#else /* FF_PKTIO || FF_TCP_IP || FF_GPF_TCPIP OR FF_PSI */
#define MAX_L2P_LENGTH    4
#endif /* FF_PKTIO || FF_TCP_IP || FF_GPF_TCPIP OR FF_PSI */

typedef enum                    /* CGDCONT command d_comp */
{
  GPRS_CID_OMITTED = 0,         /* value is omitted */
  GPRS_CID_1,                   /* PDP data compression off (default) */
  GPRS_CID_2,                   /* PDP data compression on */
#if defined (FF_PKTIO) OR defined (FF_PSI)
  GPRS_CID_3,
  GPRS_CID_4,
  GPRS_CID_5,
  GPRS_CID_6,
#endif /* FF_PKTIO OR FF_PSI */
  GPRS_CID_INVALID              /* invalid value */

} T_GPRS_CID;

#define INVALID_CID         GPRS_CID_OMITTED

#if defined (FF_PKTIO) OR defined (FF_PSI)
#define MAX_CID             GPRS_CID_6
#else /* FF_PKTIO OR FF_PSI */
#define MAX_CID             GPRS_CID_2
#endif /* FF_PKTIO OR FF_PSI */

#define MAX_CID_PLUS_EINS   GPRS_CID_INVALID

/*==== TYPES ======================================================*/
#define GPRS_QOS_OMITTED  0

typedef struct
{
  UBYTE           preced;
  UBYTE           delay;
  UBYTE           relclass;
  UBYTE           peak;
  UBYTE           mean;
} T_QOS;

typedef char T_PDP_ADDRESS  [MAX_PDP_ADDR_LEN];
typedef char T_PDP_TYPE     [MAX_PDP_TYPE_LEN];
typedef char T_APN          [MAX_APN_LEN];
typedef char T_L2P          [MAX_L2P_LENGTH];

typedef struct
{
  T_APN               apn;
  T_PDP_TYPE          pdp_type;
  T_PDP_ADDRESS       pdp_addr;
  SHORT               d_comp;
  SHORT               h_comp;
  T_QOS               qos;
  T_QOS               min_qos;
} T_GPRS_CONT_REC;

/*---- Types of  -----------------------------------------*/
typedef enum                    /* CGDCONT command d_comp */
{
  CGDCONT_D_COMP_OMITTED = -1,  /* value is omitted */
  CGDCONT_D_COMP_OFF,           /* PDP data compression off (default) */
  CGDCONT_D_COMP_ON,            /* PDP data compression on */
  CGDCONT_D_COMP_INVALID        /* invalid value */

} T_CGDCONT_D_COMP;

typedef enum                    /* CGDCONT command h_comp */
{
  CGDCONT_H_COMP_OMITTED = -1,  /* value is omitted */
  CGDCONT_H_COMP_OFF,           /* PDP header compression off (default) */
  CGDCONT_H_COMP_ON,            /* PDP header compression on */
  CGDCONT_H_COMP_INVALID        /* invalid value */

} T_CGDCONT_H_COMP;

typedef enum                    /* CGATT command state */
{
  CGATT_STATE_OMITTED = -1,     /* value is omitted */
  CGATT_STATE_DETACHED,         /* GPRS detached */
  CGATT_STATE_ATTACHED,         /* GPRS attached */
  CGATT_STATE_INVALID           /* invalid value */

} T_CGATT_STATE;

typedef enum                    /* CGACT command state */
{
  CGACT_STATE_OMITTED = -1,     /* value is omitted */
  CGACT_STATE_DEACTIVATED,      /* PDP context detached */
  CGACT_STATE_ACTIVATED,        /* PDP context attached */
  CGACT_STATE_INVALID           /* invalid value */

} T_CGACT_STATE;

typedef enum                    /* CGAUTO command n */
{
  CGAUTO_N_OMITTED = -1,        /* value is omitted */
  CGAUTO_N_GPRS_RES_OFF,        /* turn off automatic response for GPRS only */
  CGAUTO_N_GPRS_RES_ON,         /* turn on automatic response for GPRS only */
  CGAUTO_N_MCM_GPRS_ONLY,       /* modem compabitbility mode, GPRS only */
  CGAUTO_N_MCM_GPRS_CSC,        /* modem compabitbility mode, GPRS and circuit switched calls (default) */
  CGAUTO_N_INVALID              /* invalid value */

} T_CGAUTO_N;

typedef enum                    /* CGANS command response */
{
  CGANS_RESPONSE_OMITTED = -1,  /* value is omitted */
  CGANS_RESPONSE_REJECT,        /* reject the request */
  CGANS_RESPONSE_ACCEPT,        /* accept and request that the PDP context be activated */
  CGANS_RESPONSE_INVALID        /* invalid value */

} T_CGANS_RESPONSE;

typedef enum                    /* CGANS command response */
{
  CGCLASS_CLASS_OMITTED = -1,   /* value is omitted */
  CGCLASS_CLASS_A,              /* mobile class A  (highest) */
  CGCLASS_CLASS_B,              /* mobile class B  (if necessary consider NET III) */
  CGCLASS_CLASS_CG,             /* mobile class CG (GPRS only mode) */
  CGCLASS_CLASS_CC,             /* mobile class CC (circuit switched only mode - lowest) */
  CGCLASS_CLASS_MAX             /* invalid value */

} T_CGCLASS_CLASS;

typedef enum                    /* CGANS command response */
{
  PERCENT_CGCLASS_OMITTED = -1,   /* value is omitted */
  PERCENT_CGCLASS_A,              /* mobile class A  (highest) */
  PERCENT_CGCLASS_B,              /* mobile class B   */
  PERCENT_CGCLASS_BG,             /* mobile class BG   */
  PERCENT_CGCLASS_BC,             /* mobile class BC   */
  PERCENT_CGCLASS_BX,             /* mobile class BX   */
  PERCENT_CGCLASS_CG,             /* mobile class CG (GPRS only mode) */
  PERCENT_CGCLASS_CC,             /* mobile class CC (circuit switched only mode - lowest) */
  PERCENT_CGCLASS_MAX             /* invalid value */

} T_PERCENT_CGCLASS;

typedef enum                    /* CGEREP command mode */
{
  CGEREP_MODE_OMITTED = -1,     /* value is omitted */
  CGEREP_MODE_BUFFER,           /* buffer unsolicited result codes */
  CGEREP_MODE_DICARD_RESERVED,  /* discard unsolicited result codes when MT-TE link is reserved */
  CGEREP_MODE_BUFFER_RESERVED,  /* buffer unsolicited result codes in the MT when MT-TE link is reserved */
  CGEREP_MODE_INVALID           /* invalid value */

} T_CGEREP_MODE;

typedef enum                    /* CGEREP command bfr */
{
  CGEREP_BFR_OMITTED = -1,      /* value is omitted */
  CGEREP_BFR_CLEAR,             /* buffer unsolicited result codes */
  CGEREP_BFR_FLUSH,             /* discard unsolicited result codes when MT-TE link is reserved */
  CGEREP_BFR_INVALID            /* invalid value */

} T_CGEREP_BFR;

typedef enum                    /* CGREG command read stat */
{
  CGREG_STAT_NOT_PRESENT = -1,  /* not present, last state is not indicated */
  CGREG_STAT_NOT_REG,           /* not registered, no searching */
  CGREG_STAT_REG_HOME,          /* registered, home network */
  CGREG_STAT_SEARCHING,         /* not registered, but searching */
  CGREG_STAT_REG_DEN,           /* registration denied */
  CGREG_STAT_UNKN,              /* unknown */
  CGREG_STAT_REG_ROAM           /* registered, roaming */

} T_CGREG_STAT;

typedef enum                    /* %CGREG command read stat */
{
  P_CGREG_STAT_NOT_PRESENT = -1,  /* not present, last state is not indicated */
  P_CGREG_STAT_NOT_REG,           /* not registered, no searching */
  P_CGREG_STAT_REG_HOME,          /* registered, home network */
  P_CGREG_STAT_SEARCHING,         /* not registered, but searching */
  P_CGREG_STAT_REG_DEN,           /* registration denied */
  P_CGREG_STAT_UNKN,              /* unknown */
  P_CGREG_STAT_REG_ROAM,          /* registered, roaming */
  P_CGREG_STAT_LIMITED,           /* limited service */
  P_CGREG_STAT_GSM_CALL,          /* GSM call is active */
  P_CGREG_STAT_NO_CELL,           /* no cell available */
  P_CGREG_STAT_TRY_TO_UPDATE      /* next attempt to update MS */

} T_P_CGREG_STAT;


typedef enum                    /* CGSMS command service */
{
  CGSMS_SERVICE_OMITTED = -1,   /* value is omitted */
  CGSMS_SERVICE_GPRS,           /* GPRS */
  CGSMS_SERVICE_CS,             /* circuit switched */
  CGSMS_SERVICE_GPRS_PREFERRED, /* GPRS preferred */
  CGSMS_SERVICE_CS_PREFERRED,   /* circuit switched preferred */
  CGSMS_SERVICE_INVALID         /* invalid value */

} T_CGSMS_SERVICE;

typedef enum                    /* CGAATT command automatic attach mode */
{
  CGAATT_ATTACH_MODE_OMITTED = -1, /* value is omitted */
  CGAATT_ATTACH_MODE_AUTOMATIC,    /* automatic attach */
  CGAATT_ATTACH_MODE_MANUAL,       /* manual attach */
  CGAATT_ATTACH_MODE_INVALID       /* invalid value */

} T_CGAATT_ATTACH_MODE;

typedef enum                    /* CGAATT command automatic detach after context deactivation */
{
  CGAATT_DETACH_MODE_OMITTED = -1, /* value is omitted */
  CGAATT_DETACH_MODE_ON,           /* on */
  CGAATT_DETACH_MODE_OFF,          /* off */
  CGAATT_DETACH_MODE_INVALID       /* invalid value */

} T_CGAATT_DETACH_MODE;

/*---- Types for event reporting-----------------------------------*/

typedef enum                /* Defined events for GPRS event reporting */
{
  CGEREP_EVENT_INVALID = -1, /* reserved value */
  CGEREP_EVENT_REJECT,      /* network request context activation */
  CGEREP_EVENT_NW_REACT,    /* network requested context reactivation */
  CGEREP_EVENT_NW_DEACT,    /* network forced context deactivation */
  CGEREP_EVENT_ME_DEACT,    /* mobile equipment forced context deactivation */
  CGEREP_EVENT_NW_DETACH,   /* network forced detach */
  CGEREP_EVENT_ME_DETACH,   /* mobile equipment forced detach */
  CGEREP_EVENT_NW_CLASS,    /* network forced class change */
  CGEREP_EVENT_ME_CLASS,    /* mobile equipment forced class change */
  CGEREP_EVENT_NW_ACT,    /* network requested context activation */
  CGEREP_EVENT_ME_ACT    /* mobile equipment initiated context activation */
} T_CGEREP_EVENT;

typedef struct              /* parameter of unsolicited event: REJECT */
{
  T_PDP_TYPE        pdp_type;
  T_PDP_ADDRESS     pdp_addr;

} T_EVENT_REJECT;

typedef struct              /* parameter of unsolicited event: NW REACT, NW DEACT, ME DEACT */
{
  T_PDP_TYPE        pdp_type;
  T_PDP_ADDRESS     pdp_addr;
  SHORT             cid;

} T_EVENT_ACT;

typedef union
{
  T_EVENT_REJECT    reject;
  T_EVENT_ACT       act;
  T_CGCLASS_CLASS   mobile_class;

} T_CGEREP_EVENT_REP_PARAM;

/*---- %CGPCO -----------------------------------------------------*/

#define ACI_PCO_MAX_LEN                         251
#define ACI_PCO_CONTENTMASK_AUTH                0x00000001
#define ACI_PCO_CONTENTMASK_DNS1                0x00000002
#define ACI_PCO_CONTENTMASK_DNS2                0x00000004

#define ACI_PCO_CONFIG_PROT_PPP                 0

#define ACI_PCO_AUTH_PROT_PAP                   0xc023

#define ACI_PCO_PAP_OVERHEAD                    9
#define ACI_PCO_IPCP_OVERHEAD                   7
#define ACI_PCO_PAP_AUTH_REQ                    0x01
#define ACI_PCO_IPCP_PROT_MSB                   0x80
#define ACI_PCO_IPCP_PROT_LSB                   0x21
#define ACI_PCO_IPCP_CONF_REQ                   0x01
#define ACI_PCO_IPCP_CONF_ACK                   0x02
#define ACI_PCO_IPCP_CONF_NAK                   0x03
#define ACI_PCO_IPCP_TYPE_IP                    3
#define ACI_PCO_IPCP_TYPE_DNS1                  129
#define ACI_PCO_IPCP_TYPE_DNS2                  131
#define ACI_PCO_IPCP_LENGTH_IP                  6
#define ACI_PCO_IPCP_LENGTH_DNS1                6
#define ACI_PCO_IPCP_LENGTH_DNS2                6

typedef enum
{
  CGPCO_FORMAT_HEX = 0,
  CGPCO_FORMAT_ASCII
}T_ACI_CGPCO_FORMAT;

typedef enum
{
  CGPCO_MODE_SET_PCO = 0,
  CGPCO_MODE_QUERY_PCO
}T_ACI_CGPCO_MODE;


/*==== PROTOTYPES =================================================*/

/***  set commands  ***/
EXTERN T_ACI_RETURN sAT_PercentCGPCO (T_ACI_CMD_SRC srcId, 
                                      SHORT cid, USHORT protocol,
                                      CHAR *user, CHAR *pwd,CHAR *dns1, CHAR *dns2);
EXTERN T_ACI_RETURN qAT_PercentCGPCO ( UBYTE srcId, ULONG * gateway, ULONG * dns1,ULONG * dns2, USHORT cid);
EXTERN T_ACI_RETURN sAT_PlusCGDCONT ( T_ACI_CMD_SRC srcId, SHORT cid, T_GPRS_CONT_REC *inputCtxt);
EXTERN T_ACI_RETURN sAT_PlusCGQREQ  ( T_ACI_CMD_SRC srcId, SHORT cid ,T_QOS *qos);
EXTERN T_ACI_RETURN sAT_PlusCGQMIN  ( T_ACI_CMD_SRC srcId, SHORT cid ,T_QOS *qos);
EXTERN T_ACI_RETURN sAT_PlusCGATT   ( T_ACI_CMD_SRC srcId, T_CGATT_STATE state );
EXTERN T_ACI_RETURN sAT_PlusCGACT   ( T_ACI_CMD_SRC srcId, T_CGACT_STATE state, SHORT *cids );
EXTERN T_ACI_RETURN sAT_PlusCGDATA  ( T_ACI_CMD_SRC srcId, char *L2P, SHORT *cids );
EXTERN T_ACI_RETURN sAT_PlusCGPADDR ( T_ACI_CMD_SRC srcId, SHORT *cids, T_PDP_ADDRESS *pdp_adress );
EXTERN T_ACI_RETURN sAT_PlusCGAUTO  ( T_ACI_CMD_SRC srcId, T_CGAUTO_N n );
EXTERN T_ACI_RETURN sAT_PlusCGANS   ( T_ACI_CMD_SRC srcId, SHORT response, char *l2p, SHORT cid );
EXTERN T_ACI_RETURN sAT_PlusCGCLASS ( T_ACI_CMD_SRC srcId, T_CGCLASS_CLASS m_class );
EXTERN T_ACI_RETURN sAT_PlusCGEREP  ( T_ACI_CMD_SRC srcId, T_CGEREP_MODE mode, T_CGEREP_BFR bfr );
EXTERN T_ACI_RETURN sAT_PlusCGSMS   ( T_ACI_CMD_SRC srcId, T_CGSMS_SERVICE service );

EXTERN T_ACI_RETURN sAT_PercentCGAATT ( T_ACI_CMD_SRC srcId, T_CGAATT_ATTACH_MODE att_m, T_CGAATT_DETACH_MODE det_m );
EXTERN T_ACI_RETURN sAT_PercentCGMM ( T_ACI_CMD_SRC srcId, UBYTE cipher_on,
                                                           UBYTE tlli_handling );
EXTERN T_ACI_RETURN sAT_PercentSNCNT( T_ACI_CMD_SRC srcId, BOOL reset_counter );

EXTERN T_ACI_RETURN sAT_PercentCGPPP( T_ACI_CMD_SRC srcId,
                                      T_ACI_PPP_PROT protocol );
EXTERN T_ACI_RETURN sAT_PercentCGCLASS ( T_ACI_CMD_SRC srcId, T_PERCENT_CGCLASS m_class );
EXTERN T_ACI_RETURN qAT_PercentCGPPP( T_ACI_CMD_SRC srcId,
                                      T_ACI_PPP_PROT *protocol );

/***  read commands  ***/
EXTERN T_ACI_RETURN qAT_PlusCGDCONT ( T_ACI_CMD_SRC srcId, T_GPRS_CONT_REC (*Ctxt)[MAX_CID_PLUS_EINS], SHORT *cid );
EXTERN T_ACI_RETURN qAT_PlusCGQREQ  ( T_ACI_CMD_SRC srcId, T_QOS **qos, SHORT *cid);
EXTERN T_ACI_RETURN qAT_PlusCGQMIN  ( T_ACI_CMD_SRC srcId, T_QOS **qos, SHORT *cid);
EXTERN T_ACI_RETURN qAT_PlusCGATT   ( T_ACI_CMD_SRC srcId, T_CGATT_STATE *state );
EXTERN T_ACI_RETURN qAT_PlusCGACT   ( T_ACI_CMD_SRC srcId, BOOL  *states, SHORT *cid );
EXTERN T_ACI_RETURN qAT_PlusCGAUTO  ( T_ACI_CMD_SRC srcId, T_CGAUTO_N *n);
EXTERN T_ACI_RETURN qAT_PlusCGCLASS ( T_ACI_CMD_SRC srcId, T_CGCLASS_CLASS *m_class );
EXTERN T_ACI_RETURN qAT_PlusCGEREP  ( T_ACI_CMD_SRC srcId, T_CGEREP_MODE *mode, T_CGEREP_BFR *bfr );
EXTERN T_ACI_RETURN qAT_PlusCGREG   ( T_ACI_CMD_SRC srcId, T_CGREG_STAT *stat, USHORT *lac, USHORT *ci );
EXTERN T_ACI_RETURN qAT_PercentCGREG( T_ACI_CMD_SRC srcId, T_P_CGREG_STAT *stat, USHORT *lac, USHORT *ci );
EXTERN T_ACI_RETURN qAT_PlusCGSMS   ( T_ACI_CMD_SRC srcId, T_CGSMS_SERVICE *service );

EXTERN T_ACI_RETURN qAT_PercentCGAATT  ( T_ACI_CMD_SRC srcId, T_CGAATT_ATTACH_MODE *att_m, T_CGAATT_DETACH_MODE *det_m );
EXTERN T_ACI_RETURN qAT_PercentCGCLASS  ( T_ACI_CMD_SRC srcId, T_PERCENT_CGCLASS *m_class, T_PERCENT_CGCLASS *currentClass );

/***  test commands  ***/
EXTERN T_ACI_RETURN tAT_PlusCGPADDR ( T_ACI_CMD_SRC srcId, SHORT *cids);
EXTERN T_ACI_RETURN tAT_PlusCGSMS   ( T_ACI_CMD_SRC srcId, SHORT *service_list);


/*--------------- extension mechansim ----------------------------*/

/*--------------- constants --------------------------------------*/

/*--------------- configuration ----------------------------------*/

/*--------------- Extension Handler -> AT Interpreter ------------*/

/*--------------- AT Interpreter -> Extension Handler ------------*/

/*------- call-backs for MMI --------------------------------------*/

#ifdef CMH_F_C /*lint -save -e18 */ /* Turn off Lint errors for this "construct" */
EXTERN void rAT_PlusCGACT            ( void );
EXTERN void rAT_PlusCGDATA           ( void );
EXTERN void rAT_PlusCGANS            ( void );
EXTERN void rAT_PlusCGEREP           ( void );
EXTERN void rAT_PlusCGREG            ( void );
EXTERN void rAT_changedQOS           ( void );
EXTERN void rAT_PercentSNCNT         ( void );
EXTERN void rAT_PercentCGREG         ( void );
EXTERN void rAT_PercentCGEV           ( void );
/*lint -restore */
#else
EXTERN void rAT_PlusCGACT            ( SHORT link_id );
EXTERN void rAT_PlusCGDATA           ( SHORT link_id );
EXTERN void rAT_PlusCGANS            ( SHORT link_id );
EXTERN void rAT_PlusCGEREP           ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param );
EXTERN void rAT_PlusCGREG            ( T_CGREG_STAT stat, USHORT lac, USHORT ci );
EXTERN void rAT_changedQOS           ( SHORT cid, T_QOS *qos );
EXTERN void rAT_PercentSNCNT         ( UBYTE c_id,
                                       ULONG octets_uplink,
                                       ULONG octets_downlink,
                                       ULONG packets_uplink,
                                       ULONG packets_downlink );
EXTERN void rAT_PercentCGREG         ( T_P_CGREG_STAT stat, USHORT lac, USHORT ci, BOOL bActiveContext );
EXTERN void rAT_PercentCGEV           ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param );
#endif

/*--------------- call-backs for AT CI ----------------------------*/

#ifdef CMH_F_C
/*lint -save -e18 */ /* Turn off Lint errors for this "construct" */
EXTERN void rCI_PlusCGACT            ( void );
EXTERN void rCI_PlusCGDATA           ( void );
EXTERN void rCI_PlusCGANS            ( void );
EXTERN void rCI_PlusCGEREP           ( void );
EXTERN void rCI_PlusCGREG            ( void );
EXTERN void rCI_changedQOS           ( void );
EXTERN void rCI_PercentSNCNT         ( void );
EXTERN void rCI_PercentCGREG         ( void );
EXTERN void rCI_PercentCGEV           ( void );
/*lint -restore */
#else
EXTERN void rCI_PlusCGACT            ( SHORT link_id );
EXTERN void rCI_PlusCGDATA           ( SHORT link_id );
EXTERN void rCI_PlusCGANS            ( SHORT link_id );
EXTERN void rCI_PlusCGEREP           ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param );
EXTERN void rCI_PlusCGREG            ( T_CGREG_STAT stat, USHORT lac, USHORT ci );
EXTERN void rCI_changedQOS           ( SHORT cid, T_QOS *qos );
EXTERN void rCI_PercentSNCNT         ( UBYTE c_id,
                                       ULONG octets_uplink,
                                       ULONG octets_downlink,
                                       ULONG packets_uplink,
                                       ULONG packets_downlink );
EXTERN void rCI_PercentCGREG         ( T_P_CGREG_STAT stat, USHORT lac, USHORT ci, BOOL bActiveContext );
EXTERN void rCI_PercentCGEV           ( T_CGEREP_EVENT event, T_CGEREP_EVENT_REP_PARAM *param );
#endif

#endif
/*==== EOF ========================================================*/