b28fb99aaa66db1b3087bfbfbbc0feb72f830127
[platform/core/connectivity/zigbee-manager.git] / common / include / zigbee_zdodev_control_type.h
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd. All rights reserved.
3  *
4  * Contact: Suresh Kumar N (suresh.n@samsung.com)
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 #ifndef __ZIGBEE_ZDODEV_CONTROL_TYPE_H__
20 #define __ZIGBEE_ZDODEV_CONTROL_TYPE_H__
21
22 /**
23  * @brief Definition for size of EUI64 (an IEEE address) in bytes (8).
24  * @since_tizen 3.0
25  */
26 #define ZIGBEE_EUI64_SIZE 8
27
28 /**
29  * @brief Definition for maximum size of Zdodev control user
30  * descriptor length in bytes (16).
31  * @since_tizen 3.0
32  */
33 #define ZIGBEE_ZDODEV_CONTROL_USER_DECRIPTOR_MAX_LEN 16
34
35 /**
36  * @brief Definition for Zdodev control network address request structure.
37  * @since_tizen 3.0
38  */
39 typedef struct {
40         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
41         char request_type; /**< Request type */
42         char start_index; /**< Start index */
43 } ZigbeeZdodevControlNwkAddrReq_t;
44
45 /**
46  * @brief Definition for Zdodev control matched descriptor request structure.
47  * @since_tizen 3.0
48  */
49 typedef struct {
50         short node_id; /**< Node ID */
51         short profile_id; /**< Profile ID */
52         char num_in_cl; /**< Number of int CL */
53         char *in_cl; /**< In CL */
54         char num_out_cl; /**< Number of out CL */
55         char *out_cl; /**< Out CL */
56         char request_type; /**< Request type */
57         char start_index; /**< Start index */
58 } ZigbeeZdodevControlMatchedDescriptorReq_t;
59
60 /**
61  * @brief Definition for Zdodev control IEEE address request structure.
62  * @since_tizen 3.0
63  */
64 typedef struct {
65         short node_id; /**< Node ID */
66 } ZigbeeZdodevControlIeeeAddrReq_t;
67
68 /**
69  * @brief Definition for Zdodev control active endpoint structure.
70  * @since_tizen 3.0
71  */
72 typedef struct {
73         short node_id; /**< Node ID */
74 } ZigbeeZdodevControlActiveEpReq_t;
75
76 /**
77  * @brief Definition for Zdodev control node descriptor request structure.
78  * @since_tizen 3.0
79  */
80 typedef struct {
81         short node_id; /**< Node ID */
82 } ZigbeeZdodevControlNodeDescriptorReq_t;
83
84 /**
85  * @brief Definition for Zdodev control power descriptor request structure.
86  * @since_tizen 3.0
87  */
88 typedef struct {
89         short node_id; /**< Node ID */
90 } ZigbeeZdodevControlPowerDescriptorReq_t;
91
92 /**
93  * @brief Definition for Zdodev control complex descriptor request structure.
94  * @since_tizen 3.0
95  */
96 typedef struct {
97         short node_id; /**< Node ID */
98 } ZigbeeZdodevControlComplexDescriptorReq_t;
99
100 /**
101  * @brief Definition for Zdodev control user descriptor request structure.
102  * @since_tizen 3.0
103  */
104 typedef struct {
105         short node_id; /**< Node ID */
106 } ZigbeeZdodevControlUserDescriptorReq_t;
107
108 /**
109  * @brief Definition for Zdodev control user descriptor set request structure.
110  * @since_tizen 3.0
111  */
112 typedef struct {
113         short node_id; /**< Node ID */
114         char user_descriptor_len; /**< User descriptor length */
115         char user_descriptor[ZIGBEE_ZDODEV_CONTROL_USER_DECRIPTOR_MAX_LEN];
116                 /**< User descriptor */
117 } ZigbeeZdodevControlUserDescriptorSetReq_t;
118
119 /**
120  * @brief Definition for Zdodev control device announce structure.
121  * @since_tizen 3.0
122  */
123 typedef struct {
124         short node_id; /**< Node ID */
125         char mac_addr[ZIGBEE_EUI64_SIZE]; /**< MAC address */
126         char capability; /**< Capability */
127 } ZigbeeZdodevControlDeviceAnnounce_t;
128
129 /**
130  * @brief Definition for Zdodev control simple descriptor request structure.
131  * @since_tizen 3.0
132  */
133 typedef struct {
134         short node_id; /**< Node ID */
135         char endpoint; /**< Endpoint */
136 } ZigbeeZdodevControlSimpleDescriptorReq_t;
137
138 /**
139  * @brief Definition for Zdodev control management LQI request structure.
140  * @since_tizen 3.0
141  */
142 typedef struct {
143         short node_id; /**< Node ID */
144         char start_index; /**< Start index */
145 } ZigbeeZdodevControlMgmtLqiReq_t;
146
147 /**
148  * @brief Definition for Zdodev control management RTG request structure.
149  * @since_tizen 3.0
150  */
151 typedef struct {
152         short node_id; /**< Node ID */
153         char start_index; /**< Start index */
154 } ZigbeeZdodevControlMgmtRtgReq_t;
155
156 /**
157  * @brief Definition for Zdodev control management bind request structure.
158  * @since_tizen 3.0
159  */
160 typedef struct {
161         short node_id; /**< Node ID */
162         char start_index; /**< Start index */
163 } ZigbeeZdodevControlMgmtBindReq_t;
164
165 /**
166  * @brief Definition for Zdodev control management permit join request structure.
167  * @since_tizen 3.0
168  */
169 typedef struct {
170         short addr; /**< Address */
171         char duration; /**< Duration */
172         char tc_significance; /**< TC significance */
173 } ZigbeeZdodevControlMgmtPermitJoinReq_t;
174
175 /**
176  * @brief Definition for Zdodev control network update request structure.
177  * @since_tizen 3.0
178  */
179 typedef struct {
180         short node_id; /**< Node ID */
181         unsigned int scan_channel; /**< Scan channel */
182         char scan_duration; /**< Scan duration */
183         char scan_count; /**< Scan count */
184         char network_update_id; /**< Network update ID */
185 } ZigbeeZdodevControlNwkUpdateReq_t;
186
187 /**
188  * @brief Definition for Zdodev control network descriptor request structure.
189  * @since_tizen 3.0
190  */
191 typedef struct {
192         short node_id; /**< Node ID */
193         unsigned int scan_channel; /**< Scan channel */
194         char scan_duration; /**< Scan duration */
195         short scan_count; /**< Scan count */
196         char start_index; /**< Start index */
197 } ZigbeeZdodevControlNwkDescriptorReq_t;
198
199 #endif /* __ZIGBEE_ZDODEV_CONTROL_TYPE_H__ */