FreeCalypso > hg > freecalypso-sw
diff gsm-fw/g23m-aci/aci/psa_gmm.h @ 775:eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 12 Oct 2014 01:45:14 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/g23m-aci/aci/psa_gmm.h Sun Oct 12 01:45:14 2014 +0000 @@ -0,0 +1,177 @@ +/* ++----------------------------------------------------------------------------- +| 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 : Definitions for the protocol stack adapter +| GPRS Mobility Management ( GMM ). ++----------------------------------------------------------------------------- +*/ + +#ifdef GPRS + +#ifndef PSA_GMM_H +#define PSA_GMM_H + + +/************************************************************************ +** GMM PRIMITIVE TRACE ** +************************************************************************/ + +#define GMM_PRIMITIVE_TRACES GMM_PRIMITIVE_TRACES +//#define GMM_PRIMITIVE_TRACES_ADVANCED GMM_PRIMITIVE_TRACES_ADVANCED + +/************************************************************************ +** switching on of and mode over above mentioned defines ** +** ----------------------------------------------------- ** +** advanced means: a short string output of the parameter ** +** ** +** without advanced: only numbers ** +************************************************************************/ + +#ifdef GMM_PRIMITIVE_TRACES_ADVANCED + +#define PARAMETER_STRING_1 "%s: %s" +#define PARAMETER_STRING_2 "%s: %s %s" + +extern char* dbg_attachType(UBYTE attach_type); +extern char* dbg_detachType(UBYTE detach_type); +extern char* dbg_mobileClass(UBYTE mobile_class); +extern char* dbg_searchRunning(UBYTE search_running) +extern char* dbg_cellState(UBYTE cell_state) + +#else + +# define PARAMETER_STRING_1 "%d" +# define PARAMETER_STRING_2 "%d %d" + +# define dbg_attachType +# define dbg_detachType +# define dbg_mobileClass +# define dbg_searchRunning +# define dbg_cellState + +#endif /* GMM_PRIMITIVE_TRACES_ADVANCED */ + +#if defined GMM_PRIMITIVE_TRACES +# define GMM_PRIM_TRACE_1(a,b) TRACE_EVENT_P1(PARAMETER_STRING_1, b) +# define GMM_PRIM_TRACE_2(a,b,c) TRACE_EVENT_P2(PARAMETER_STRING_2, b, c) + +#elif defined GMM_PRIMITIVE_TRACES_ADVANCED +# define GMM_PRIM_TRACE_1(a,b) TRACE_EVENT_P2(PARAMETER_STRING_1, a, b) +# define GMM_PRIM_TRACE_2(a,b,c) TRACE_EVENT_P3(PARAMETER_STRING_2, a, b, c) + +#else +# define GMM_PRIM_TRACE_1(a,b) +# define GMM_PRIM_TRACE_2(a,b,c) +#endif /* GMM_PRIMITIVE_TRACES || GMM_PRIMITIVE_TRACES_ADVANCED */ + +/************************************************************************ +** GMM PRIMITIVE TRACE ** +************************************************************************/ + + +/*==== CONSTANTS ==================================================*/ +#define INVLD_PLMN (0xFF) /* marks an invalid PLMN */ +#define ATTACH_TYPE_DETACHED 0 + +typedef enum /* PSA notification events */ +{ + GMM_NTF_ATT_CNF = 0, /* the attach was successful */ + GMM_NTF_ATT_REJ, /* the attach has failed */ + GMM_NTF_DET_CNF, /* the network confirmed the detach */ + GMM_NTF_DET_IND, /* A network initiated detach */ + GMM_NTF_PLMN_IND, /* indicate a PLMN list */ + GMM_NTF_SUSP_IND, /* */ + GMM_NTF_RES_IND, /* */ + GMM_NTF_INFO_IND, /* transmit information */ + GMM_NTF_MAX /* maximum MM notification event */ + +} T_GMM_NTF; /* finished */ + +typedef enum /* test parameter identifier */ +{ + GMM_OFF = 0, /* the */ + GMM_DETACHED, /* detached */ + GMM_ATTACHED, /* attached */ + GMM_ATTACHING, /* will be attached */ + GMM_DETACHING, /* will be detached */ + GMM_SUSPENTED /* suspented */ + +} T_GMM_ATTACH_STATE; + +/*==== TYPES ======================================================*/ + +typedef struct GMMShrdParm +{ + /* state parameter */ + UBYTE mobile_class; /* 0: A 1: B 2: C 3: CG 4: CC */ + UBYTE service_mode; + + /* set parameter */ + UBYTE requested_mobile_class; /* 0: A 1: B 2: C 3: CG 4: CC */ + + /* answer parameter */ + UBYTE gprs_status[MAX_PLMN_ID]; /* 0 - 2: which the PLMN supports */ + UBYTE last_attach_type; + UBYTE current_attach_type; + UBYTE requested_attach_type; + + /* GPRS registration status parameters */ + T_CGREG_STAT cgreg_stat; /* +CGREG status */ + T_P_CGREG_STAT p_cgreg_stat; /* %CGREG status */ + USHORT lac; /* current cell coordinates */ + USHORT cid; + T_ACI_P_CREG_GPRS_IND gprs_indicator; /* %CREG gprs indicator */ + UBYTE gprs_call_killer; /* This paramter indicates whether the detach is initiated + by user / not. */ + UBYTE rt; +} T_GMM_SHRD_PRM; + +/*==== PROTOTYPES =================================================*/ + +EXTERN void psaGMM_Init (UBYTE auto_attach, UBYTE auto_detach, UBYTE mobile_class ); +EXTERN void psaGMM_NetworkRegistrationStatus ( ULONG prim, void* para); + +EXTERN void psaGMM_Attach ( UBYTE mobile_class, UBYTE attach_type, UBYTE service_mode ); +EXTERN void psaGMM_Detach ( UBYTE detach_type ); +EXTERN void psaGMM_Net_Req ( void ); +EXTERN void psaGMM_Plmn_res ( UBYTE mobile_class, UBYTE attach_type, T_plmn *plmn ); +EXTERN void psaGMM_Plmn_mode_req ( UBYTE net_selection_mode ); +EXTERN void psaGMM_Config_req( UBYTE cipher_on, UBYTE tlli_handling ); + +/*==== EXPORT =====================================================*/ + +#ifdef PSA_GMMF_C + +GLOBAL T_GMM_SHRD_PRM gmmShrdPrm; + +GLOBAL UBYTE default_mobile_class = GMMREG_CLASS_BG; +GLOBAL T_CGAATT_ATTACH_MODE automatic_attach_mode; +GLOBAL T_CGAATT_DETACH_MODE automatic_detach_mode; + +#else + +EXTERN T_GMM_SHRD_PRM gmmShrdPrm; + +EXTERN UBYTE default_mobile_class; +EXTERN T_CGAATT_ATTACH_MODE automatic_attach_mode; +EXTERN T_CGAATT_DETACH_MODE automatic_detach_mode; + +#endif /* PSA_GMMF_C */ + +#endif /* PSA_GMM_H */ + +#endif /* GPRS */ +/*==== EOF =======================================================*/