1 #ifndef EEZE_UDEV_PRIVATE_H
2 #define EEZE_UDEV_PRIVATE_H
3 #include <Eeze.h>
4 
5 #define LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE 1
6 #include <libudev.h>
7 
8 #ifndef EEZE_UDEV_COLOR_DEFAULT
9 #define EEZE_UDEV_COLOR_DEFAULT EINA_COLOR_CYAN
10 #endif
11 extern int _eeze_udev_log_dom;
12 #ifdef ERR
13 #undef ERR
14 #endif
15 #ifdef INF
16 #undef INF
17 #endif
18 #ifdef WARN
19 #undef WARN
20 #endif
21 #ifdef DBG
22 #undef DBG
23 #endif
24 
25 #define DBG(...)   EINA_LOG_DOM_DBG(_eeze_udev_log_dom, __VA_ARGS__)
26 #define INF(...)    EINA_LOG_DOM_INFO(_eeze_udev_log_dom, __VA_ARGS__)
27 #define WARN(...) EINA_LOG_DOM_WARN(_eeze_udev_log_dom, __VA_ARGS__)
28 #define ERR(...)   EINA_LOG_DOM_ERR(_eeze_udev_log_dom, __VA_ARGS__)
29 
30 /* typedefs because I'm lazy */
31 typedef struct udev _udev;
32 typedef struct udev_list_entry _udev_list_entry;
33 typedef struct udev_device _udev_device;
34 typedef struct udev_enumerate _udev_enumerate;
35 typedef struct udev_monitor _udev_monitor;
36 
37 extern _udev *udev;
38 
39 _udev_device *_new_device(const char *syspath);
40 const char *_walk_children_get_attr(const char *syspath, const char *sysattr, const char *subsystem, Eina_Bool property);
41 Eina_Bool _walk_parents_test_attr(_udev_device *device, const char *sysattr, const char* value);
42 const char *_walk_parents_get_attr(_udev_device *device, const char *sysattr, Eina_Bool property);
43 Eina_List *_get_unlisted_parents(Eina_List *list, _udev_device *device);
44 _udev_device *_copy_device(_udev_device *device);
45 
46 #endif
47