Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Side by Side Diff: cgpt/cmd_show.c

Issue 2799019: Modify the size of the attributes field to comply with msc limitations. (Closed) Base URL: ssh://git@chromiumos-git/vboot_reference.git
Patch Set: Fix the attribute field to allow compilation in the BIOS environment. Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cgpt/cmd_add.c ('k') | firmware/lib/cgptlib/cgptlib.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « cgpt/cmd_add.c ('k') | firmware/lib/cgptlib/cgptlib.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698