1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
4 typedef enum DeviceType DeviceType
;
5 typedef struct SessionDevice SessionDevice
;
16 struct SessionDevice
{
27 LIST_FIELDS(struct SessionDevice
, sd_by_device
);
30 int session_device_new(Session
*s
, dev_t dev
, bool open_device
, SessionDevice
**out
);
31 SessionDevice
*session_device_free(SessionDevice
*sd
);
32 DEFINE_TRIVIAL_CLEANUP_FUNC(SessionDevice
*, session_device_free
);
34 void session_device_complete_pause(SessionDevice
*sd
);
36 void session_device_resume_all(Session
*s
);
37 void session_device_pause_all(Session
*s
);
38 unsigned session_device_try_pause_all(Session
*s
);
40 int session_device_save(SessionDevice
*sd
);
41 void session_device_attach_fd(SessionDevice
*sd
, int fd
, bool active
);