84
84
static void __attribute__((__noreturn__)) usage(FILE *out)
86
fprintf(out, _("Usage: %s [options]\n\nOptions:\n"),
87
program_invocation_short_name);
90
" -d | --device <device> select rtc device (rtc0|rtc1|...)\n"
91
" -n | --dry-run does everything, but suspend\n"
92
" -l | --local RTC uses local timezone\n"
93
" -m | --mode <mode> standby|mem|... sleep mode\n"
94
" -s | --seconds <seconds> seconds to sleep\n"
95
" -t | --time <time_t> time to wake\n"
96
" -u | --utc RTC uses UTC\n"
97
" -v | --verbose verbose messages\n"
98
" -V | --version show version\n"));
100
fprintf(out, _("\nFor more information see rtcwake(8).\n"));
86
fputs(_("\nUsage:\n"), out);
88
_(" %s [options]\n"), program_invocation_short_name);
90
fputs(_("\nOptions:\n"), out);
91
fputs(_(" -d, --device <device> select rtc device (rtc0|rtc1|...)\n"
92
" -n, --dry-run does everything, but suspend\n"
93
" -l, --local RTC uses local timezone\n"
94
" -m, --mode <mode> standby|mem|... sleep mode\n"
95
" -s, --seconds <seconds> seconds to sleep\n"
96
" -t, --time <time_t> time to wake\n"
97
" -u, --utc RTC uses UTC\n"
98
" -v, --verbose verbose messages\n"
99
" -V, --version show version\n"), out);
101
fputs(_("\nFor more information see rtcwake(8).\n"), out);
102
103
exit(out == stderr ? EXIT_FAILURE : EXIT_SUCCESS);
251
static int is_suspend_available(const char *suspend)
255
FILE *f = fopen(SYS_POWER_STATE_PATH, "r");
260
if (fgets(buf, sizeof buf, f) == NULL)
263
rc = strstr(buf, suspend) != NULL;
250
269
static void suspend_system(const char *suspend)
252
271
FILE *f = fopen(SYS_POWER_STATE_PATH, "w");
501
519
alarm, sys_time, rtc_time, seconds);
503
521
if (strcmp(suspend, "show") && strcmp(suspend, "disable")) {
522
if (strcmp(suspend, "no") && strcmp(suspend, "on") &&
523
strcmp(suspend, "off") && is_suspend_available(suspend) <= 0) {
524
errx(EXIT_FAILURE, _("suspend to \"%s\" unavailable"), suspend);
504
527
/* care about alarm setup only if the show|disable
505
528
* modes are not set