1 /* SPDX-License-Identifier: LGPL-2.1+ */
5 This file is part of systemd.
7 Copyright 2012 Lennart Poettering
10 typedef struct Inhibitor Inhibitor
;
12 typedef enum InhibitWhat
{
16 INHIBIT_HANDLE_POWER_KEY
= 8,
17 INHIBIT_HANDLE_SUSPEND_KEY
= 16,
18 INHIBIT_HANDLE_HIBERNATE_KEY
= 32,
19 INHIBIT_HANDLE_LID_SWITCH
= 64,
20 _INHIBIT_WHAT_MAX
= 128,
21 _INHIBIT_WHAT_INVALID
= -1
24 typedef enum InhibitMode
{
28 _INHIBIT_MODE_INVALID
= -1
36 sd_event_source
*event_source
;
57 Inhibitor
* inhibitor_new(Manager
*m
, const char *id
);
58 void inhibitor_free(Inhibitor
*i
);
60 int inhibitor_save(Inhibitor
*i
);
61 int inhibitor_load(Inhibitor
*i
);
63 int inhibitor_start(Inhibitor
*i
);
64 int inhibitor_stop(Inhibitor
*i
);
66 int inhibitor_create_fifo(Inhibitor
*i
);
67 void inhibitor_remove_fifo(Inhibitor
*i
);
69 InhibitWhat
manager_inhibit_what(Manager
*m
, InhibitMode mm
);
70 bool manager_is_inhibited(Manager
*m
, InhibitWhat w
, InhibitMode mm
, dual_timestamp
*since
, bool ignore_inactive
, bool ignore_uid
, uid_t uid
, Inhibitor
**offending
);
72 const char *inhibit_what_to_string(InhibitWhat k
);
73 InhibitWhat
inhibit_what_from_string(const char *s
);
75 const char *inhibit_mode_to_string(InhibitMode k
);
76 InhibitMode
inhibit_mode_from_string(const char *s
);