2017-06-02 02:29:10 +02:00
|
|
|
#ifndef _WLR_INTERNAL_UDEV_H
|
|
|
|
#define _WLR_INTERNAL_UDEV_H
|
2017-05-01 05:20:48 +02:00
|
|
|
|
2017-06-04 07:43:34 +02:00
|
|
|
#include <sys/types.h>
|
2017-05-01 07:49:18 +02:00
|
|
|
#include <libudev.h>
|
2017-07-11 09:18:34 +02:00
|
|
|
#include <wlr/backend/session.h>
|
2017-05-03 11:28:44 +02:00
|
|
|
#include <wayland-server.h>
|
2017-06-02 02:29:10 +02:00
|
|
|
#include <wlr/backend/udev.h>
|
2017-05-01 07:49:18 +02:00
|
|
|
|
2017-06-04 07:43:34 +02:00
|
|
|
struct wlr_udev_dev {
|
|
|
|
dev_t dev;
|
|
|
|
struct wl_signal invalidate;
|
|
|
|
|
|
|
|
struct wl_list link;
|
|
|
|
};
|
|
|
|
|
2017-05-01 07:49:18 +02:00
|
|
|
struct wlr_udev {
|
|
|
|
struct udev *udev;
|
|
|
|
struct udev_monitor *mon;
|
2017-05-03 11:28:44 +02:00
|
|
|
struct wl_event_source *event;
|
2017-06-04 07:43:34 +02:00
|
|
|
|
|
|
|
struct wl_list devices;
|
2017-05-01 07:49:18 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
int wlr_udev_find_gpu(struct wlr_udev *udev, struct wlr_session *session);
|
2017-06-04 07:43:34 +02:00
|
|
|
bool wlr_udev_signal_add(struct wlr_udev *udev, dev_t dev, struct wl_listener *listener);
|
|
|
|
void wlr_udev_signal_remove(struct wlr_udev *udev, struct wl_listener *listener);
|
2017-05-01 07:49:18 +02:00
|
|
|
|
2017-05-01 05:20:48 +02:00
|
|
|
#endif
|