]> git.saurik.com Git - apple/xnu.git/blob - EXTERNAL_HEADERS/corecrypto/cc_debug.h
xnu-3789.60.24.tar.gz
[apple/xnu.git] / EXTERNAL_HEADERS / corecrypto / cc_debug.h
1 /*
2 * cc_debug.h
3 * corecrypto
4 *
5 * Created on 01/25/2012
6 *
7 * Copyright (c) 2012,2014,2015 Apple Inc. All rights reserved.
8 *
9 */
10
11 //debug configuration header file
12 #ifndef _CORECRYPTO_CCN_DEBUG_H_
13 #define _CORECRYPTO_CCN_DEBUG_H_
14
15 #include <corecrypto/cc_config.h>
16
17 // DO NOT INCLUDE this HEADER file in CoreCrypto files added for XNU project or headers
18 // included by external clients.
19
20 // ========================
21 // Printf for corecrypto
22 // ========================
23 #if CC_KERNEL
24 #include <pexpert/pexpert.h>
25 #define cc_printf(x...) kprintf(x)
26 extern int printf(const char *format, ...) __printflike(1,2);
27 #elif CC_USE_S3
28 #include <stdio.h>
29 #define cc_printf(x...) printf(x)
30 #else
31 #include <stdio.h>
32 #define cc_printf(x...) fprintf(stderr, x)
33 #endif
34
35 // ========================
36 // Integer types
37 // ========================
38
39 #if CC_KERNEL
40 /* Those are not defined in libkern */
41 #define PRIx64 "llx"
42 #define PRIx32 "x"
43 #define PRIx16 "hx"
44 #define PRIx8 "hhx"
45 #else
46 #include <inttypes.h>
47 #endif
48
49 #if CCN_UNIT_SIZE == 8
50 #define CCPRIx_UNIT ".016" PRIx64
51 #elif CCN_UNIT_SIZE == 4
52 #define CCPRIx_UNIT ".08" PRIx32
53 #elif CCN_UNIT_SIZE == 2
54 #define CCPRIx_UNIT ".04" PRIx16
55 #elif CCN_UNIT_SIZE == 1
56 #define CCPRIx_UNIT ".02" PRIx8
57 #else
58 #error invalid CCN_UNIT_SIZE
59 #endif
60
61 // ========================
62 // Print utilities for corecrypto
63 // ========================
64
65 #include <corecrypto/cc.h>
66
67 /* Print a byte array of arbitrary size */
68 void cc_print(const char *label, size_t count, const uint8_t *s);
69
70 #endif /* _CORECRYPTO_CCN_DEBUG_H_ */