blob: 11145c2308869828b4ec52f14b5ef9744086c68a [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) 2016
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#ifndef __D2RM_IWLAN_STRUCT_H__
37#define __D2RM_IWLAN_STRUCT_H__
38
39#include "kal_general_types.h"
40#include "kal_public_defs.h"
41#include "kal_public_api.h"
42#include "kal_trace.h"
43#include "sbp_public_utility.h"
44#include "ps_public_utility.h"
45#include "dhl_def.h"
46
47#include "sim_ps_struct.h"
48#include "pdn_public_defs.h"
49#include "iwlan_public_defs.h"
50
51typedef enum {
52 RPL_3GPP_RAT_ALL = 0x00,
53 RPL_3GPP_RAT_23G = 0x01,
54 RPL_3GPP_RAT_4G = 0x02,
55 RPL_3GPP_RAT_234G = 0x03,
56 RPL_3GPP_RAT_5G = 0x04,
57 RPL_3GPP_RAT_45G = 0x06,
58 RPL_3GPP_RAT_2345G = 0x07
59} rpl_3gpp_rat_specified_e;
60
61typedef enum {
62 NORMAL = 0,
63 WUIOFF
64} d2rm_iwlan_event_enum;
65
66typedef struct {
67 kal_uint8 rpl_eran[IWLAN_RAN_TYPE_CNT][RPL_RAN_PRIOR_MAX];
68 rpl_3gpp_rat_specified_e rpl_3gpp_rat_specified_initial;
69 rpl_3gpp_rat_specified_e rpl_3gpp_rat_specified_handover;
70 /* RPL param? */
71 d2rm_iwlan_event_enum event;
72 kal_bool cell_no_ps;
73} d2rm_iwlan_rpl_struct;
74
75typedef enum {
76 D2RM_PDN_STATUS_IDLE, // cur_ran must be NONE
77 D2RM_PDN_STATUS_SETUP, // PDN acting, start update RPL ind to D2
78 D2RM_PDN_STATUS_ACTIVE, // cur_ran must not be NONE
79 D2RM_PDN_STATUS_TEARDOWN, // PDN deacting, stop update RPL ind to D2
80
81 D2RM_PDN_STATUS_CNT
82} d2rm_pdn_status_e;
83
84
85
86
87/******************************************************************************/
88typedef struct {
89 LOCAL_PARA_HDR
90 kal_uint8 cid;
91 kal_uint32 sid; // session id
92
93 /* PDN attributes */
94 iwlan_ran_e setup_ran;
95 iwlan_pdn_apn_type_e type;
96
97 /* PDN status */
98 iwlan_ran_e cur_ran;
99 d2rm_pdn_status_e status;
100 kal_uint32 default_bid; // LTE: Default EBI, NR: Default QFI
101 kal_uint8 pdu_session_id; // LTE: 0, NR: PDU Session ID
102} d2rm_iwlan_pdn_info_ntf_struct;
103
104typedef struct {
105 LOCAL_PARA_HDR
106
107 kal_uint8 cid;
108} d2rm_iwlan_pdn_accsel_req_struct;
109
110typedef struct {
111 LOCAL_PARA_HDR
112
113 kal_uint8 cid;
114 kal_uint32 sid; // session id
115 d2rm_iwlan_rpl_struct rpl;
116} d2rm_iwlan_pdn_accsel_ind_struct;
117
118typedef struct {
119 LOCAL_PARA_HDR
120 kal_bool cell_available; //TRUE: cell is avilable, FALSE cell is not avilable
121
122} d2rm_iwlan_pdn_accsel_event_ind_struct;
123
124// for re-trigger RPL internally
125typedef struct {
126 LOCAL_PARA_HDR
127
128 kal_uint8 cid;
129 kal_uint32 ps_id;
130} d2rm_d2rm_pdn_accsel_ind_struct;
131
132typedef struct {
133 LOCAL_PARA_HDR
134
135 kal_uint8 cid;
136 kal_uint32 sid; // session id
137} d2rm_iwlan_pdn_accsel_rsp_struct;
138/******************************************************************************/
139
140
141#endif // __IWLAN_STRUCT_H__