]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/hal/arm/mx53/var/v2_0/src/hab_super_root.h
TX53 Release 2011-12-20
[karo-tx-redboot.git] / packages / hal / arm / mx53 / var / v2_0 / src / hab_super_root.h
1 //==========================================================================
2 //
3 //      hab_super_root.h
4 //
5 //==========================================================================
6 //####ECOSGPLCOPYRIGHTBEGIN####
7 // -------------------------------------------
8 // This file is part of eCos, the Embedded Configurable Operating System.
9 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
10 //
11 // eCos is free software; you can redistribute it and/or modify it under
12 // the terms of the GNU General Public License as published by the Free
13 // Software Foundation; either version 2 or (at your option) any later version.
14 //
15 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
16 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
17 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
18 // for more details.
19 //
20 // You should have received a copy of the GNU General Public License along
21 // with eCos; if not, write to the Free Software Foundation, Inc.,
22 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
23 //
24 // As a special exception, if other files instantiate templates or use macros
25 // or inline functions from this file, or you compile this file and link it
26 // with other works to produce a work based on this file, this file does not
27 // by itself cause the resulting work to be covered by the GNU General Public
28 // License. However the source code for this file must still be made available
29 // in accordance with section (3) of the GNU General Public License.
30 //
31 // This exception does not invalidate any other reasons why a work based on
32 // this file might be covered by the GNU General Public License.
33 //
34 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
35 // at http://sources.redhat.com/ecos/ecos-license/
36 // -------------------------------------------
37 //####ECOSGPLCOPYRIGHTEND####
38 //==========================================================================
39 #ifndef HAB_SUPER_ROOT_H
40 #define HAB_SUPER_ROOT_H
41
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45
46 /*==================================================================================================
47
48      Header Name: hab_super_root.h
49
50      General Description: This module contains the HAB Super Root public keys.
51
52 ====================================================================================================*/
53
54 /* Generic type definitions */
55 typedef signed char                INT8;
56 typedef unsigned char      UINT8;
57 typedef short int                  INT16;
58 typedef unsigned short int UINT16;
59 typedef int                                INT32;
60 typedef unsigned int       UINT32;
61 typedef unsigned char      BOOLEAN;
62
63
64 /* HAB specific type definitions */
65 typedef UINT8                      *hab_bytestring;
66 typedef UINT16                     hab_algorithm;
67 typedef UINT8                      hab_index;
68 typedef UINT32                     hab_address;
69 typedef UINT8                      hab_certificate;
70 typedef UINT32                     hab_data_length;
71 typedef UINT16                     hab_int_length;
72 typedef UINT8                      hab_error;
73
74 #ifndef TRUE
75 #define TRUE  1
76 #endif
77
78 #ifndef FALSE
79 #define FALSE 0
80 #endif
81
82 /* HAB specific definitions */
83 #define HAB_MAX_EXP_SIZE   ((hab_int_length)4) /* Maximum size of RSA
84                                                 * public key exponent
85                                                 * - in bytes
86                                                 */
87
88 /*==================================================================================================
89                                             MACROS
90 ==================================================================================================*/
91
92 /*==================================================================================================
93                                              ENUMS
94 ==================================================================================================*/
95
96 /*==================================================================================================
97                                  STRUCTURES AND OTHER TYPEDEFS
98 ==================================================================================================*/
99
100 /* RSA public key structure */
101 typedef struct
102 {
103         UINT8                   rsa_exponent[HAB_MAX_EXP_SIZE]; /* RSA public exponent */
104         const UINT8             *rsa_modulus;                                   /* RSA modulus pointer */
105         hab_int_length  exponent_size;                                  /* Exponent size in bytes */
106         hab_int_length  modulus_size;                                   /* Modulus size in bytes */
107         BOOLEAN                 init_flag;                                              /* Indicates if key initialised */
108 } hab_rsa_public_key;
109
110 /*==================================================================================================
111                                  GLOBAL VARIABLE DECLARATIONS
112 ==================================================================================================*/
113 /* Super Root keys */
114 extern const hab_rsa_public_key hab_super_root_key[];
115
116 #ifdef __cplusplus
117 }
118 #endif
119
120 #endif  /* HAB_SUPER_ROOT_H */