Home | History | Annotate | Download | only in include
      1 // Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef VBOOT_REFERENCE_CGPT_CGPT_PARAMS_H_
      6 #define VBOOT_REFERENCE_CGPT_CGPT_PARAMS_H_
      7 #include <stdint.h>
      8 
      9 #include "gpt.h"
     10 
     11 enum {
     12   CGPT_OK = 0,
     13   CGPT_FAILED,
     14 };
     15 
     16 typedef struct CgptCreateParams {
     17   char *drive_name;
     18   uint64_t drive_size;
     19   int zap;
     20   uint64_t padding;
     21 } CgptCreateParams;
     22 
     23 typedef struct CgptAddParams {
     24   char *drive_name;
     25   uint64_t drive_size;
     26   uint32_t partition;
     27   uint64_t begin;
     28   uint64_t size;
     29   Guid type_guid;
     30   Guid unique_guid;
     31   char *label;
     32   int successful;
     33   int tries;
     34   int priority;
     35   uint32_t raw_value;
     36   int set_begin;
     37   int set_size;
     38   int set_type;
     39   int set_unique;
     40   int set_successful;
     41   int set_tries;
     42   int set_priority;
     43   int set_raw;
     44 } CgptAddParams;
     45 
     46 typedef struct CgptShowParams {
     47   char *drive_name;
     48   uint64_t drive_size;
     49   int numeric;
     50   int verbose;
     51   int quick;
     52   uint32_t partition;
     53   int single_item;
     54   int debug;
     55   int num_partitions;
     56 } CgptShowParams;
     57 
     58 typedef struct CgptRepairParams {
     59   char *drive_name;
     60   uint64_t drive_size;
     61   int verbose;
     62 } CgptRepairParams;
     63 
     64 typedef struct CgptBootParams {
     65   char *drive_name;
     66   uint64_t drive_size;
     67   uint32_t partition;
     68   char *bootfile;
     69   int create_pmbr;
     70 } CgptBootParams;
     71 
     72 typedef struct CgptPrioritizeParams {
     73   char *drive_name;
     74   uint64_t drive_size;
     75   uint32_t set_partition;
     76   int set_friends;
     77   int max_priority;
     78   int orig_priority;
     79 } CgptPrioritizeParams;
     80 
     81 struct CgptFindParams;
     82 typedef void (*CgptFindShowFn)(struct CgptFindParams *params, char *filename,
     83                                int partnum, GptEntry *entry);
     84 typedef struct CgptFindParams {
     85   char *drive_name;
     86   uint64_t drive_size;
     87   int verbose;
     88   int set_unique;
     89   int set_type;
     90   int set_label;
     91   int oneonly;
     92   int numeric;
     93   uint8_t *matchbuf;
     94   uint64_t matchlen;
     95   uint64_t matchoffset;
     96   uint8_t *comparebuf;
     97   Guid unique_guid;
     98   Guid type_guid;
     99   char *label;
    100   int hits;
    101   int match_partnum;           /* 1-based; 0 means no match */
    102   /* when working with MTD, we actually work on a temp file, but we still need
    103    * to print the device name. so this parameter is here to properly show the
    104    * correct device name in that special case. */
    105   CgptFindShowFn show_fn;
    106 } CgptFindParams;
    107 
    108 typedef struct CgptLegacyParams {
    109   char *drive_name;
    110   uint64_t drive_size;
    111   int efipart;
    112 } CgptLegacyParams;
    113 
    114 #endif  // VBOOT_REFERENCE_CGPT_CGPT_PARAMS_H_
    115