#include "log.h"
#include "util.h"
+#include "systemd/sd-id128.h"
+#include "systemd/sd-messages.h"
int main(int argc, char *argv[]) {
const char *verb;
arguments[1] = (char*) "pre";
arguments[2] = argv[1];
arguments[3] = NULL;
- execute_directory(SYSTEMD_SLEEP_BINARY_PATH, NULL, arguments);
+ execute_directory(SYSTEM_SLEEP_PATH, NULL, arguments);
+
+ if (streq(argv[1], "suspend"))
+ log_struct(LOG_INFO,
+ MESSAGE_ID(SD_MESSAGE_SLEEP_START),
+ "MESSAGE=Suspending system...",
+ "SLEEP=suspend",
+ NULL);
+ else
+ log_struct(LOG_INFO,
+ MESSAGE_ID(SD_MESSAGE_SLEEP_START),
+ "MESSAGE=Hibernating system...",
+ "SLEEP=hibernate",
+ NULL);
fputs(verb, f);
fputc('\n', f);
r = ferror(f) ? -errno : 0;
+ if (streq(argv[1], "suspend"))
+ log_struct(LOG_INFO,
+ MESSAGE_ID(SD_MESSAGE_SLEEP_STOP),
+ "MESSAGE=System resumed.",
+ "SLEEP=suspend",
+ NULL);
+ else
+ log_struct(LOG_INFO,
+ MESSAGE_ID(SD_MESSAGE_SLEEP_STOP),
+ "MESSAGE=System thawed.",
+ "SLEEP=hibernate",
+ NULL);
+
arguments[1] = (char*) "post";
- execute_directory(SYSTEMD_SLEEP_BINARY_PATH, NULL, arguments);
+ execute_directory(SYSTEM_SLEEP_PATH, NULL, arguments);
fclose(f);