1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
// *******************************************************************
//
// (c) Copyright Cisco 2000
// All Rights Reserved
//
// *******************************************************************
// *******************************************************************
//
// Version : 1.0
// Status : Under development
// File : MMTypes.h
// Author(s) : Bhava Nelakanti
// Create Date : 11-01-98
// Description : message and ie interface among Application (Layer 3)
// modules.
//
// *******************************************************************
#ifndef MMTypes_H
#define MMTypes_H
// *******************************************************************
// Include Files.
// *******************************************************************
// included L3 Message header for messages from other Layer 3 modules (CC, RR)
#include "JCC/JCCL3Msg.h"
// included MD and IRT headers for messages from MS
#include "ril3/ril3md.h"
// include Timer defs
#include "jcc/JCCTimer.h"
// include BSSGP defs
#include "bssgp/bssgp_api.h"
// *******************************************************************
// forward declarations.
// *******************************************************************
//typedefs
// Data Structures needed inside the MM Module
typedef enum {
MM_PROC_NULL = 0,
MM_PROC_LUDB = 1,
MM_PROC_MOB_ORIG = 2,
MM_PROC_MOB_TERM = 3
} MMProcedureType_t;
typedef enum {
// COMMON
MM_START = 0,
MM_CLEAR_REQ,
MM_CONN_EST,
MM_EMERGENCY,
// Ciphering Authentication
MM_CIPHER_CMD,
MM_AUTH_LOCUP,
MM_AUTH_ORIG,
MM_AUTH_TERM,
// LUDB OPERATION
MM_WAIT4REG,
MM_WAIT4UNREG,
MM_WAIT4SPI,
// MOB_ORIG
// MOB_TERM
MM_PAGE_REQ,
MM_HAND_REQ,
} MMState_t;
typedef struct {
MMProcedureType_t procType;
MMState_t mmState;
} MMProcedureData_t;
typedef struct {
T_CNI_LAPDM_OID oid;
T_CNI_LAPDM_SAPI sapi;
T_CNI_IRT_ID entryId;
MMProcedureData_t procData;
IntraL3PageRequest_t pageReq;
T_CNI_RIL3MM_MSG_CM_SERVICE_REQUEST cmServReq;
T_CNI_RIL3RRM_MSG_PAGING_RESPONSE pageRsp;
MSG_Q_ID ccQId; // added for handover request/resp
bool free;
JCCTimer *pageTimer;
JCCTimer *pageCCTimer;
JCCTimer *authTimer;
JCCTimer *identTimer;
T_CNI_RIL3_IE_MOBILE_ID mobileId; // add mobile Id . -gz
short ludbId; // add ludbaId index. -gz
short emerg_ludb;
short mmId2;
char lup_cksn;
unsigned long pagingTick;
unsigned long locupTick;
T_CNI_RIL3_CAUSE_VALUE cause;
//SMS <xxu:06-01-00> Begin
int hoConn;
//SMS <xxu:06-01-00> End
int pageRetries; // Count the number of page re-tries, max = 3.
unsigned long vblinkReqId; // VBLINK Page request ID shmin 08/02/01
//GPRS combined location update Begin
bool gsInitiated;
BSSGP_BVCI bvci;
//GPRS combined location update End
} MMEntry_t;
#endif // MMTypes_H
|