1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3 
4 typedef struct Device Device;
5 
6 #include "list.h"
7 #include "logind-seat.h"
8 #include "logind-session-device.h"
9 
10 struct Device {
11         Manager *manager;
12 
13         char *sysfs;
14         Seat *seat;
15         bool master;
16 
17         dual_timestamp timestamp;
18 
19         LIST_FIELDS(struct Device, devices);
20         LIST_HEAD(SessionDevice, session_devices);
21 };
22 
23 Device* device_new(Manager *m, const char *sysfs, bool master);
24 void device_free(Device *d);
25 void device_attach(Device *d, Seat *s);
26