| SYSMON_PSWITCH(9) | Kernel Developer's Manual | SYSMON_PSWITCH(9) |
sysmon_pswitch —
#include
<dev/sysmon/sysmonvar.h>
int
sysmon_pswitch_register(struct
sysmon_pswitch *smpsw);
void
sysmon_pswitch_unregister(struct
sysmon_pswitch *smpsw);
void
sysmon_pswitch_event(struct
sysmon_pswitch *smpsw,
int event);
sysmon_pswitch provides a
framework for power management. The interface has been largely superseded by
the pmf(9) framework, but
sysmon_pswitch is still used to manage power switches
as well as related mechanical adapters and buttons. These are encapsulated in
the following structure:
struct sysmon_pswitch {
const char *smpsw_name; /* power switch name */
int smpsw_type; /* power switch type */
LIST_ENTRY(sysmon_pswitch) smpsw_list;
};
Unsurprisingly, smpsw_name specifies the name of the power switch and smpsw_type defines the type of it. The following types are defined:
If the type is PSWITCH_TYPE_HOTKEY, there
are few predefined names that can be used for
smpsw_name:
Once a power switch event has been proceeded,
sysmon_pswitch will inform the user space
powerd(8), which will possibly
execute a script matching the type of the power switch.
sysmon_pswitch_register(). The device can be detached
from the framework by sysmon_pswitch_unregister().
The sysmon_pswitch_event() is used to
signal a new power switch event. There are two possibilities for the value
of event:
The corresponding events in powerd(8) are pressed and released.
| January 6, 2015 | NetBSD 10.0 |