diff options
Diffstat (limited to 'cgpt/cgpt_params.h')
-rw-r--r-- | cgpt/cgpt_params.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/cgpt/cgpt_params.h b/cgpt/cgpt_params.h new file mode 100644 index 00000000..1bfb54d1 --- /dev/null +++ b/cgpt/cgpt_params.h @@ -0,0 +1,98 @@ +// Copyright (c) 2012 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 "cgpt.h" + +// This file defines the internal methods that use the user-mode cgpt programatically. +// This is the interface for the callers such as the cgpt tool or the C++ post installer +// executable. + +typedef struct CgptCreateParams { + char *driveName; + int zap; +} CgptCreateParams; + +typedef struct CgptAddParams { + char *driveName; + uint32_t partition; + uint64_t begin; + uint64_t size; + Guid type_guid; + Guid unique_guid; + char *label; + int successful; + int tries; + int priority; + uint16_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_raw; +} CgptAddParams; + +typedef struct CgptShowParams { + char *driveName; + int numeric; + int verbose; + int quick; + uint32_t partition; + int single_item; +} CgptShowParams; + +typedef struct CgptRepairParams { + char *driveName; + int verbose; +} CgptRepairParams; + +typedef struct CgptBootParams { + char *driveName; + uint32_t partition; + char *bootfile; + int create_pmbr; +} CgptBootParams; + +typedef struct CgptPrioritizeParams { + char *driveName; + + uint32_t set_partition; + int set_friends; + int max_priority; + int orig_priority; +} CgptPrioritizeParams; + +typedef struct CgptFindParams { + char *driveName; + + 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; // 0 for no match, 1-N for match +} CgptFindParams; + +int cgpt_create(CgptCreateParams *params); +int cgpt_add(CgptAddParams *params); +int cgpt_boot(CgptBootParams *params); +int cgpt_show(CgptShowParams *params); +int cgpt_repair(CgptRepairParams *params); +int cgpt_prioritize(CgptPrioritizeParams *params); +void cgpt_find(CgptFindParams *params); +#endif // VBOOT_REFERENCE_CGPT_CGPT_PARAMS_H_ |