blob: c3a7e44facbee2d6b302d1c9efceeed5ae0faf4c [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/******************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2013
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*******************************************************************************/
35
36/******************************************************************************
37 * Filename:
38 * --------------------------------------------------------
39 * lpp_msg_struct.h
40 *
41 * Project:
42 * --------------------------------------------------------
43 * LTE project
44 *
45 * Description:
46 * --------------------------------------------------------
47 * LTE Positioning Protocol - Message Structure Definition
48 *
49 * Author:
50 * --------------------------------------------------------
51 * -------
52 *
53 * --------------------------------------------------------
54 * $Log$
55 *
56 * 05 12 2021 jie-yu.wang
57 * [MOLY00628543] [A32 5G NA] request to fix OTDOA issue
58 *
59 * [SWRD][NR15.R3.MD700] OTDOA response
60 *
61 * 11 10 2020 jie-yu.wang
62 * [MOLY00589182] [Gen97][MP7][Memory reduction] Stage V - LTE POS preempt LTE/NR HARQ buffer
63 *
64 * [Interface][LPP].
65 *
66 * 11 29 2019 jie-yu.wang
67 * [MOLY00461947] [LPP] Patch back from 1001.DEV to VMOLY
68 * [SWRD] LPP patch back
69 *
70 * 06 20 2019 jie-yu.wang
71 * [MOLY00415205] [AGPS] [LBS] NR Neighbor cell information for SUPL
72 * [OA][LBS] SUPL Nbr Cell Interface.
73 *
74 * 06 12 2019 jie-yu.wang
75 * [MOLY00413168] [LPP] Inter RAT OTDOA modification for adding NRRC IND
76 * [OA][LPP] InterRAT OTDOA interface change for NRRC.
77 *
78 * 05 29 2019 jie-yu.wang
79 * [MOLY00394881] [LPP] Inter RAT OTDOA modification
80 * [OA][LPP] OTDOA RefCell Global ID.
81 *
82 * 05 15 2019 andrew.wu
83 * [MOLY00406240] [VGMM] DL NAS TRANSPORT with type multiple payload
84 * DL NAS TRANSPORT with type multiple payload.
85 *
86 * 03 28 2019 jie-yu.wang
87 * [MOLY00394881] [LPP] Inter RAT OTDOA modification
88 * [LPP] InterRAT OTDOA interface.
89 *
90 * 11 29 2018 roland.li
91 * [MOLY00363204] [Gen97] NR positioning interface check-in
92 * [LPP] 5G positioning interface.
93 *
94 * 02 05 2018 jie-yu.wang
95 * [MOLY00306235] [UMOLYE] LPP ASN Release 14 upgrade
96 * [LPP] R14 ASN upgrade.
97 *
98 * 12 01 2017 lawrence.chen
99 * [MOLY00292511] [Coverity Scanned Code Defect]CID:2540031 code defect happened in /mcu/l1core/modem/el1/el1c/meas/src/el1_lpp.c
100 * Coverity warning fix.
101 *
102 * 09 20 2017 lawrence.chen
103 * [MOLY00278366]LPP OTDOA new procedure architecture development.
104 *
105 * 07 07 2017 jie-yu.wang
106 * [MOLY00261827] [UMOYLA] LPPe development
107 * [LPP] LPPe code change check-in.
108 *
109 * 06 27 2016 jie-yu.wang
110 * [MOLY00183642] new task EL1_MPC definition for 6293
111 * (LPP) UMOLYA MessageID change.
112 *
113 * 01 14 2015 roland.li
114 * [MOLY00092193] [UMOLY][LPP]LPP R10R11 feature checkin
115 * .
116 *
117 * 01 13 2015 roland.li
118 * [MOLY00092193] [UMOLY][LPP]LPP R10R11 feature checkin
119 * .
120 *
121 * 10 08 2014 roland.li
122 * [MOLY00080296] [LPP] Always trun on LPP CP options for L1 stand alone build
123 * .
124 *
125 * 08 04 2014 doug.shih
126 * [MOLY00073990] [LPP CP] LPP code check-in for OTDOA feature
127 * .
128 *
129 *
130 *****************************************************************************/
131
132#ifndef _LPP_MSG_STRUCT_H
133#define _LPP_MSG_STRUCT_H
134
135#include "kal_public_api.h"
136#include "kal_public_defs.h"
137#include "kal_general_types.h"
138
139/*Always trun on LPP CP options for L1 stand alone build*/
140
141#include "lpp_msg_enum.h"
142#include "ps_public_struct.h" /* for L4C SS struct */
143#include "as2l4c_struct.h" /* for L4CPS NBR cell info */
144#include "mcd_l3_inc_struct.h" /* for PLMN id */
145#include "l3_inc_enums.h" /* for LCS/EMM enum */
146#include "l3_inc_local.h" /* for VGMM struct */
147
148/*****************************************************************************
149 * Macros Without Parameters
150 *****************************************************************************/
151
152
153/*****************************************************************************
154 * Macros With Parameters
155 *****************************************************************************/
156
157
158/*****************************************************************************
159 * Enums without tags
160 *****************************************************************************/
161
162
163/*****************************************************************************
164 * Type Definitions
165 *****************************************************************************/
166/* LPP -> ERRC */
167/* This structure for MSG_ID_LPP_EL1MPC_OTDOA_MEAS_REQ */
168typedef struct
169{
170 LOCAL_PARA_HDR
171 kal_uint16 transactionID;
172 kal_uint8 responseTime; /* [1..128], unit in seconds, for EL1 knowing about how long it will take for OTDOA measurement, but LPP still controls the response timer */
173} lpp_el1mpc_otdoa_meas_req_struct;
174
175typedef struct
176{
177 lpp_otdoa_prs_info_bandwidth_enum prsBandwidth;
178 kal_uint16 prsConfigIndex; /* [0..4095] */
179 lpp_otdoa_prs_info_num_dl_frame_enum numDLFrames;
180 kal_bool prsMutingInfoValid;
181 lpp_otdoa_prs_info_muting_po_enum prsMutingInfoType;
182 kal_uint16 prsMutingInfoBits; /* Position Occasion: PO-2: 2 bits, PO-4: 4 bits, PO-8: 8 bits, PO-16: 16 bits */
183} lpp_otdoa_prs_info;
184
185
186typedef struct
187{
188 kal_uint16 phyCellId; /* [0..503] */
189 kal_uint32 earfcn; /* [0..262143], 65535 is invalid to indicate ARFCN-ValueEUTRA-v9a0 present; LPP assign reference cell if received message IE does not present */
190 kal_bool isFourAntPortConfig; /* TRUE: 4 antenna ports for CRS are used in the assistance data reference cell, FALSE: 1 (or 2) antenna port(s) */
191 kal_bool isCPLengthExtended; /* TRUE: cyclic prefix length of PRS or CRS is extended, FALSE: cyclic prefix length is normal */
192 lpp_otdoa_prs_info prsInfo;
193 /* ECGI info */
194 kal_bool isRefGlobalCellIdValid; /*Indecate the validity of ECGI element, including plmnId and refCellId*/
195 plmn_id_struct plmnId;
196 kal_uint32 refCellId; /* eutra 28 bits */
197} lpp_otdoa_ref_cell_info_struct;
198
199
200typedef struct
201{
202 kal_uint16 phyCellId; /* [0..503] */
203 kal_uint32 earfcn; /* [0..262143], 65535 is invalid to indicate ARFCN-ValueEUTRA-v9a0 present; LPP assign reference cell if received message IE does not present */
204 kal_bool isCPLengthExtended; /* TRUE: cyclic prefix length of PRS or CRS is extended, FALSE: cyclic prefix length is normal */
205 kal_bool isFourAntPortConfig; /* TRUE: 4 antenna ports for CRS are used in the assistance data reference cell, FALSE: 1 (or 2) antenna port(s) */
206 lpp_otdoa_prs_info prsInfo;
207 kal_uint8 slotNumberOffset; /* [0..19] */
208 kal_uint16 prsSubFrameOffset; /* [0..1279] */
209 kal_uint16 expectedRSTD; /* [0..16383] */
210 kal_uint16 expectedRSTDUnc; /* [0..1023] */
211} lpp_otdoa_nbr_cell_info_struct;
212
213typedef struct
214{
215 /**
216 * Number of neighbor frequency layers
217 * - Range : 1 .. 3
218 */
219 kal_uint8 numCellInfo;
220 /**
221 * OTDOA assistant data neighbor cell for neighbor frequency layer
222 */
223 lpp_otdoa_nbr_cell_info_struct cellInfo[LPP_OTDOA_MAX_NBR_CELL_LIST_NUM];
224} lpp_otdoa_nbr_cell_info_list_struct;
225
226
227typedef struct
228{
229 kal_uint8 numFreqInfo;
230 lpp_otdoa_nbr_cell_info_list_struct freqInfo[LPP_OTDOA_MAX_NBR_CELL_FREQ_LAYER_NUM+1];
231} lpp_otdoa_nbr_freq_info_list_struct;
232
233typedef struct
234{
235 /**
236 * OTDOA assistant data reference cell received from location server. LPP shall ensure all IEs are present when sending it to ERRC/EL1.
237 */
238 lpp_otdoa_ref_cell_info_struct refCellInfo;
239 /**
240 * OTDOA assistant data neighbor cell received from location server. LPP shall ensure all IEs are present when sending it to ERRC/EL1.
241 */
242 lpp_otdoa_nbr_freq_info_list_struct nbrCellInfo;
243} lpp_otdoa_assist_data_struct;
244
245
246/* This structure for MSG_ID_LPP_ERRC_OTDOA_MEAS_REQ */
247typedef struct
248{
249 LOCAL_PARA_HDR
250 kal_uint16 transactionID;
251 kal_bool isResponseTimeEarlyFixValid;
252 kal_uint8 earlyResponseTime; /* [1..128], unit in seconds, for EL1 knowing about how long it will take for OTDOA measurement early Fix, but LPP still controls the response timer */
253 kal_uint8 responseTime; /* [1..128], unit in seconds, for EL1 knowing about how long it will take for OTDOA measurement, but LPP still controls the response timer */
254 lpp_otdoa_assist_data_struct otdoaAssistData;
255 kal_uint32 responseTimeinTick;
256} lpp_errc_otdoa_meas_req_struct;
257
258/* This structure for MSG_ID_LPP_NRRC_OTDOA_MEAS_REQ */
259typedef struct
260{
261 LOCAL_PARA_HDR
262 kal_uint16 transactionID;
263 kal_bool isResponseTimeEarlyFixValid;
264 kal_uint8 earlyResponseTime; /* [1..128], unit in seconds, for EL1 knowing about how long it will take for OTDOA measurement early Fix, but LPP still controls the response timer */
265 kal_uint8 responseTime; /* [1..128], unit in seconds, for EL1 knowing about how long it will take for OTDOA measurement, but LPP still controls the response timer */
266 lpp_otdoa_assist_data_struct otdoaAssistData;
267 kal_bool isNrLteSfnOffsetValid; /* The validity of following parameter nrLteSfnOffset. */
268 kal_uint16 nrLteSfnOffset; /* [0...1023], specifies the SFN offset between the serving NR cell and the assistance data reference cell. */
269 kal_bool isNrLteFineTimingOffsetValid; /* The validity of following parameter NrLteFineTimingOffset. */
270 kal_uint8 NrLteFineTimingOffset; /* [0...19],unit in 0.5ms. specifies the frame boundary offset between the NR serving cell and the LTE assistance data reference cell. */
271 kal_uint32 responseTimeinTick;
272} lpp_nrrc_otdoa_meas_req_struct;
273
274
275/* This structure for MSG_ID_LPP_ERRC_OTDOA_MEAS_ABORT_REQ */
276typedef struct
277{
278 LOCAL_PARA_HDR
279 kal_uint16 transactionID;
280} lpp_errc_otdoa_meas_abort_req_struct;
281
282/* This structure for MSG_ID_LPP_NRRC_OTDOA_MEAS_ABORT_REQ */
283typedef struct
284{
285 LOCAL_PARA_HDR
286 kal_uint16 transactionID;
287} lpp_nrrc_otdoa_meas_abort_req_struct;
288
289/* This structure for MSG_ID_LPP_ERRC_ECID_MEAS_REQ */
290typedef struct
291{
292 LOCAL_PARA_HDR
293 kal_uint16 transactionID;
294 kal_bool rsrpReq;
295 kal_bool rsrqReq;
296 kal_bool ueRxTxTimeDiffReq;
297 kal_bool ueRxTxSupTDD;
298} lpp_errc_ecid_meas_req_struct;
299
300/* MSG_ID_LPP_ERRC_IRAT_ECID_MEAS_REQ */
301typedef struct
302{
303 LOCAL_PARA_HDR
304 kal_uint16 transactionID;
305} lpp_errc_irat_ecid_meas_req_struct;
306
307/* This structure for MSG_ID_LPP_ERRC_ECID_MEAS_ABORT_REQ */
308/* the conditions LPP will send abort request to ERRC:
309 * (1) network abort ECID session or LPP protocol error
310 * (2) ECID response timer expiry
311 */
312typedef struct
313{
314 LOCAL_PARA_HDR
315 kal_uint16 transactionID;
316} lpp_errc_ecid_meas_abort_req_struct;
317
318/* This structure for MSG_ID_LPP_ERRC_SRB_STATUS_REQ */
319typedef struct
320{
321 LOCAL_PARA_HDR
322 kal_bool active; /*to request ERRC to send SRB2 status, TRUE: send, FALSE: stop*/
323} lpp_errc_srb_status_req_struct;
324
325/* ERRC -> LPP */
326/**
327 * error-Resolution
328 * This field specifies the resolution R used in error-Value field. The encoding on two bits is as follows:
329 * '00' 5 meters
330 * '01' 10 meters
331 * '10' 20 meters
332 * '11' 30 meters.
333 *
334 * error-Value
335 * This field specifies the target device"s best estimate of the uncertainty of the OTDOA (or TOA) measurement.
336 * The encoding on five bits is as follows:
337 * '00000' 0 to (R*1-1) meters
338 * '00001' R*1 to (R*2-1) meters
339 * '00010' R*2 to (R*3-1) meters
340 * ¡K
341 * '11111' R*31 meters or more;
342 * where R is the resolution defined by error-Resolution field.
343 * e.g. , R=20 m corresponds to 0-19 m, 20-39 m,¡K,620+ m.
344 *
345 * error-NumSamples
346 * If the error-Value field provides the sample uncertainty of the OTDOA (or TOA) measurement, this field specifies how
347 * many measurements have been used by the target device to determine this (i.e., sample size). Following 3 bit
348 * encoding is used:
349 * "000" Not the baseline metric
350 * '001' 5-9
351 * '010' 10-14
352 * '011' 15-24
353 * '100' 25-34
354 * '101' 35-44
355 * '110' 45-54
356 * '111' 55 or more.
357 * In case of the value "000", the error-Value field contains the target device"s best estimate of the uncertainty of the
358 * OTDOA (or TOA) measurement not based on the baseline metric. E.g., other measurements such as signal-to-noise-
359 * ratio or signal strength can be utilized to estimate the error-Value.
360 * If this field is absent, the value of this field is "000".
361 */
362typedef struct
363{
364 kal_uint8 errResolution; /* 2 bits, refer description as above */
365 kal_uint8 errValue; /* 5 bits, refer description as above */
366 kal_bool errSamplesValid;
367 kal_uint8 errSamples; /* 3 bits, refer description as above */
368} lpp_otdoa_measured_quality_struct;
369
370typedef struct
371{
372 /**
373 * This field specifies the physical cell identity of the neighbour cell for which the RSTDs are provided.
374 * - Range : 0 .. 503
375 */
376 kal_uint16 phyCellId;
377 /**
378 * This field specifies the EARFCN of the neighbour cell used for the RSTD measurements.
379 * - Range : 0 .. 262143
380 */
381 EARFCN earfcn;
382 /**
383 * This field specifies the relative timing difference between this neighbour cell and the RSTD reference cell, as defined
384 * in TS 36.214. Mapping of the measured quantity is defined as in TS 36.133 subclause 9.1.10.3.
385 * - Range : 0 .. 12711
386 */
387 kal_uint16 rstd;
388 /**
389 * This field specifies the target device"s best estimate of the quality of the measured rstd.
390 */
391 lpp_otdoa_measured_quality_struct rstdQuality;
392} lpp_otdoa_measured_nbr_cell_struct;
393
394typedef struct
395{
396 /**
397 * This field specifies the SFN of the RSTD reference cell containing the starting subframe of the PRS positioning
398 * occasion if PRS are available on the RSTD reference cell, or subframe of the CRS for RSTD measurements if PRS
399 * are not available on the RSTD reference cell during which the most recent neighbour cell RSTD measurement was
400 * performed.
401 * - 10 bits
402 */
403 kal_uint16 sysFrameNumber;
404 /**
405 * This field specifies the physical cell identity of the RSTD reference cell.
406 * - Range : 0 .. 503
407 */
408 kal_uint16 refPhyCellId;
409 /**
410 * This field specifies the EARFCN of the RSTD reference cell.
411 * - Range : 0 .. 262143
412 */
413 EARFCN refEarfcn;
414 /**
415 * This field specifies the presence of optional IE "referenceQuality".
416 */
417 kal_bool refQualityValid;
418 /**
419 * This field specifies the target device's best estimate of the quality of the TOA measurement from the RSTD reference
420 * cell, T_SubframeRxRef , where T_SubframeRxRef is the time of arrival of the signal from the RSTD reference cell.
421 */
422 lpp_otdoa_measured_quality_struct refQuality;
423 /**
424 * Number of neighbour cells
425 * - Range : 1 .. 24
426 */
427 kal_uint8 numMeasuredNbrCell;
428 /**
429 * This list contains the measured RSTD values for neighbour cells together with the RSTD reference cell, along with
430 * quality for each measurement.
431 */
432 lpp_otdoa_measured_nbr_cell_struct measuredNbrCell[LPP_OTDOA_MAX_NBR_CELL_LIST_NUM_TOTAL];
433} lpp_otdoa_measured_info_struct;
434
435/* This structure for MSG_ID_LPP_ERRC_OTDOA_MEAS_CNF */
436typedef struct
437{
438 LOCAL_PARA_HDR
439 kal_uint16 transactionID;
440 lpp_otdoa_req_stop_enum status; //request perform status, (0: succ; 1: reStarts for SUS; 2: reStart with longer time period)
441 kal_bool isEarlyFixReport;
442 lpp_otdoa_measured_info_struct measurementResult;
443} lpp_errc_otdoa_meas_cnf_struct;
444
445/* This structure for MSG_ID_LPP_NRRC_OTDOA_MEAS_IND */
446typedef struct
447{
448 LOCAL_PARA_HDR
449 kal_uint16 transactionID;
450 kal_bool isEarlyFixReport;
451 lpp_otdoa_measured_info_struct measurementResult;
452} lpp_nrrc_otdoa_meas_ind_struct;
453
454/* This structure for MSG_ID_LPP_NRRC_OTDOA_MEAS_CNF */
455typedef struct
456{
457 LOCAL_PARA_HDR
458 kal_uint16 transactionID;
459 lpp_otdoa_req_stop_enum status; //request perform status, (0: succ; 1: reStarts for SUS; 2: reStart with longer time period)
460 lpp_otdoa_measured_info_struct measurementResult;
461} lpp_nrrc_otdoa_meas_cnf_struct;
462
463typedef struct
464{
465 kal_uint16 phyCellId; /* [0..503] */
466 kal_bool plmnIdValid;
467 plmn_id_struct plmnId;
468 kal_bool cellIdValid;
469 kal_uint32 cellId; /* eutra 28 bits */
470 kal_uint32 earfcn; /* [0..262143], 65535 is invalid to indicate ARFCN-ValueEUTRA-v9a0 present */
471 kal_bool sysFrameNumberValid;
472 kal_uint16 sysFrameNumber; /* 10 bits */
473 /* measured result */
474 kal_bool rsrpResultValid;
475 kal_uint8 rsrpResult; /* [0..97] */
476 kal_bool rsrqResultValid;
477 kal_uint8 rsrqResult; /* [0..34] */
478 kal_bool ueRxTxTimeDiffValid;
479 kal_uint16 ueRxTxTimeDiff; /* [0..4095] */
480} lpp_ecid_cell_measured_info_struct;
481
482typedef struct
483{
484 /**
485 * Please note that the interface here is more straight-forward than ECID-SignalMeasurementInformation IE of LPP Message:
486 * when ERRC has measured primary cell, the result will place in primaryCellMeasuredResult;
487 * (if serving (primary) cell is not present, the whole measured info should be ignored since result will be error)
488 *
489 * in addition to primary cell, if ERRC also measured neighbor cells, they will be put into the array of measuredCellResult[],
490 * and the number of neighbor will specify in numMeasuredCellResult
491 */
492 lpp_ecid_cell_measured_info_struct primaryCellMeasuredResult;
493 kal_uint8 numMeasuredCellResult;
494 lpp_ecid_cell_measured_info_struct measuredCellResult[LPP_ECID_MAX_MEASURED_CELL_INFO_NUM];
495} lpp_ecid_measured_info_struct;
496
497/* This structure for MSG_ID_LPP_ERRC_ECID_MEAS_CNF */
498typedef struct
499{
500 LOCAL_PARA_HDR
501 kal_uint16 transactionID;
502 lpp_loc_ecid_result_enum result;
503 lpp_ecid_measured_info_struct measurementResult;
504} lpp_errc_ecid_meas_cnf_struct;
505
506typedef struct
507{
508 kal_uint8 numMeasuredCellResult;
509 lpp_ecid_cell_measured_info_struct measuredCellResult[LPP_ECID_MAX_MEASURED_CELL_INFO_NUM];
510} lpp_irat_ecid_measured_info_struct;
511
512/* MSG_ID_LPP_ERRC_IRAT_ECID_MEAS_CNF */
513typedef struct
514{
515 LOCAL_PARA_HDR
516 kal_uint16 transactionID;
517 kal_bool measurementResultValid;
518 lpp_irat_ecid_measured_info_struct measurementResult;
519} lpp_errc_irat_ecid_meas_cnf_struct;
520
521/* This structure for MSG_ID_LPP_ERRC_SRB_STATUS_IND */
522typedef struct
523{
524 LOCAL_PARA_HDR
525 kal_bool isConnected; /*TRUE: SRB2 active, FALSE: not sent*/
526} lpp_errc_srb_status_ind_struct;
527
528
529/* This structure for MSG_ID_LPP_SASE_START_OTDOA_MEAS_CNF */
530typedef struct
531{
532 LOCAL_PARA_HDR
533 kal_bool isAllowedOtdoa;
534} lpp_sase_start_otdoa_meas_cnf_struct;
535
536
537
538/* LPP -> EMM (EVAL) */
539/* This structure for MSG_ID_LPP_EVAL_DATA_REQ */
540typedef struct
541{
542 LOCAL_PARA_HDR
543 kal_uint16 mui;
544 /* for Additional Information IE of UL generic NAS transport */
545 kal_uint8 addInfoLen;
546 kal_uint8 *addInfo;
547 /* raw data is in peer buffer */
548} lpp_eval_data_req_struct;
549
550/* This structure for MSG_ID_LPP_EVAL_DATA_IND */
551typedef struct
552{
553 LOCAL_PARA_HDR
554 /* for Additional Information IE of DL generic NAS transport */
555 kal_uint8 addInfoLen;
556 kal_uint8 *addInfo;
557 lcs_emm_status_enum result;
558 /* raw data is in peer buffer */
559} lpp_eval_data_ind_struct;
560
561/* This structure for MSG_ID_LPP_EVAL_DATA_CNF */
562typedef struct
563{
564 LOCAL_PARA_HDR
565 lcs_emm_status_enum result;
566 kal_uint16 mui;
567} lpp_eval_data_cnf_struct;
568
569/* This structure for MSG_ID_EVAL_LPP_NW_RESET_UE_STORED_POS_INFO_IND */
570typedef struct
571{
572 LOCAL_PARA_HDR
573 ue_pos_tech_enum pos_tech;
574} eval_lpp_nw_reset_ue_stored_pos_info_ind_struct;
575
576
577/* This structure for MSG_ID_ETC_LPP_NW_RESET_UE_STORED_POS_INFO_IND */
578typedef struct
579{
580 LOCAL_PARA_HDR
581 ue_pos_tech_enum pos_tech;
582} etc_lpp_nw_reset_ue_stored_pos_info_ind_struct;
583
584
585/* LPP <-- VGMM */
586/* This structure for MSG_ID_LPP_VGMM_DATA_IND */
587typedef struct
588{
589 LOCAL_PARA_HDR
590 /* for Additional Information IE of DL generic NAS transport */
591 kal_uint8 addInfoLen;
592 kal_uint8 *addInfo;
593 lcs_vgmm_status_enum result;
594 kal_uint8 no_optional_ie;
595 vgmm_payload_opt_ie_struct optional_ie[MAX_NUM_OF_OPT_IE_MULTI];
596 /* raw data is in peer buffer */
597} lpp_vgmm_data_ind_struct;
598
599/* This structure for MSG_ID_LPP_VGMM_DATA_CNF */
600typedef struct
601{
602 LOCAL_PARA_HDR
603 kal_uint8 serial_num;
604 lcs_vgmm_status_enum result;
605} lpp_vgmm_data_cnf_struct;
606
607/* LPP --> VGMM */
608/* This structure for MSG_ID_LPP_VGMM_DATA_REQ */
609typedef struct
610{
611 LOCAL_PARA_HDR
612 kal_uint8 serial_num;
613 /* for Additional Information IE of UL generic NAS transport */
614 kal_uint8 addInfoLen;
615 kal_uint8 *addInfo;
616 /* raw data is in peer buffer */
617} lpp_vgmm_data_req_struct;
618
619
620#endif /* _LPP_MSG_STRUCT_H */