diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:49:52 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:49:52 +0000 |
commit | 55944e5e40b1be2afc4855d8d2baf4b73d1876b5 (patch) | |
tree | 33f869f55a1b149e9b7c2b7e201867ca5dd52992 /src/hibernate-resume/hibernate-resume-config.h | |
parent | Initial commit. (diff) | |
download | systemd-55944e5e40b1be2afc4855d8d2baf4b73d1876b5.tar.xz systemd-55944e5e40b1be2afc4855d8d2baf4b73d1876b5.zip |
Adding upstream version 255.4.upstream/255.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/hibernate-resume/hibernate-resume-config.h')
-rw-r--r-- | src/hibernate-resume/hibernate-resume-config.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/hibernate-resume/hibernate-resume-config.h b/src/hibernate-resume/hibernate-resume-config.h new file mode 100644 index 0000000..365d9cc --- /dev/null +++ b/src/hibernate-resume/hibernate-resume-config.h @@ -0,0 +1,55 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +#pragma once + +#include <stdbool.h> + +#include "sd-id128.h" + +typedef struct KernelHibernateLocation { + char *device; + uint64_t offset; + bool offset_set; +} KernelHibernateLocation; + +typedef struct EFIHibernateLocation { + char *device; + + sd_id128_t uuid; + uint64_t offset; + + char *kernel_version; + char *id; + char *image_id; + char *version_id; + char *image_version; +} EFIHibernateLocation; + +typedef struct HibernateInfo { + const char *device; + uint64_t offset; /* in memory pages */ + + KernelHibernateLocation *cmdline; + EFIHibernateLocation *efi; +} HibernateInfo; + +void hibernate_info_done(HibernateInfo *info); + +int acquire_hibernate_info(HibernateInfo *ret); + +#if ENABLE_EFI + +void compare_hibernate_location_and_warn(const HibernateInfo *info); + +void clear_efi_hibernate_location(void); + +#else + +static inline void compare_hibernate_location_and_warn(const HibernateInfo *info) { + return; +} + +static inline void clear_efi_hibernate_location(void) { + return; +} + +#endif |