blob: a6c5a1a79e7092a63b33f38fa9e249ac25f31a5d [file] [log] [blame]
yu.dongc592bc72024-04-24 22:45:13 -07001/*****************************************************************************
2 *
3 * Copyright (c) 2019, MediaTek Inc. All rights reserved.
4 * This software/firmware and related documentation ("MediaTek Software") are
5 * protected under relevant copyright laws. The information contained herein is
6 * confidential and proprietary to MediaTek Inc. and/or its licensors. Except as
7 * otherwise provided in the applicable licensing terms with MediaTek Inc.
8 * and/or its licensors, any reproduction, modification, use or disclosure of
9 * MediaTek Software, and information contained herein, in whole or in part,
10 * shall be strictly prohibited.
11 *
12 *****************************************************************************/
13
rjw6c1fd8f2022-11-30 14:33:01 +080014#ifndef __D2APN_PUBLIC_DEFS_H__
15#define __D2APN_PUBLIC_DEFS_H__
16
17// Type denifitions
18typedef enum
19{
yu.dongc592bc72024-04-24 22:45:13 -070020 D2APN_RES_FAIL = -1,
21 D2APN_RES_NONE,
22 D2APN_RES_SUCC,
rjw6c1fd8f2022-11-30 14:33:01 +080023 D2APN_RES_MAX = 0x7FFFFFFF
24}d2apn_res_enum;
25
26// => MSG_ID_D2APN_SET_APNS_INFO_REQ
27typedef enum
28{
yu.dongc592bc72024-04-24 22:45:13 -070029 D2APN_SET_APNS_INFO_REQ_TYPE_NONE = 0x00,
30 D2APN_SET_APNS_INFO_REQ_TYPE_WR_THRU,
31 D2APN_SET_APNS_INFO_REQ_TYPE_CACHE,
32 D2APN_SET_APNS_INFO_REQ_TYPE_WR_BACK,
rjw6c1fd8f2022-11-30 14:33:01 +080033 D2APN_SET_APNS_INFO_REQ_TYPE_MAX = 0x7F
34}d2apn_set_apns_info_req_type_enum;
35
36// => MSG_ID_D2APN_SET_APNS_REQ
37typedef enum
38{
yu.dongc592bc72024-04-24 22:45:13 -070039 D2APN_SET_APNS_REQ_TYPE_NONE = 0x00,
40 D2APN_SET_APNS_REQ_TYPE_WR_THRU,
41 D2APN_SET_APNS_REQ_TYPE_CACHE,
42 D2APN_SET_APNS_REQ_TYPE_WR_BACK,
rjw6c1fd8f2022-11-30 14:33:01 +080043 D2APN_SET_APNS_REQ_TYPE_MAX = 0x7F
44}d2apn_set_apns_req_type_enum;
45
46// => MSG_ID_D2APN_RESET_APNS_INFO_REQ
47typedef enum
48{
yu.dongc592bc72024-04-24 22:45:13 -070049 D2APN_RESET_APNS_INFO_REQ_TYPE_NONE = 0x00,
50 D2APN_RESET_APNS_INFO_REQ_TYPE_WR_THRU,
51 D2APN_RESET_APNS_INFO_REQ_TYPE_CACHE,
52 D2APN_RESET_APNS_INFO_REQ_TYPE_WR_BACK,
rjw6c1fd8f2022-11-30 14:33:01 +080053 D2APN_RESET_APNS_INFO_REQ_TYPE_MAX = 0x7F
54}d2apn_reset_apns_info_req_type_enum;
55
56// => MSG_ID_D2APN_RESET_APNS_REQ
57typedef enum
58{
yu.dongc592bc72024-04-24 22:45:13 -070059 D2APN_RESET_APNS_REQ_TYPE_NONE = 0x00,
60 D2APN_RESET_APNS_REQ_TYPE_WR_THRU,
61 D2APN_RESET_APNS_REQ_TYPE_CACHE,
62 D2APN_RESET_APNS_REQ_TYPE_WR_BACK,
63 D2APN_RESET_APNS_REQ_TYPE_WR_THRU_ALL,
64 D2APN_RESET_APNS_REQ_TYPE_CACHE_ALL,
65 D2APN_RESET_APNS_REQ_TYPE_WR_BACK_ALL,
rjw6c1fd8f2022-11-30 14:33:01 +080066 D2APN_RESET_APNS_REQ_TYPE_MAX = 0x7F
67}d2apn_reset_apns_req_type_enum;
68
69// => MSG_ID_D2APN_GET_APNS_INFO_REQ
70typedef enum
71{
yu.dongc592bc72024-04-24 22:45:13 -070072 D2APN_GET_APNS_INFO_REQ_TYPE_NONE = 0x00,
73 D2APN_GET_APNS_INFO_REQ_TYPE_CACHE,
rjw6c1fd8f2022-11-30 14:33:01 +080074 D2APN_GET_APNS_INFO_REQ_TYPE_MAX = 0x7F
75}d2apn_get_apns_info_req_type_enum;
76
77// => MSG_ID_D2APN_GET_APNS_REQ
78typedef enum
79{
yu.dongc592bc72024-04-24 22:45:13 -070080 D2APN_GET_APNS_REQ_TYPE_NONE = 0x00,
81 D2APN_GET_APNS_REQ_TYPE_APN_IDX,
82 D2APN_GET_APNS_REQ_TYPE_OWNER,
83 D2APN_GET_APNS_REQ_TYPE_APN,
84 D2APN_GET_APNS_REQ_TYPE_CACHE,
85 D2APN_GET_APNS_REQ_TYPE_CACHE_APN_IDX = D2APN_GET_APNS_REQ_TYPE_CACHE,
86 D2APN_GET_APNS_REQ_TYPE_CACHE_OWNER,
87 D2APN_GET_APNS_REQ_TYPE_CACHE_APN,
rjw6c1fd8f2022-11-30 14:33:01 +080088 D2APN_GET_APNS_REQ_TYPE_MAX = 0x7F
89}d2apn_get_apns_req_type_enum;
90
91// => MSG_ID_D2APN_APNS_CHG_IND
92typedef enum
93{
yu.dongc592bc72024-04-24 22:45:13 -070094 D2APN_APNS_CHG_IND_TYPE_NONE = 0x00,
rjw6c1fd8f2022-11-30 14:33:01 +080095 D2APN_APNS_CHG_IND_TYPE_INFO, // when D2APN_SET_APNS_INFO_REQ_TYPE_WR_THRU and D2APN_RESET_APNS_INFO_REQ_TYPE_WR_THRU
96 D2APN_APNS_CHG_IND_TYPE_APN_IDX, // when D2APN_SET_APNS_REQ_TYPE_WR_THRU and D2APN_RESET_APNS_REQ_TYPE_WR_THRU
97 D2APN_APNS_CHG_IND_TYPE_OWNER, // when xxx_WR_BACK_xxx and D2APN_RESET_APNS_REQ_TYPE_WR_THRU_ALL
98 D2APN_APNS_CHG_IND_TYPE_MAX = 0x7F
99}d2apn_apns_chg_ind_type_enum;
100
101// Macro
102// => Attribute
103// => => Message
104#define D2APN_ATTR_MSG_MASK (0x0000000F)
105#define D2APN_ATTR_NO_MSG (0x00000000)
106#define D2APN_ATTR_ILM_MSG (0x00000001)
107#define D2APN_ATTR_CB_MSG (0x00000002)
108// => => Relationship
109#define D2APN_ATTR_RELP_MASK (0x000000F0)
110#define D2APN_ATTR_NO_RELP (0x00000000)
111#define D2APN_ATTR_ALIAS_RELP (0x00000010)
112
113// APIs
114// => Attribute
115#define D2APN_ATTR_IS_MSG(attr, msg_type) (((attr) & D2APN_ATTR_MSG_MASK) == (msg_type) ? 0 == 0 : 0 != 0)
116
117#endif