yu.dong | c592bc7 | 2024-04-24 22:45:13 -0700 | [diff] [blame^] | 1 | /***************************************************************************** |
| 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 | |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 14 | #ifndef __D2APN_PUBLIC_DEFS_H__ |
| 15 | #define __D2APN_PUBLIC_DEFS_H__ |
| 16 | |
| 17 | // Type denifitions |
| 18 | typedef enum |
| 19 | { |
yu.dong | c592bc7 | 2024-04-24 22:45:13 -0700 | [diff] [blame^] | 20 | D2APN_RES_FAIL = -1, |
| 21 | D2APN_RES_NONE, |
| 22 | D2APN_RES_SUCC, |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 23 | D2APN_RES_MAX = 0x7FFFFFFF |
| 24 | }d2apn_res_enum; |
| 25 | |
| 26 | // => MSG_ID_D2APN_SET_APNS_INFO_REQ |
| 27 | typedef enum |
| 28 | { |
yu.dong | c592bc7 | 2024-04-24 22:45:13 -0700 | [diff] [blame^] | 29 | 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, |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 33 | D2APN_SET_APNS_INFO_REQ_TYPE_MAX = 0x7F |
| 34 | }d2apn_set_apns_info_req_type_enum; |
| 35 | |
| 36 | // => MSG_ID_D2APN_SET_APNS_REQ |
| 37 | typedef enum |
| 38 | { |
yu.dong | c592bc7 | 2024-04-24 22:45:13 -0700 | [diff] [blame^] | 39 | 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, |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 43 | D2APN_SET_APNS_REQ_TYPE_MAX = 0x7F |
| 44 | }d2apn_set_apns_req_type_enum; |
| 45 | |
| 46 | // => MSG_ID_D2APN_RESET_APNS_INFO_REQ |
| 47 | typedef enum |
| 48 | { |
yu.dong | c592bc7 | 2024-04-24 22:45:13 -0700 | [diff] [blame^] | 49 | 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, |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 53 | D2APN_RESET_APNS_INFO_REQ_TYPE_MAX = 0x7F |
| 54 | }d2apn_reset_apns_info_req_type_enum; |
| 55 | |
| 56 | // => MSG_ID_D2APN_RESET_APNS_REQ |
| 57 | typedef enum |
| 58 | { |
yu.dong | c592bc7 | 2024-04-24 22:45:13 -0700 | [diff] [blame^] | 59 | 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, |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 66 | D2APN_RESET_APNS_REQ_TYPE_MAX = 0x7F |
| 67 | }d2apn_reset_apns_req_type_enum; |
| 68 | |
| 69 | // => MSG_ID_D2APN_GET_APNS_INFO_REQ |
| 70 | typedef enum |
| 71 | { |
yu.dong | c592bc7 | 2024-04-24 22:45:13 -0700 | [diff] [blame^] | 72 | D2APN_GET_APNS_INFO_REQ_TYPE_NONE = 0x00, |
| 73 | D2APN_GET_APNS_INFO_REQ_TYPE_CACHE, |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 74 | D2APN_GET_APNS_INFO_REQ_TYPE_MAX = 0x7F |
| 75 | }d2apn_get_apns_info_req_type_enum; |
| 76 | |
| 77 | // => MSG_ID_D2APN_GET_APNS_REQ |
| 78 | typedef enum |
| 79 | { |
yu.dong | c592bc7 | 2024-04-24 22:45:13 -0700 | [diff] [blame^] | 80 | 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, |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 88 | D2APN_GET_APNS_REQ_TYPE_MAX = 0x7F |
| 89 | }d2apn_get_apns_req_type_enum; |
| 90 | |
| 91 | // => MSG_ID_D2APN_APNS_CHG_IND |
| 92 | typedef enum |
| 93 | { |
yu.dong | c592bc7 | 2024-04-24 22:45:13 -0700 | [diff] [blame^] | 94 | D2APN_APNS_CHG_IND_TYPE_NONE = 0x00, |
rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 95 | 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 |