summaryrefslogtreecommitdiff
path: root/cgpt/cgpt_params.h
diff options
context:
space:
mode:
Diffstat (limited to 'cgpt/cgpt_params.h')
-rw-r--r--cgpt/cgpt_params.h98
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_