2.0 alpha
[platform/core/system/devman.git] / include / device_engine.h
1 /*
2  *  devman
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: DongGi Jang <dg0402.jang@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20 */
21
22
23
24 #ifndef __DEVICE_ENGINE_H__
25 #define __DEVICE_ENGINE_H__
26
27 #ifndef API
28 #define API __attribute__ ((visibility("default")))
29 #endif
30
31 #include <stdio.h>
32
33 #include "devlog.h"
34 #include "devman.h"
35
36 struct device {
37         devtype_t devtype;
38         char *devname;
39         int (*set_int) (int property, int val);
40         int (*get_int) (int property, int *val);
41         int (*probe) (void);
42         struct device *next;
43 };
44
45 void add_dev(struct device *dev);
46 struct device *find_device(struct device *root_dev, devtype_t devtype);
47 int set_devtype(char *devname, devtype_t devtype);
48 void reset_devtype();
49 void print_devices();
50
51 #endif          /* __DEVICE_ENGINE_H__ */