#include "uki-util.h"
int verb_kernel_identify(int argc, char *argv[], void *userdata) {
- KernelType t;
+ KernelImageType t;
int r;
r = inspect_kernel(argv[1], &t, NULL, NULL, NULL);
if (r < 0)
return r;
- puts(kernel_type_to_string(t));
+ puts(kernel_image_type_to_string(t));
return 0;
}
int verb_kernel_inspect(int argc, char *argv[], void *userdata) {
_cleanup_free_ char *cmdline = NULL, *uname = NULL, *pname = NULL;
- KernelType t;
+ KernelImageType t;
int r;
r = inspect_kernel(argv[1], &t, &cmdline, &uname, &pname);
if (r < 0)
return r;
- printf("Kernel Type: %s\n", kernel_type_to_string(t));
+ printf("Kernel Type: %s\n", kernel_image_type_to_string(t));
if (cmdline)
printf(" Cmdline: %s\n", cmdline);
if (uname)
static const uint8_t name_cmdline[8] = ".cmdline";
static const uint8_t name_uname[8] = ".uname";
-static const char * const kernel_type_table[_KERNEL_TYPE_MAX] = {
- [KERNEL_TYPE_UNKNOWN] = "unknown",
- [KERNEL_TYPE_UKI] = "uki",
- [KERNEL_TYPE_PE] = "pe",
+static const char * const kernel_image_type_table[_KERNEL_IMAGE_TYPE_MAX] = {
+ [KERNEL_IMAGE_TYPE_UNKNOWN] = "unknown",
+ [KERNEL_IMAGE_TYPE_UKI] = "uki",
+ [KERNEL_IMAGE_TYPE_PE] = "pe",
};
-DEFINE_STRING_TABLE_LOOKUP_TO_STRING(kernel_type, KernelType);
+DEFINE_STRING_TABLE_LOOKUP_TO_STRING(kernel_image_type, KernelImageType);
static int pe_sections(FILE *f, struct PeSectionHeader **ret, size_t *ret_n) {
_cleanup_free_ struct PeSectionHeader *sections = NULL;
int inspect_kernel(
const char *filename,
- KernelType *ret_type,
+ KernelImageType *ret_type,
char **ret_cmdline,
char **ret_uname,
char **ret_pretty_name) {
_cleanup_fclose_ FILE *f = NULL;
_cleanup_free_ struct PeSectionHeader *sections = NULL;
size_t scount;
- KernelType t;
+ KernelImageType t;
int r;
assert(filename);
return r;
if (!sections)
- t = KERNEL_TYPE_UNKNOWN;
+ t = KERNEL_IMAGE_TYPE_UNKNOWN;
else if (is_uki(sections, scount)) {
- t = KERNEL_TYPE_UKI;
+ t = KERNEL_IMAGE_TYPE_UKI;
r = inspect_uki(f, sections, scount, ret_cmdline, ret_uname, ret_pretty_name);
if (r < 0)
return r;
} else
- t = KERNEL_TYPE_PE;
+ t = KERNEL_IMAGE_TYPE_PE;
if (ret_type)
*ret_type = t;
#include "macro.h"
-typedef enum KernelType {
- KERNEL_TYPE_UNKNOWN,
- KERNEL_TYPE_UKI,
- KERNEL_TYPE_PE,
- _KERNEL_TYPE_MAX,
- _KERNEL_TYPE_INVALID = -EINVAL,
-} KernelType;
+typedef enum KernelImageType {
+ KERNEL_IMAGE_TYPE_UNKNOWN,
+ KERNEL_IMAGE_TYPE_UKI,
+ KERNEL_IMAGE_TYPE_PE,
+ _KERNEL_IMAGE_TYPE_MAX,
+ _KERNEL_IMAGE_TYPE_INVALID = -EINVAL,
+} KernelImageType;
-const char* kernel_type_to_string(KernelType t) _const_;
+const char* kernel_image_type_to_string(KernelImageType t) _const_;
int inspect_kernel(
const char *filename,
- KernelType *ret_type,
+ KernelImageType *ret_type,
char **ret_cmdline,
char **ret_uname,
char **ret_pretty_name);