aboutsummaryrefslogtreecommitdiff
path: root/src/proone-print-all-data.c
blob: d5acf0f812a7ce6d9fe560fc0749df56a9aac677 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>

#include "dvault.h"

#define TYPE_STR_PADDING "4"


int main (void) {
	prne_data_key_t i = PRNE_DATA_KEY_NONE + 1;
	prne_data_type_t type;

	prne_init_dvault();

	for (i = PRNE_DATA_KEY_NONE + 1; i < NB_PRNE_DATA_KEY; i += 1) {
		type = (prne_data_type_t)PRNE_DATA_DICT[i][0];

		printf("%10lld(%" TYPE_STR_PADDING "s): ", (long long)i, prne_data_type2str(type));
		switch (type) {
		case PRNE_DATA_TYPE_CSTR:
			printf("%s", prne_dvault_unmask_entry_cstr(i, NULL));
			break;
		case PRNE_DATA_TYPE_BIN: {
			const uint8_t *p;
			size_t size, it;

			prne_dvault_unmask_entry_bin(i, &p, &size);

			for (it = 0; it < size; it += 1) {
				printf("%02X ", p[it]);
			}
			break;	
		}
		default:
			fprintf(stderr, "Error: unknown data type (%d)'%s'\n", (int)type, prne_data_type2str(type));
			abort();
		}

		printf("\n");
	}

	prne_deinit_dvault();
	return 0;
}