mem_caching_attr = { 'UC' : 0, 'WC' : 1, 'WT' : 4, 'WP' : 5, 'WB' : 6, }; e820_mem_type = { 'AddressRangeMemory' : 1, 'AddressRangeReserved' : 2, 'AddressRangeACPI' : 3, 'AddressRangeNVS' : 4, 'AddressRangeIO' : 16, 'AddressRangeShared' : 17, }; MT_COL = 2 MA_COL = 3 def strmap(row): if (type(row) != type([])): return row row[MT_COL] = e820_mem_type[row[MT_COL]] row[MA_COL] = mem_caching_attr[row[MA_COL]] return row def memmap_parse(memmap): return map(strmap, memmap) if __name__ == '__main__': memmap = [ 'memmap', [ '1', '2', 'AddressRangeMemory', 'UC'], [ '1', '2', 'AddressRangeReserved', 'UC'], [ '1', '2', 'AddressRangeACPI', 'WB'], [ '1', '2', 'AddressRangeNVS', 'WB'], [ '1', '2', 'AddressRangeIO', 'WB'], [ '1', '2', 'AddressRangeShared', 'WB']] print memmap_parse(memmap); td class='form'>
python cryptographyJames
aboutsummaryrefslogtreecommitdiffstats
path: root/src/_cffi_src/commoncrypto/common_key_derivation.py
blob: 13ae5806ba6cd6306e75ba1276a263a1c9d1493d (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
# This file is dual licensed under the terms of the Apache License, Version
# 2.0, and the BSD License. See the LICENSE file in the root of this repository
# for complete details.

from __future__ import absolute_import, division, print_function

INCLUDES = """
#include <CommonCrypto/CommonKeyDerivation.h>
"""

TYPES = """
enum {
    kCCPBKDF2 = 2,
};
typedef uint32_t CCPBKDFAlgorithm;
enum {
    kCCPRFHmacAlgSHA1 = 1,
    kCCPRFHmacAlgSHA224 = 2,
    kCCPRFHmacAlgSHA256 = 3,
    kCCPRFHmacAlgSHA384 = 4,
    kCCPRFHmacAlgSHA512 = 5,
};
typedef uint32_t CCPseudoRandomAlgorithm;
typedef unsigned int uint;
"""

FUNCTIONS = """
int CCKeyDerivationPBKDF(CCPBKDFAlgorithm, const char *, size_t,
                         const uint8_t *, size_t, CCPseudoRandomAlgorithm,
                         uint, uint8_t *, size_t);
uint CCCalibratePBKDF(CCPBKDFAlgorithm, size_t, size_t,
                      CCPseudoRandomAlgorithm, size_t, uint32_t);
"""

MACROS = """
"""

CUSTOMIZATIONS = """
"""