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 char channel; /**< Channel */
33 } ZigbeeServiceCoexStart_t;
36 * @brief Definition for service permit join structure.
40 char permit_join; /* 1 - Allow, 0 - Disallow */
41 int duration; /**< Duration */
42 } ZigbeeServicePermitJoin_t;
45 * @brief Definition for service leave request structure.
49 char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
50 char remove_child; /* Remove child */
51 char rejoin; /**< Re-join */
52 } ZigbeeServiceLeaveRequest_t;
55 * @brief Definition for service get endpoint list structure.
59 char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
60 } ZigbeeServiceGetEndpointList_t;
63 * @brief Definition for service get cluster list structure.
67 char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
68 char endpoint; /**< Endpoint */
69 } ZigbeeServiceGetClusterList_t;
72 * @brief Definition for service get node type structure.
76 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 char enabled; /**< Enabled / Disabled result */
90 } ZigbeeServiceServiceState_t;
93 * @brief Definition for get network info structure.
97 int result; /**< Result */
98 char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
99 short node_id; /**< Node ID (an Network address) */
100 short pan_id; /**< PAN ID (an Network address) */
101 char channel; /**< Channel number */
102 char radio_tx_power; /**< Power (dBm) */
103 } ZigbeeServiceGetNetworkInfo_t;
106 * @brief Definition for service 'get_node_type' response.
110 int result; /**< Result */
111 char node_type; /**< Node Type */
112 } ZigbeeServiceServiceNodeType_t;
115 * @brief Definition for service get mac structure.
119 int result; /**< Result */
120 char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
121 } ZigbeeServiceGetMac_t;
123 /* --------------------------------------------------------------------------------------
125 * -------------------------------------------------------------------------------------*/
128 * @brief Definition for service 'form_network_done' response.
132 short pan_id; /**< PAN ID */
133 } ZigbeeServiceServiceFormNetworkDone_t;
136 * @brief Definition for service 'child_rejoined' response.
140 char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
141 } ZigbeeServiceServiceChildRejoined_t;
144 * @brief Definition for service 'child_left' response.
148 char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
149 char status; /**< status */
150 } ZigbeeServiceServiceChildLeft_t;
153 * @brief Definition for service 'leave_network_done' response.
157 short pan_id; /**< PAN ID */
158 } ZigbeeServiceServiceLeaveNetworkDone_t;
161 #endif /* __ZIGBEE_SERVICE_TYPE_H__ */