MCPcopy Create free account
hub / github.com/coreboot/coreboot / print_data

Function print_data

util/smmstoretool/data.c:14–90  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12#include "utils.h"
13
14void print_data(const uint8_t data[], size_t data_size, enum data_type type)
15{
16 if (data_size == 0)
17 return;
18
19 switch (type) {
20 case DATA_TYPE_BOOL:
21 bool value = false;
22 for (size_t i = 0; i < data_size; ++i) {
23 if (data[i] != 0) {
24 value = true;
25 break;
26 }
27 }
28 printf("%s\n", value ? "true" : "false");
29 break;
30 case DATA_TYPE_UINT8:
31 if (data_size != 1) {
32 fprintf(stderr,
33 "warning: expected size of 1, got %zu\n",
34 data_size);
35 }
36
37 if (data_size >= 1)
38 printf("%u\n", *(uint8_t *)data);
39 break;
40 case DATA_TYPE_UINT16:
41 if (data_size != 2) {
42 fprintf(stderr,
43 "warning: expected size of 2, got %zu\n",
44 data_size);
45 }
46
47 if (data_size >= 2)
48 printf("%u\n", *(uint16_t *)data);
49 break;
50 case DATA_TYPE_UINT32:
51 if (data_size != 4) {
52 fprintf(stderr,
53 "warning: expected size of 4, got %zu\n",
54 data_size);
55 }
56
57 if (data_size >= 4)
58 printf("%u\n", *(uint32_t *)data);
59 break;
60 case DATA_TYPE_UINT64:
61 if (data_size != 8) {
62 fprintf(stderr,
63 "warning: expected size of 8, got %zu\n",
64 data_size);
65 }
66
67 if (data_size >= 8)
68 printf("%llu\n", (unsigned long long)*(uint64_t *)data);
69 break;
70 case DATA_TYPE_ASCII:
71 for (size_t i = 0; i < data_size; ++i) {

Callers 1

process_getFunction · 0.85

Calls 6

printfFunction · 0.85
fprintfFunction · 0.85
to_charsFunction · 0.85
fwriteFunction · 0.85
isprintFunction · 0.50
freeFunction · 0.50

Tested by

no test coverage detected