chiark / gitweb /
libudev: require LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE
[elogind.git] / udev / lib / libudev.h
index e740f3670e0edc52c012835945f93ec009d1b859..cd366c7dfca81692abed23551094dda12227a432 100644 (file)
 #ifndef _LIBUDEV_H_
 #define _LIBUDEV_H_
 
+/* this will stay as long as the DeviceKit integration of udev is work in progress */
+#if !defined LIBUDEV_COMPILATION && !defined LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE
+#error "#define LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE is needed to use this experimental library version"
+#endif
+
 struct udev;
 struct udev_device;
+struct udev_monitor;
 
 extern struct udev *udev_new(void);
 extern struct udev *udev_ref(struct udev *udev);
@@ -54,4 +60,11 @@ extern int udev_devices_enumerate(struct udev *udev, const char *subsystem,
                                            const char *devpath, const char *subsystem, const char *name, void *data),
                                  void *data);
 
+extern struct udev_monitor *udev_monitor_new_from_socket(struct udev *udev, const char *socket_path);
+extern struct udev_monitor *udev_monitor_ref(struct udev_monitor *udev_monitor);
+extern void udev_monitor_unref(struct udev_monitor *udev_monitor);
+extern struct udev *udev_monitor_get_udev(struct udev_monitor *udev_monitor);
+extern int udev_monitor_get_fd(struct udev_monitor *udev_monitor);
+extern struct udev_device *udev_monitor_get_device(struct udev_monitor *udev_monitor);
+
 #endif