SYSMON_PSWITCH(9) NetBSD Kernel Developer's Manual SYSMON_PSWITCH(9)
NAME
sysmon_pswitch -- framework for power switches
SYNOPSIS
#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);
DESCRIPTION
The machine-independent 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: PSWITCH_TYPE_POWER PSWITCH_TYPE_SLEEP PSWITCH_TYPE_LID PSWITCH_TYPE_RESET PSWITCH_TYPE_ACADAPTER PSWITCH_TYPE_HOTKEY PSWITCH_TYPE_RADIO If the type is PSWITCH_TYPE_HOTKEY, there are few predefined names that can be used for smpsw_name: PSWITCH_HK_DISPLAY_CYCLE display-cycle PSWITCH_HK_LOCK_SCREEN lock-screen PSWITCH_HK_BATTERY_INFO battery-info PSWITCH_HK_EJECT_BUTTON eject-button PSWITCH_HK_ZOOM_BUTTON zoom-button PSWITCH_HK_VENDOR_BUTTON vendor-button 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.
FUNCTIONS
After the sysmon_pswitch structure has been initialized, a new power switch device can be registered by using 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: PSWITCH_EVENT_PRESSED A button has been pressed, the lid has been closed, the AC adapter is off, etc. PSWITCH_EVENT_RELEASED A button has been released, the lid is open, the AC adapter is on, etc. The corresponding events in powerd(8) are pressed and released.
SEE ALSO
powerd(8), pmf(9), sysmon_envsys(9), sysmon_taskq(9)
AUTHORS
Jason R. Thorpe <thorpej@NetBSD.org> NetBSD 10.1 January 6, 2015 NetBSD 10.1
Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.