chiark / gitweb /
use libudev code, unify logging, pass udev context around everywhere
[elogind.git] / udev / lib / libudev-private.h
index 8f7e247f58fae3d4833cee77b4da8c6fef374592..ef26ec7e111b31783b92c5c2aa3b0d4eb9d9ef90 100644 (file)
 #ifndef _LIBUDEV_PRIVATE_H_
 #define _LIBUDEV_PRIVATE_H_
 
 #ifndef _LIBUDEV_PRIVATE_H_
 #define _LIBUDEV_PRIVATE_H_
 
+#include "config.h"
+
+#include <syslog.h>
 #include "libudev.h"
 #include "../udev.h"
 
 #include "libudev.h"
 #include "../udev.h"
 
-struct udev {
-       int refcount;
-       void (*log_fn)(struct udev *udev,
-                      int priority, const char *file, int line, const char *fn,
-                      const char *format, va_list args);
-};
-
-struct udev_device {
-       int refcount;
-       struct udev *udev;
-       struct udevice *udevice;
-};
-
 #ifdef USE_LOG
 #ifdef USE_LOG
-#define log_dbg(udev, arg...) \
+#ifdef USE_DEBUG
+#define dbg(udev, arg...) \
        udev_log(udev, LOG_DEBUG, __FILE__, __LINE__, __FUNCTION__, ## arg)
        udev_log(udev, LOG_DEBUG, __FILE__, __LINE__, __FUNCTION__, ## arg)
+#else
+#define dbg(format, arg...) do { } while (0)
+#endif /* USE_DEBUG */
 
 
-#define log_info(udev, arg...) \
+#define info(udev, arg...) \
        udev_log(udev, LOG_INFO, __FILE__, __LINE__, __FUNCTION__, ## arg)
 
        udev_log(udev, LOG_INFO, __FILE__, __LINE__, __FUNCTION__, ## arg)
 
-#define log_err(udev, arg...) \
+#define err(udev, arg...) \
        udev_log(udev, LOG_ERR, __FILE__, __LINE__, __FUNCTION__, ## arg)
        udev_log(udev, LOG_ERR, __FILE__, __LINE__, __FUNCTION__, ## arg)
+#else
+#define dbg(format, arg...) do { } while (0)
+#define info(format, arg...) do { } while (0)
+#define err(format, arg...) do { } while (0)
+#endif
 
 
+/* libudev */
 void udev_log(struct udev *udev,
              int priority, const char *file, int line, const char *fn,
              const char *format, ...)
              __attribute__ ((format(printf, 6, 7)));
 void udev_log(struct udev *udev,
              int priority, const char *file, int line, const char *fn,
              const char *format, ...)
              __attribute__ ((format(printf, 6, 7)));
-#else
-static inline void udev_log(struct udev *udev,
-             int priority, const char *file, int line, const char *fn,
-             const char *format, ...)
-             __attribute__ ((format(printf, 6, 7))) {}
-#endif
+extern struct udev_device *device_init(struct udev *udev);
+extern const char *udev_get_rules_path(struct udev *udev);
+extern int udev_get_run(struct udev *udev);
+
+/* libudev-device */
+extern int device_set_devpath(struct udev_device *udev_device, const char *devpath);
+extern int device_set_subsystem(struct udev_device *udev_device, const char *subsystem);
+extern int device_set_devname(struct udev_device *udev_device, const char *devname);
+extern int device_add_devlink(struct udev_device *udev_device, const char *devlink);
+extern int device_add_property(struct udev_device *udev_device, const char *property);
 
 
+/* libudev-utils */
+extern ssize_t util_get_sys_subsystem(struct udev *udev, const char *devpath, char *subsystem, size_t size);
 #endif
 #endif