device: Merge public api on Tizen 2.3 into tizen branch
[platform/core/api/device.git] / src / common.h
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __COMMON_H__
18 #define __COMMON_H__
19
20 #ifdef FEATURE_DEVICE_DLOG
21     #define LOG_TAG "SYSTEM_DEVICE"
22     #include <dlog.h>
23     #define _D(fmt, args...)    SLOGD(fmt, ##args)
24     #define _I(fmt, args...)    SLOGI(fmt, ##args)
25     #define _E(fmt, args...)    SLOGE(fmt, ##args)
26 #else
27     #define _D(x, ...)
28     #define _I(x, ...)
29     #define _E(x, ...)
30 #endif
31
32 #ifndef __CONSTRUCTOR__
33 #define __CONSTRUCTOR__ __attribute__ ((constructor))
34 #endif
35
36 #include "device-error.h"
37
38 static inline int errno_to_device_error(int err)
39 {
40         if (err == -ECOMM)
41                 return DEVICE_ERROR_PERMISSION_DENIED;
42         else if (err == -ENODEV || err == -ENOENT)
43                 return DEVICE_ERROR_NOT_SUPPORTED;
44         else if (err < 0)
45                 return DEVICE_ERROR_OPERATION_FAILED;
46
47         return DEVICE_ERROR_NONE;
48 }
49
50 #endif /* __COMMON_H__ */