blob: 8d2b8e01e88803b7086ab516a66e3ddb862af674 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001#ifndef __D2APN_PUBLIC_DEFS_H__
2#define __D2APN_PUBLIC_DEFS_H__
3
4// Type denifitions
5typedef 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
14typedef 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
24typedef 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
34typedef 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
44typedef 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
57typedef 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
65typedef 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
79typedef 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