2 * Copyright (c) 2016 Samsung Electronics Co., Ltd. All rights reserved.
4 * Contact: Suresh Kumar N (suresh.n@samsung.com)
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
10 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 #ifndef __ZIGBEE_SERVICE_TYPE_H__
20 #define __ZIGBEE_SERVICE_TYPE_H__
22 #include <zigbee_types.h>
24 /* --------------------------------------------------------------------------------------
26 * -------------------------------------------------------------------------------------*/
28 * @brief Definition for service coex start structure.
32 unsigned char channel; /**< Channel */
33 } ZigbeeServiceCoexStart_t;
36 * @brief Definition for service permit join structure.
40 unsigned char permit_join; /* 1 - Allow, 0 - Disallow */
41 int duration; /**< Duration */
42 } ZigbeeServicePermitJoin_t;
45 * @brief Definition for service leave request structure.
49 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
50 unsigned char remove_child; /* Remove child */
51 unsigned char rejoin; /**< Re-join */
52 } ZigbeeServiceLeaveRequest_t;
55 * @brief Definition for service get endpoint list structure.
59 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
60 } ZigbeeServiceGetEndpointList_t;
63 * @brief Definition for service get cluster list structure.
67 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
68 unsigned char endpoint; /**< Endpoint */
69 } ZigbeeServiceGetClusterList_t;
72 * @brief Definition for service get node type structure.
76 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
77 } ZigbeeServiceGetNodeType_t;
79 /* --------------------------------------------------------------------------------------
81 * -------------------------------------------------------------------------------------*/
84 * @brief Definition for service 'enabled' response.
88 int result; /**< Result */
89 unsigned char enabled; /**< Enabled / Disabled result */
90 } ZigbeeServiceServiceStateResp_t;
93 * @brief Definition for get network info structure.
97 int result; /**< Result */
98 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
99 unsigned short node_id; /**< Node ID (an Network address) */
100 unsigned short pan_id; /**< PAN ID (an Network address) */
101 unsigned char channel; /**< Channel number */
102 unsigned char radio_tx_power; /**< Power (dBm) */
103 } ZigbeeServiceGetNetworkInfoResp_t;
106 * @brief Definition for service 'get_node_type' response.
110 int result; /**< Result */
111 unsigned char node_type; /**< Node Type */
112 } ZigbeeServiceServiceNodeTypeResp_t;
115 * @brief Definition for service get mac structure.
119 int result; /**< Result */
120 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
121 } ZigbeeServiceGetMacResp_t;
124 * @brief Definition for service get details of device info structure.
128 unsigned short node_id; /**< Node ID (an Network address) */
129 unsigned char node_type; /**< Node Type (an Network address) */
130 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
131 unsigned char endpoint_count; /**< The number of endpoints */
132 unsigned char endpoints[ZIGBEE_MAX_ENDPOINTS]; /**< Endpoints */
133 } ZigbeeServiceGetDeviceInfoDetailResp_t;
136 * @brief Definition for service get device info structure.
140 int result; /**< Result */
141 int count; /**< The number of detail item */
142 ZigbeeServiceGetDeviceInfoDetailResp_t *list;
143 } ZigbeeServiceGetDeviceInfoResp_t;
146 * @brief Definition for service get endpoint list structure.
150 int result; /**< Result */
151 int endpoint_count; /**< The number of endpoints */
152 unsigned char endpoints[ZIGBEE_MAX_ENDPOINTS]; /**< Endpoints */
153 } ZigbeeServiceGetEndpointListResp_t;
156 * @brief Definition for service get cluster list structure.
160 int result; /**< Result */
161 int cluster_count; /**< The number of clusters */
162 unsigned char clusters[ZIGBEE_MAX_CLUSTERS]; /**< Clusters */
163 } ZigbeeServiceGetClusterListResp_t;
166 * @brief Definition for service get node type structure.
170 int result; /**< Result */
171 unsigned char node_type; /**< Node Type (an Network address) */
172 } ZigbeeServiceGetNodeTypeResp_t;
174 /* --------------------------------------------------------------------------------------
176 * -------------------------------------------------------------------------------------*/
179 * @brief Definition for service 'form_network_done' response.
183 unsigned short pan_id; /**< PAN ID */
184 } ZigbeeServiceServiceFormNetworkDone_t;
187 * @brief Definition for service 'child_joined' response.
191 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
192 int endpoint_count; /**< The number of endpoints */
193 unsigned char endpoints[ZIGBEE_MAX_ENDPOINTS]; /**< Endpoints */
194 unsigned short node_id; /**< Node ID (an Network address) */
195 } ZigbeeServiceServiceChildJoined_t;
198 * @brief Definition for service 'child_rejoined' response.
202 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
203 } ZigbeeServiceServiceChildRejoined_t;
206 * @brief Definition for service 'child_left' response.
210 unsigned char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
211 unsigned char status; /**< status */
212 } ZigbeeServiceServiceChildLeft_t;
215 * @brief Definition for service 'leave_network_done' response.
219 unsigned short pan_id; /**< PAN ID */
220 } ZigbeeServiceServiceLeaveNetworkDone_t;
223 #endif /* __ZIGBEE_SERVICE_TYPE_H__ */