This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Get the power modes and capabilities supported by a power managed object
#include <sys/pm.h> int pm_modeattr(pm_hdl_t hdl, pmd_mode_attr_t *modes, int nmodes);
libpm
the pm_modeattr() is used to get a list of the power modes supported by a power managed object.
For each mode, the pmd_mode_attr_t describes:
If successful, the number of modes supported by the object , or -1 when an error occurred (errno is set).
#include <sys/pm.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <alloca.h> int main(void) { pm_hdl_t hdl; int i; int nmode; pmd_mode_attr_t *modes; hdl = pm_attach("object", O_RDONLY); if (!pm_valid_hdl(hdl)) { perror("pm_attach"); return EXIT_FAILURE; } nmode = pm_modeattr(fd, 0, 0); if (nmode < 0) { perror("pm_modeattr"); return EXIT_FAILURE; } printf("Device supports %d modes:", nmode); modes = alloca(nmode * sizeof(*modes)); if (modes == 0) { perror("alloca"); return EXIT_FAILURE; } nmode = pm_modeattr(fd, modes, nmode); if (nmode < 0) { perror("pm_modeattr"); return EXIT_FAILURE; } for (i = 0; i < nmode; i++) { printf("%d: mode=0x%x flags=0x%x\n", i, modes[i].mode, modes[i].flags); } return EXIT_SUCCESS; }
Safety: | |
---|---|
Cancellation point | Yes |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
pm_power_mode_t, pm_attach(), pm_getattr(), pm_setmode(), pm_getmodes()