/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef VBOOT_REFERENCE_CGPT_CGPT_PARAMS_H_ #define VBOOT_REFERENCE_CGPT_CGPT_PARAMS_H_ #include #include "gpt.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ enum { CGPT_OK = 0, CGPT_FAILED, }; typedef struct CgptCreateParams { const char *drive_name; uint64_t drive_size; int zap; uint64_t padding; } CgptCreateParams; typedef struct CgptAddParams { const char *drive_name; uint64_t drive_size; uint32_t partition; uint64_t begin; uint64_t size; Guid type_guid; Guid unique_guid; const char *label; int successful; int tries; int priority; int required; int legacy_boot; uint32_t raw_value; int set_begin; int set_size; int set_type; int set_unique; int set_successful; int set_tries; int set_priority; int set_required; int set_legacy_boot; int set_raw; } CgptAddParams; typedef struct CgptEditParams { const char *drive_name; uint64_t drive_size; Guid unique_guid; int set_unique; } CgptEditParams; typedef struct CgptShowParams { const char *drive_name; uint64_t drive_size; int numeric; int verbose; int quick; uint32_t partition; int single_item; int debug; int num_partitions; } CgptShowParams; typedef struct CgptRepairParams { const char *drive_name; uint64_t drive_size; int verbose; } CgptRepairParams; typedef struct CgptBootParams { const char *drive_name; uint64_t drive_size; uint32_t partition; const char *bootfile; int create_pmbr; } CgptBootParams; typedef struct CgptPrioritizeParams { const char *drive_name; uint64_t drive_size; uint32_t set_partition; int set_friends; int max_priority; int orig_priority; } CgptPrioritizeParams; struct CgptFindParams; typedef void (*CgptFindShowFn)(struct CgptFindParams *params, const char *filename, int partnum, GptEntry *entry); typedef struct CgptFindParams { const char *drive_name; uint64_t drive_size; int verbose; int set_unique; int set_type; int set_label; int oneonly; int numeric; uint8_t *matchbuf; uint64_t matchlen; uint64_t matchoffset; uint8_t *comparebuf; Guid unique_guid; Guid type_guid; const char *label; int hits; int match_partnum; /* 1-based; 0 means no match */ /* when working with MTD, we actually work on a temp file, but we still * need to print the device name. so this parameter is here to properly * show the correct device name in that special case. */ CgptFindShowFn show_fn; } CgptFindParams; enum { CGPT_LEGACY_MODE_LEGACY = 0, CGPT_LEGACY_MODE_EFIPART, CGPT_LEGACY_MODE_IGNORE_PRIMARY, }; typedef struct CgptLegacyParams { const char *drive_name; uint64_t drive_size; int mode; } CgptLegacyParams; #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* VBOOT_REFERENCE_CGPT_CGPT_PARAMS_H_ */