Added deep copy logic for request data
[platform/core/connectivity/zigbee-manager.git] / common / include / zigbee_service_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_SERVICE_TYPE_H__
20 #define __ZIGBEE_SERVICE_TYPE_H__
21
22 #include <zigbee_types.h>
23
24 /**
25  * @brief Definition for service coex start structure.
26  * @since_tizen 3.0
27  */
28 typedef struct {
29         char channel; /**< Channel */
30 } ZigbeeServiceCoexStart_t;
31
32 /**
33  * @brief Definition for service permit join structure.
34  * @since_tizen 3.0
35  */
36 typedef struct {
37         char permit_join; /* 1 - Allow, 0 - Disallow */
38         int duration; /**< Duration */
39 } ZigbeeServicePermitJoin_t;
40
41 /**
42  * @brief Definition for service leave request structure.
43  * @since_tizen 3.0
44  */
45 typedef struct {
46         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
47         char remove_child; /* Remove child */
48         char rejoin; /**< Re-join */
49 } ZigbeeServiceLeaveRequest_t;
50
51 /**
52  * @brief Definition for service get endpoint list structure.
53  * @since_tizen 3.0
54  */
55 typedef struct {
56         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
57 } ZigbeeServiceGetEndpointList_t;
58
59 /**
60  * @brief Definition for service get cluster list structure.
61  * @since_tizen 3.0
62  */
63 typedef struct {
64         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
65         char endpoint; /**< Endpoint */
66 } ZigbeeServiceGetClusterList_t;
67
68 /**
69  * @brief Definition for service get node type structure.
70  * @since_tizen 3.0
71  */
72 typedef struct {
73         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
74 } ZigbeeServiceGetNodeType_t;
75
76 #endif /* __ZIGBEE_SERVICE_TYPE_H__ */