2020-07-25 21:53:06 +02:00
|
|
|
#ifndef BACKEND_SESSION_SESSION_H
|
|
|
|
|
#define BACKEND_SESSION_SESSION_H
|
|
|
|
|
|
2023-06-05 23:45:28 +03:00
|
|
|
#include <stdbool.h>
|
2026-05-24 13:43:09 +02:00
|
|
|
#include <sys/types.h>
|
2023-06-05 23:45:28 +03:00
|
|
|
|
|
|
|
|
struct wl_display;
|
2020-07-25 21:53:06 +02:00
|
|
|
struct wlr_session;
|
|
|
|
|
|
2021-04-11 16:27:46 +02:00
|
|
|
struct wlr_session *libseat_session_create(struct wl_display *disp);
|
|
|
|
|
void libseat_session_destroy(struct wlr_session *base);
|
|
|
|
|
int libseat_session_open_device(struct wlr_session *base, const char *path);
|
|
|
|
|
void libseat_session_close_device(struct wlr_session *base, int fd);
|
|
|
|
|
bool libseat_change_vt(struct wlr_session *base, unsigned vt);
|
|
|
|
|
|
2020-07-25 21:53:06 +02:00
|
|
|
void session_init(struct wlr_session *session);
|
|
|
|
|
|
2021-12-10 21:14:57 +01:00
|
|
|
struct wlr_device *session_open_if_kms(struct wlr_session *restrict session,
|
|
|
|
|
const char *restrict path);
|
2026-05-24 13:43:09 +02:00
|
|
|
struct wlr_device *session_find_device_by_devid(struct wlr_session *session, dev_t devid);
|
|
|
|
|
|
|
|
|
|
struct wlr_device_manager {
|
|
|
|
|
struct wlr_session *session;
|
|
|
|
|
|
|
|
|
|
const struct wlr_device_manager_impl *impl;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct wlr_device_manager_impl {
|
|
|
|
|
void (*destroy)(struct wlr_device_manager *manager);
|
|
|
|
|
ssize_t (*find_drm_cards)(struct wlr_device_manager *manager,
|
|
|
|
|
size_t ret_cap, struct wlr_device **ret);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void wlr_device_manager_init(struct wlr_device_manager *manager,
|
|
|
|
|
const struct wlr_device_manager_impl *impl, struct wlr_session *session);
|
|
|
|
|
void wlr_device_manager_finish(struct wlr_device_manager *manager);
|
2021-12-10 21:14:57 +01:00
|
|
|
|
2020-07-25 21:53:06 +02:00
|
|
|
#endif
|