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