| OLD | NEW | 
|---|
| 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "cgpt.h" | 5 #include "cgpt.h" | 
| 6 | 6 | 
| 7 #define __STDC_FORMAT_MACROS | 7 #define __STDC_FORMAT_MACROS | 
| 8 #include <getopt.h> | 8 #include <getopt.h> | 
| 9 #include <inttypes.h> | 9 #include <inttypes.h> | 
| 10 #include <stdio.h> | 10 #include <stdio.h> | 
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 125            index+1, contents); | 125            index+1, contents); | 
| 126     if (CGPT_OK == ResolveType(&entry->type, type)) { | 126     if (CGPT_OK == ResolveType(&entry->type, type)) { | 
| 127       printf(PARTITION_MORE, "Type: ", type); | 127       printf(PARTITION_MORE, "Type: ", type); | 
| 128     } else { | 128     } else { | 
| 129       GuidToStr(&entry->type, type); | 129       GuidToStr(&entry->type, type); | 
| 130       printf(PARTITION_MORE, "Type: ", type); | 130       printf(PARTITION_MORE, "Type: ", type); | 
| 131     } | 131     } | 
| 132     GuidToStr(&entry->unique, unique); | 132     GuidToStr(&entry->unique, unique); | 
| 133     printf(PARTITION_MORE, "UUID: ", unique); | 133     printf(PARTITION_MORE, "UUID: ", unique); | 
| 134     if (!memcmp(&guid_chromeos_kernel, &entry->type, sizeof(Guid))) { | 134     if (!memcmp(&guid_chromeos_kernel, &entry->type, sizeof(Guid))) { | 
| 135       int tries = (entry->attributes & CGPT_ATTRIBUTE_TRIES_MASK) >> | 135       int tries = (entry->attrs.fields.gpt_att & | 
| 136         CGPT_ATTRIBUTE_TRIES_OFFSET; | 136                    CGPT_ATTRIBUTE_TRIES_MASK) >> | 
| 137       int successful = (entry->attributes & CGPT_ATTRIBUTE_SUCCESSFUL_MASK) >> | 137           CGPT_ATTRIBUTE_TRIES_OFFSET; | 
| 138         CGPT_ATTRIBUTE_SUCCESSFUL_OFFSET; | 138       int successful = (entry->attrs.fields.gpt_att & | 
| 139       int priority = (entry->attributes & CGPT_ATTRIBUTE_PRIORITY_MASK) >> | 139                         CGPT_ATTRIBUTE_SUCCESSFUL_MASK) >> | 
| 140         CGPT_ATTRIBUTE_PRIORITY_OFFSET; | 140           CGPT_ATTRIBUTE_SUCCESSFUL_OFFSET; | 
|  | 141       int priority = (entry->attrs.fields.gpt_att & | 
|  | 142                       CGPT_ATTRIBUTE_PRIORITY_MASK) >> | 
|  | 143           CGPT_ATTRIBUTE_PRIORITY_OFFSET; | 
| 141       snprintf(contents, sizeof(contents), | 144       snprintf(contents, sizeof(contents), | 
| 142                "priority=%d tries=%d successful=%d", | 145                "priority=%d tries=%d successful=%d", | 
| 143                priority, tries, successful); | 146                priority, tries, successful); | 
| 144       printf(PARTITION_MORE, "Attr: ", contents); | 147       printf(PARTITION_MORE, "Attr: ", contents); | 
| 145     } | 148     } | 
| 146   } else { | 149   } else { | 
| 147     char type[GUID_STRLEN], unique[GUID_STRLEN]; | 150     char type[GUID_STRLEN], unique[GUID_STRLEN]; | 
| 148 | 151 | 
| 149     UTF16ToUTF8(entry->name, label); | 152     UTF16ToUTF8(entry->name, label); | 
| 150     snprintf(contents, sizeof(contents), "Label: \"%s\"", label); | 153     snprintf(contents, sizeof(contents), "Label: \"%s\"", label); | 
| 151     printf(PARTITION_FMT, (int)entry->starting_lba, | 154     printf(PARTITION_FMT, (int)entry->starting_lba, | 
| 152            (int)(entry->ending_lba - entry->starting_lba + 1), | 155            (int)(entry->ending_lba - entry->starting_lba + 1), | 
| 153            index+1, contents); | 156            index+1, contents); | 
| 154     GuidToStr(&entry->type, type); | 157     GuidToStr(&entry->type, type); | 
| 155     printf(PARTITION_MORE, "Type: ", type); | 158     printf(PARTITION_MORE, "Type: ", type); | 
| 156     GuidToStr(&entry->unique, unique); | 159     GuidToStr(&entry->unique, unique); | 
| 157     printf(PARTITION_MORE, "UUID: ", unique); | 160     printf(PARTITION_MORE, "UUID: ", unique); | 
| 158     snprintf(contents, sizeof(contents), "[%" PRIx64 "]", entry->attributes); | 161     snprintf(contents, sizeof(contents), "[%x]", entry->attrs.fields.gpt_att); | 
| 159     printf(PARTITION_MORE, "Attr: ", contents); | 162     printf(PARTITION_MORE, "Attr: ", contents); | 
| 160   } | 163   } | 
| 161 } | 164 } | 
| 162 | 165 | 
| 163 | 166 | 
| 164 void EntriesDetails(GptData *gpt, const int secondary, int raw) { | 167 void EntriesDetails(GptData *gpt, const int secondary, int raw) { | 
| 165   int i; | 168   int i; | 
| 166 | 169 | 
| 167   for (i = 0; i < GetNumberOfEntries(gpt); ++i) { | 170   for (i = 0; i < GetNumberOfEntries(gpt); ++i) { | 
| 168     GptEntry *entry; | 171     GptEntry *entry; | 
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 292       case 'S': | 295       case 'S': | 
| 293         printf("%d\n", GetSuccessful(&drive.gpt, PRIMARY, index)); | 296         printf("%d\n", GetSuccessful(&drive.gpt, PRIMARY, index)); | 
| 294         break; | 297         break; | 
| 295       case 'T': | 298       case 'T': | 
| 296         printf("%d\n", GetTries(&drive.gpt, PRIMARY, index)); | 299         printf("%d\n", GetTries(&drive.gpt, PRIMARY, index)); | 
| 297         break; | 300         break; | 
| 298       case 'P': | 301       case 'P': | 
| 299         printf("%d\n", GetPriority(&drive.gpt, PRIMARY, index)); | 302         printf("%d\n", GetPriority(&drive.gpt, PRIMARY, index)); | 
| 300         break; | 303         break; | 
| 301       case 'A': | 304       case 'A': | 
| 302         printf("0x%" PRIx64 "\n", entry->attributes); | 305         printf("0x%x\n", entry->attrs.fields.gpt_att); | 
| 303         break; | 306         break; | 
| 304       } | 307       } | 
| 305     } else { | 308     } else { | 
| 306       printf(TITLE_FMT, "start", "size", "part", "contents"); | 309       printf(TITLE_FMT, "start", "size", "part", "contents"); | 
| 307       EntryDetails(entry, index, numeric); | 310       EntryDetails(entry, index, numeric); | 
| 308     } | 311     } | 
| 309 | 312 | 
| 310   } else if (quick) {                   // show all partitions, quickly | 313   } else if (quick) {                   // show all partitions, quickly | 
| 311     int i; | 314     int i; | 
| 312     GptEntry *entry; | 315     GptEntry *entry; | 
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 405   } | 408   } | 
| 406 | 409 | 
| 407   (void) CheckValid(&drive); | 410   (void) CheckValid(&drive); | 
| 408   (void) DriveClose(&drive, 0); | 411   (void) DriveClose(&drive, 0); | 
| 409 | 412 | 
| 410   return CGPT_OK; | 413   return CGPT_OK; | 
| 411 } | 414 } | 
| 412 | 415 | 
| 413 | 416 | 
| 414 | 417 | 
| OLD | NEW | 
|---|