Added deep copy logic for request data
[platform/core/connectivity/zigbee-manager.git] / common / include / zigbee_mfglib_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_MFGLIB_CONTROL_TYPE_H__
20 #define __ZIGBEE_MFGLIB_CONTROL_TYPE_H__
21
22 #include <zigbee_types.h>
23
24 /**
25  * @brief Definition for mfglib control start structure.
26  * @since_tizen 3.0
27  */
28 typedef struct {
29         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
30         char mfglib_start; /**< 1 - Start, 0 - Stop */
31 } ZigbeeMfglibControlStart_t;
32
33 /**
34  * @brief Definition for  structure.
35  * @since_tizen 3.0
36  */
37 typedef struct {
38         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
39 } ZigbeeMfglibControlEnd_t;
40
41 /**
42  * @brief Definition for mfglib control start tone structure.
43  * @since_tizen 3.0
44  */
45 typedef struct {
46         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
47 } ZigbeeMfglibControlStartTone_t;
48
49 /**
50  * @brief Definition for mfglib control stop tone structure.
51  * @since_tizen 3.0
52  */
53 typedef struct {
54         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
55 } ZigbeeMfglibControlStopTone_t;
56
57 /**
58  * @brief Definition for mfglib control start stream structure.
59  * @since_tizen 3.0
60  */
61 typedef struct {
62         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
63 } ZigbeeMfglibControlStartStream_t;
64
65 /**
66  * @brief Definition for mfglib control stop stream structure.
67  * @since_tizen 3.0
68  */
69 typedef struct {
70         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
71 } ZigbeeMfglibControlStopStream_t;
72
73 /**
74  * @brief Definition for mfglib control send packet structure.
75  * @since_tizen 3.0
76  */
77 typedef struct {
78         char packet_content[ZIGBEE_MFGLIB_CONTROL_PACKET_CONTENT_LEN]; /**< Packet content */
79         int packet_length; /**< Packet length */
80 } ZigbeeMfglibControlSendPacket_t;
81
82 /**
83  * @brief Definition for mfglib control set channel structure.
84  * @since_tizen 3.0
85  */
86 typedef struct {
87         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
88         char channel; /**< Channel */
89 } ZigbeeMfglibControlSetChannel_t;
90
91 /**
92  * @brief Definition for mfglib control get channel structure.
93  * @since_tizen 3.0
94  */
95 typedef struct {
96         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
97 } ZigbeeMfglibControlGetChannel_t;
98
99 /**
100  * @brief Definition for mfglib control set power structure.
101  * @since_tizen 3.0
102  */
103 typedef struct {
104         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
105         short tx_power_mode; /**< TX power mode */
106         short power; /**< Power */
107 } ZigbeeMfglibControlSetPower_t;
108
109 /**
110  * @brief Definition for mfglib control get power structure.
111  * @since_tizen 3.0
112  */
113 typedef struct {
114         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
115 } ZigbeeMfglibControlGetPower_t;
116
117 /**
118  * @brief Definition for mfglib control set syn offset structure.
119  * @since_tizen 3.0
120  */
121 typedef struct {
122         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
123         char channel; /**< Test channel */
124 } ZigbeeMfglibControlSetSynOffset_t;
125
126 /**
127  * @brief Definition for mfglib control get syn offset structure.
128  * @since_tizen 3.0
129  */
130 typedef struct {
131         char packet[ZIGBEE_MFGLIB_CONTROL_PACKET_CONTENT_LEN]; /**< Packet */
132         int packet_length; /**< Packet length */
133         char link_quality; /**< Link quality */
134         char rssi; /**< RSSI */
135 } ZigbeeMfglibControlGetSynOffset_t;
136
137 /**
138  * @brief Definition for mfglib control RX start structure.
139  * @since_tizen 3.0
140  */
141 typedef struct {
142         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
143 } ZigbeeMfglibControlRxStart_t;
144
145 /**
146  * @brief Definition for mfglib control RX stop structure.
147  * @since_tizen 3.0
148  */
149 typedef struct {
150         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
151 } ZigbeeMfglibControlRxStop_t;
152
153 /**
154  * @brief Definition for mfglib control RX verify structure.
155  * @since_tizen 3.0
156  */
157 typedef struct {
158         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
159 } ZigbeeMfglibControlRxVerify_t;
160
161 /**
162  * @brief Definition for mfglib control get rssi structure.
163  * @since_tizen 3.0
164  */
165 typedef struct {
166         char eui64[ZIGBEE_EUI64_SIZE]; /**< EUI64 (an IEEE address) */
167 } ZigbeeMfglibControlGetRssi_t;
168
169 #endif /* __ZIGBEE_MFGLIB_CONTROL_TYPE_H__ */