FreeCalypso > hg > tcs211-c139
comparison g23m/condat/ms/src/aci/psa_mm.h @ 0:509db1a7b7b8
initial import: leo2moko-r1
| author | Space Falcon <falcon@ivan.Harhan.ORG> |
|---|---|
| date | Mon, 01 Jun 2015 03:24:05 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:509db1a7b7b8 |
|---|---|
| 1 /* | |
| 2 +----------------------------------------------------------------------------- | |
| 3 | Project : GSM-PS (6147) | |
| 4 | Modul : PSA_MM | |
| 5 +----------------------------------------------------------------------------- | |
| 6 | Copyright 2002 Texas Instruments Berlin, AG | |
| 7 | All rights reserved. | |
| 8 | | |
| 9 | This file is confidential and a trade secret of Texas | |
| 10 | Instruments Berlin, AG | |
| 11 | The receipt of or possession of this file does not convey | |
| 12 | any rights to reproduce or disclose its contents or to | |
| 13 | manufacture, use, or sell anything it may describe, in | |
| 14 | whole, or in part, without the specific written consent of | |
| 15 | Texas Instruments Berlin, AG. | |
| 16 +----------------------------------------------------------------------------- | |
| 17 | Purpose : Definitions for the protocol stack adapter | |
| 18 | Mobility Management ( MM ) | |
| 19 +----------------------------------------------------------------------------- | |
| 20 */ | |
| 21 | |
| 22 #ifndef PSA_MM_H | |
| 23 #define PSA_MM_H | |
| 24 | |
| 25 | |
| 26 /*==== CONSTANTS ==================================================*/ | |
| 27 #define VLD_PLMN (0x01) /* marks a valid PLMN */ | |
| 28 #define INVLD_PLMN (0xFF) /* marks an invalid PLMN */ | |
| 29 #define INVLD_TZ (0xFF) /* marks an invalid time zone */ | |
| 30 | |
| 31 #define DEF_REG_MODE (MODE_AUTO) /* default registration mode */ | |
| 32 | |
| 33 #define TEST_STR_LEN (80) /* maximum length of test parameter string */ | |
| 34 | |
| 35 #define NO_ENTRY (-1) /* not a valid entry */ | |
| 36 | |
| 37 typedef enum /* registration status */ | |
| 38 { | |
| 39 NO_VLD_RS = 0, /* not a valid registration status */ | |
| 40 RS_NO_SRV, /* registration status no service */ | |
| 41 RS_LMTD_SRV, /* registration status limited service */ | |
| 42 RS_FULL_SRV /* registration status full service */ | |
| 43 } T_MM_RGST; | |
| 44 | |
| 45 /*==== TYPES ======================================================*/ | |
| 46 | |
| 47 /* | |
| 48 * Compare this with the similiar struct T_pnn in psa_sim.h | |
| 49 */ | |
| 50 typedef struct _T_pnn_name | |
| 51 { | |
| 52 T_plmn plmn; /* serving network PLMN */ | |
| 53 USHORT lac; /* serving network LAC */ | |
| 54 UBYTE long_len; /* length of operator long name */ | |
| 55 UBYTE long_ext_dcs; /* octet 3 of IEI */ | |
| 56 UBYTE long_name [MAX_LONG_OPER_LEN-1]; /* long name for operator */ | |
| 57 UBYTE shrt_len; /* length of operator short name */ | |
| 58 UBYTE shrt_ext_dcs; /* octet 3 of IEI */ | |
| 59 UBYTE shrt_name [MAX_SHRT_OPER_LEN-1]; /* short name for operator */ | |
| 60 UBYTE pnn_rec_num; /* the PNN record this data is read from */ | |
| 61 struct _T_pnn_name* next; /* pointer to next pnn in linked list */ | |
| 62 } T_pnn_name; | |
| 63 | |
| 64 typedef struct T_COPN_VAR | |
| 65 { | |
| 66 SHORT Start_Count; | |
| 67 }T_COPN_VAR; | |
| 68 | |
| 69 typedef struct MMShrdParm | |
| 70 { | |
| 71 UBYTE owner; /* identifies the used set */ | |
| 72 T_plmn slctPLMN; /* selected PLMN */ | |
| 73 USHORT srchRslt; /* network search result */ | |
| 74 USHORT deregCs; /* deregistration cause from NW */ | |
| 75 UBYTE nrgCs; /* deregistration cause from ME */ | |
| 76 UBYTE regStat; /* registration status */ | |
| 77 T_ACI_COPS_MOD COPSmode; /* registration mode in COPS type */ | |
| 78 UBYTE regMode; /* registration mode */ | |
| 79 BOOL regModeAutoBack; /* TRUE if AT+COPS=4 and manual mode */ | |
| 80 T_plmn PLMNLst[MAX_PLMN_ID]; /* list of found PLMN */ | |
| 81 USHORT LACLst[MAX_PLMN_ID]; /* LAC list (for EONS)*/ | |
| 82 UBYTE FRBLst[MAX_PLMN_ID]; /* list of forbidden status */ | |
| 83 T_plmn usedPLMN; /* PLMN in use */ | |
| 84 T_plmn ActingHPLMN; /* Acting HPLMN*/ | |
| 85 U16 lac; /* current lac */ | |
| 86 U16 cid; /* current cell id */ | |
| 87 T_ACI_CREG_STAT creg_status; /* current registration status GSM */ | |
| 88 UBYTE tz; /* time zone */ | |
| 89 T_pnn_name PNNLst; /* PLMN Network Name Linked List (for EONS)*/ | |
| 90 BYTE pnn_nr[MAX_PLMN_ID]; /* PLMN list and PNN record number assocation */ | |
| 91 BYTE pnn_read_cnt; /* counter for PNN SIM reading */ | |
| 92 UBYTE regModeBeforeAbort; /* This variable is added to keep track of actual registration mode. | |
| 93 This is used to reset mode in case AT+COPS command is aborted*/ | |
| 94 T_ACI_COPS_MOD COPSmodeBeforeAbort; | |
| 95 T_COPN_VAR COPN_VAR[OWN_MAX]; /* holds start count for various sources */ | |
| 96 } T_MM_SHRD_PRM; | |
| 97 | |
| 98 /*==== PROTOTYPES =================================================*/ | |
| 99 | |
| 100 #if !defined (DTI)|| !defined(GPRS) | |
| 101 GLOBAL SHORT psaMM_Registrate ( void ); | |
| 102 GLOBAL SHORT psaMM_DeRegistrate( void ); | |
| 103 GLOBAL SHORT psaMM_NetSrch ( void ); | |
| 104 GLOBAL SHORT psaMM_NetSel ( void ); | |
| 105 GLOBAL SHORT psaMM_SetRegMode ( UBYTE mode ); | |
| 106 | |
| 107 #endif /* !DTI */ | |
| 108 | |
| 109 void psaMM_Init ( void ); | |
| 110 void psaMM_CpyPLMNLst ( T_plmn * pPLMNLst, UBYTE * pFRBLst, USHORT * pLACLst ); | |
| 111 void psaMM_ClrPLMNLst ( void ); | |
| 112 | |
| 113 #ifdef TRACING | |
| 114 void psaMM_shrPrmDump ( void ); | |
| 115 #endif /* TRACING */ | |
| 116 | |
| 117 /*==== EXPORT =====================================================*/ | |
| 118 | |
| 119 #ifdef PSA_MMF_C | |
| 120 | |
| 121 GLOBAL T_MM_SHRD_PRM mmShrdPrm; | |
| 122 | |
| 123 #else | |
| 124 | |
| 125 EXTERN T_MM_SHRD_PRM mmShrdPrm; | |
| 126 | |
| 127 #endif /* PSA_MMF_C */ | |
| 128 | |
| 129 | |
| 130 | |
| 131 #endif /* PSA_MM_H */ | |
| 132 | |
| 133 /*==== EOF =======================================================*/ |
