rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame^] | 1 | #ifndef __D2APN_PUBLIC_DEFS_H__ |
| 2 | #define __D2APN_PUBLIC_DEFS_H__ |
| 3 | |
| 4 | // Type denifitions |
| 5 | typedef enum |
| 6 | { |
| 7 | D2APN_RES_FAIL = -1, |
| 8 | D2APN_RES_NONE, |
| 9 | D2APN_RES_SUCC, |
| 10 | D2APN_RES_MAX = 0x7FFFFFFF |
| 11 | }d2apn_res_enum; |
| 12 | |
| 13 | // => MSG_ID_D2APN_SET_APNS_INFO_REQ |
| 14 | typedef enum |
| 15 | { |
| 16 | D2APN_SET_APNS_INFO_REQ_TYPE_NONE = 0x00, |
| 17 | D2APN_SET_APNS_INFO_REQ_TYPE_WR_THRU, |
| 18 | D2APN_SET_APNS_INFO_REQ_TYPE_CACHE, |
| 19 | D2APN_SET_APNS_INFO_REQ_TYPE_WR_BACK, |
| 20 | D2APN_SET_APNS_INFO_REQ_TYPE_MAX = 0x7F |
| 21 | }d2apn_set_apns_info_req_type_enum; |
| 22 | |
| 23 | // => MSG_ID_D2APN_SET_APNS_REQ |
| 24 | typedef enum |
| 25 | { |
| 26 | D2APN_SET_APNS_REQ_TYPE_NONE = 0x00, |
| 27 | D2APN_SET_APNS_REQ_TYPE_WR_THRU, |
| 28 | D2APN_SET_APNS_REQ_TYPE_CACHE, |
| 29 | D2APN_SET_APNS_REQ_TYPE_WR_BACK, |
| 30 | D2APN_SET_APNS_REQ_TYPE_MAX = 0x7F |
| 31 | }d2apn_set_apns_req_type_enum; |
| 32 | |
| 33 | // => MSG_ID_D2APN_RESET_APNS_INFO_REQ |
| 34 | typedef enum |
| 35 | { |
| 36 | D2APN_RESET_APNS_INFO_REQ_TYPE_NONE = 0x00, |
| 37 | D2APN_RESET_APNS_INFO_REQ_TYPE_WR_THRU, |
| 38 | D2APN_RESET_APNS_INFO_REQ_TYPE_CACHE, |
| 39 | D2APN_RESET_APNS_INFO_REQ_TYPE_WR_BACK, |
| 40 | D2APN_RESET_APNS_INFO_REQ_TYPE_MAX = 0x7F |
| 41 | }d2apn_reset_apns_info_req_type_enum; |
| 42 | |
| 43 | // => MSG_ID_D2APN_RESET_APNS_REQ |
| 44 | typedef enum |
| 45 | { |
| 46 | D2APN_RESET_APNS_REQ_TYPE_NONE = 0x00, |
| 47 | D2APN_RESET_APNS_REQ_TYPE_WR_THRU, |
| 48 | D2APN_RESET_APNS_REQ_TYPE_CACHE, |
| 49 | D2APN_RESET_APNS_REQ_TYPE_WR_BACK, |
| 50 | D2APN_RESET_APNS_REQ_TYPE_WR_THRU_ALL, |
| 51 | D2APN_RESET_APNS_REQ_TYPE_CACHE_ALL, |
| 52 | D2APN_RESET_APNS_REQ_TYPE_WR_BACK_ALL, |
| 53 | D2APN_RESET_APNS_REQ_TYPE_MAX = 0x7F |
| 54 | }d2apn_reset_apns_req_type_enum; |
| 55 | |
| 56 | // => MSG_ID_D2APN_GET_APNS_INFO_REQ |
| 57 | typedef enum |
| 58 | { |
| 59 | D2APN_GET_APNS_INFO_REQ_TYPE_NONE = 0x00, |
| 60 | D2APN_GET_APNS_INFO_REQ_TYPE_CACHE, |
| 61 | D2APN_GET_APNS_INFO_REQ_TYPE_MAX = 0x7F |
| 62 | }d2apn_get_apns_info_req_type_enum; |
| 63 | |
| 64 | // => MSG_ID_D2APN_GET_APNS_REQ |
| 65 | typedef enum |
| 66 | { |
| 67 | D2APN_GET_APNS_REQ_TYPE_NONE = 0x00, |
| 68 | D2APN_GET_APNS_REQ_TYPE_APN_IDX, |
| 69 | D2APN_GET_APNS_REQ_TYPE_OWNER, |
| 70 | D2APN_GET_APNS_REQ_TYPE_APN, |
| 71 | D2APN_GET_APNS_REQ_TYPE_CACHE, |
| 72 | D2APN_GET_APNS_REQ_TYPE_CACHE_APN_IDX = D2APN_GET_APNS_REQ_TYPE_CACHE, |
| 73 | D2APN_GET_APNS_REQ_TYPE_CACHE_OWNER, |
| 74 | D2APN_GET_APNS_REQ_TYPE_CACHE_APN, |
| 75 | D2APN_GET_APNS_REQ_TYPE_MAX = 0x7F |
| 76 | }d2apn_get_apns_req_type_enum; |
| 77 | |
| 78 | // => MSG_ID_D2APN_APNS_CHG_IND |
| 79 | typedef enum |
| 80 | { |
| 81 | D2APN_APNS_CHG_IND_TYPE_NONE = 0x00, |
| 82 | D2APN_APNS_CHG_IND_TYPE_INFO, // when D2APN_SET_APNS_INFO_REQ_TYPE_WR_THRU and D2APN_RESET_APNS_INFO_REQ_TYPE_WR_THRU |
| 83 | D2APN_APNS_CHG_IND_TYPE_APN_IDX, // when D2APN_SET_APNS_REQ_TYPE_WR_THRU and D2APN_RESET_APNS_REQ_TYPE_WR_THRU |
| 84 | D2APN_APNS_CHG_IND_TYPE_OWNER, // when xxx_WR_BACK_xxx and D2APN_RESET_APNS_REQ_TYPE_WR_THRU_ALL |
| 85 | D2APN_APNS_CHG_IND_TYPE_MAX = 0x7F |
| 86 | }d2apn_apns_chg_ind_type_enum; |
| 87 | |
| 88 | // Macro |
| 89 | // => Attribute |
| 90 | // => => Message |
| 91 | #define D2APN_ATTR_MSG_MASK (0x0000000F) |
| 92 | #define D2APN_ATTR_NO_MSG (0x00000000) |
| 93 | #define D2APN_ATTR_ILM_MSG (0x00000001) |
| 94 | #define D2APN_ATTR_CB_MSG (0x00000002) |
| 95 | // => => Relationship |
| 96 | #define D2APN_ATTR_RELP_MASK (0x000000F0) |
| 97 | #define D2APN_ATTR_NO_RELP (0x00000000) |
| 98 | #define D2APN_ATTR_ALIAS_RELP (0x00000010) |
| 99 | |
| 100 | // APIs |
| 101 | // => Attribute |
| 102 | #define D2APN_ATTR_IS_MSG(attr, msg_type) (((attr) & D2APN_ATTR_MSG_MASK) == (msg_type) ? 0 == 0 : 0 != 0) |
| 103 | |
| 104 | #endif |