Implement ZCL Level Control cluster
[platform/core/connectivity/zigbee-manager.git] / common / include / zigbee_zcl_level_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_ZCL_LEVEL_CONTROL_TYPE_H__
20 #define __ZIGBEE_ZCL_LEVEL_CONTROL_TYPE_H__
21
22 #include <zigbee_types.h>
23
24 /**
25  * @brief Definition for ZCL level control move to level structure.
26  * @since_tizen 3.0
27  */
28 typedef struct {
29         short node_id; /**< Node ID */
30         char endpoint; /**< Endpoint */
31         char level; /**< Level */
32         short transition; /**< Transition time */
33 } ZigbeeZclLevelControlMoveToLevel_t;
34
35 /**
36  * @brief Definition for ZCL level control move structure.
37  * @since_tizen 3.0
38  */
39 typedef struct {
40         short node_id; /**< Node ID */
41         char endpoint; /**< Endpoint */
42         char move_mode; /**< Move mode */
43         char rate; /**< Rate of movement */
44 } ZigbeeZclLevelControlMove_t;
45
46 /**
47  * @brief Definition for ZCL level control step structure.
48  * @since_tizen 3.0
49  */
50 typedef struct {
51         short node_id; /**< Node ID */
52         char endpoint; /**< Endpoint */
53         char step_mode; /**< Step mode */
54         char step_size; /**< Step size */
55         short transition_time; /**< Transition time */
56 } ZigbeeZclLevelControlStep_t;
57
58 /**
59  * @brief Definition for ZCL level control move to level with on/off structure.
60  * @since_tizen 3.0
61  */
62 typedef struct {
63         short node_id; /**< Node ID */
64         char endpoint; /**< Endpoint */
65         char level; /**< Level */
66         short transition; /**< Transition time */
67 } ZigbeeZclLevelControlMoveToLevelWithOnOff_t;
68
69 /**
70  * @brief Definition for ZCL level control move with on/off  structure.
71  * @since_tizen 3.0
72  */
73 typedef struct {
74         short node_id; /**< Node ID */
75         char endpoint; /**< Endpoint */
76         char move_mode; /**< Move mode */
77         char rate; /**< Rate of movement */
78 } ZigbeeZclLevelControlMoveWithOnOff_t;
79
80 /**
81  * @brief Definition for ZCL level control step with on/off structure.
82  * @since_tizen 3.0
83  */
84 typedef struct {
85         short node_id; /**< Node ID */
86         char endpoint; /**< Endpoint */
87         char step_mode; /**< Step mode */
88         char step_size; /**< Step size */
89         short transition_time; /**< Transition time */
90 } ZigbeeZclLevelControlStepWithOnOff_t;
91
92 /**
93  * @brief Definition for ZCL level control stop structure.
94  * @since_tizen 3.0
95  */
96 typedef struct {
97         short node_id; /**< Node ID */
98         char endpoint; /**< Endpoint */
99 } ZigbeeZclLevelControlStop_t;
100
101 #endif /* __ZIGBEE_ZCL_LEVEL_CONTROL_TYPE_H__ */