/* 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" enum { CGPT_OK = 0, CGPT_FAILED, }; typedef struct CgptCreateParams { char *drive_name; uint64_t drive_size; int zap; uint64_t padding; } CgptCreateParams; typedef struct CgptAddParams { char *drive_name; uint64_t drive_size; uint32_t partition; uint64_t begin; uint64_t size; Guid type_guid; Guid unique_guid; 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 CgptShowParams { 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 { char *drive_name; uint64_t drive_size; int verbose; } CgptRepairParams; typedef struct CgptBootParams { char *drive_name; uint64_t drive_size; uint32_t partition; char *bootfile; int create_pmbr; } CgptBootParams; typedef struct CgptPrioritizeParams { 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, char *filename, int partnum, GptEntry *entry); typedef struct CgptFindParams { 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; 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 { char *drive_name; uint64_t drive_size; int mode; } CgptLegacyParams; #endif /* VBOOT_REFERENCE_CGPT_CGPT_PARAMS_H_ */