1eb60cc6508174fddf5ca84c59cd14361e22072a
[platform/core/connectivity/zigbee-manager.git] / zigbee-daemon / zigbee-lib / include / zblib.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_LIB_H__
20 #define __ZIGBEE_LIB_H__
21
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include <string.h>
25
26 #include <glib.h>
27
28 #include <zblib_log.h>
29 #include <zblib_common.h>
30
31 #include <zigbee_alarm_type.h>
32 #include <zigbee_custom_type.h>
33 #include <zigbee_door_lock_type.h>
34 #include <zigbee_fan_control_type.h>
35 #include <zigbee_level_control_type.h>
36 #include <zigbee_mfglib_control_type.h>
37 #include <zigbee_on_off_type.h>
38 #include <zigbee_service_type.h>
39 #include <zigbee_thermostat_type.h>
40 #include <zigbee_zclbasic_control_type.h>
41 #include <zigbee_zclglobal_control_type.h>
42 #include <zigbee_zclias_control_type.h>
43 #include <zigbee_zclidentify_control_type.h>
44 #include <zigbee_zcl_color_type.h>
45 #include <zigbee_zcl_group_type.h>
46 #include <zigbee_zcl_poll_control_type.h>
47 #include <zigbee_zcl_scene_type.h>
48 #include <zigbee_zdodev_control_type.h>
49 #include <zigbee_zdo_bind_type.h>
50
51 #define NOT_USED(var) ((var) = (var))
52
53 /**< ZigBee module typedefs */
54 typedef struct zblib_service_type ZigBeeService;
55 typedef struct zblib_plugin_type ZigBeePlugin;
56 typedef struct zblib_driver_type ZigBeeDriver;
57 typedef struct zblib_service_interface_type ZigBeeServiceInterface;
58 typedef struct zblib_request_type ZigBeeRequest;
59
60 /**< ZigBee driver types */
61 typedef enum {
62         ZBLIB_DRIVER_TYPE_NONE, /**< None */
63         ZBLIB_DRIVER_TYPE_ALARM, /**< Alarm */
64         ZBLIB_DRIVER_TYPE_CUSTOM, /**< Custom */
65         ZBLIB_DRIVER_TYPE_DOOR_LOCK, /**< Door lock */
66         ZBLIB_DRIVER_TYPE_FAN_CONTROL, /**< Fan control */
67         ZBLIB_DRIVER_TYPE_LEVEL_CONTROL, /**< Level control */
68         ZBLIB_DRIVER_TYPE_MFGLIB_CONTROL, /**< Mfglib control */
69         ZBLIB_DRIVER_TYPE_ON_OFF, /**< On Off */
70         ZBLIB_DRIVER_TYPE_SERVICE, /**< Service */
71         ZBLIB_DRIVER_TYPE_THERMOSTAT, /**< Thermostat */
72         ZBLIB_DRIVER_TYPE_ZCLBASIC_CONTROL, /**< Zclbasic control */
73         ZBLIB_DRIVER_TYPE_ZCLGLOBAL_CONTROL, /**< Zclglobal control */
74         ZBLIB_DRIVER_TYPE_ZCLIAS_CONTROL, /**< Zclias control */
75         ZBLIB_DRIVER_TYPE_ZCLIDENTIFY_CONTROL, /**< Zclidentify control */
76         ZBLIB_DRIVER_TYPE_ZCL_COLOR, /**< Zcl color */
77         ZBLIB_DRIVER_TYPE_ZCL_GROUP, /**< Zcl group */
78         ZBLIB_DRIVER_TYPE_ZCL_POLL_CONTROL, /**< Zcl poll control */
79         ZBLIB_DRIVER_TYPE_ZCL_SCENE, /**< Zcl scene */
80         ZBLIB_DRIVER_TYPE_ZDODEV_CONTROL, /**< Zdodev control */
81         ZBLIB_DRIVER_TYPE_ZDO_BIND, /**< Zdo bind */
82 } ZblibDriverType_e;
83
84 #endif /* __ZIGBEE_LIB_H__ */