#include "log.h"
#include "waiter.h"
#include "pb-discover.h"
+#include "device-handler.h"
#define PBOOT_DEVICE_SOCKET "/tmp/petitboot.udev"
#define max(a, b) ((a) > (b) ? (a) : (b))
struct udev {
+ struct device_handler *handler;
int socket;
};
print_event(event);
+ device_handler_event(udev->handler, event);
+
talloc_free(event);
return;
return 0;
}
-struct udev *udev_init(void)
+struct udev *udev_init(struct device_handler *handler)
{
struct sockaddr_un addr;
struct udev *udev;
udev = talloc(NULL, struct udev);
+ udev->handler = handler;
+
udev->socket = socket(PF_UNIX, SOCK_DGRAM, 0);
if (udev->socket < 0) {
pb_log("Error creating udev socket: %s\n", strerror(errno));
};
struct udev;
+struct device_handler;
-struct udev *udev_init(void);
+struct udev *udev_init(struct device_handler *handler);
void udev_destroy(struct udev *udev);