1 /* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef _STM32F4xx_EEDATA_H_ 18 #define _STM32F4xx_EEDATA_H_ 19 20 #include <eeData.h> 21 #include <seos.h> 22 23 struct Stm32f4xxEedataHdr { 24 uint32_t info; 25 }; 26 27 struct Stm32f4xxEedataEncrKey { 28 struct Stm32f4xxEedataHdr hdr; 29 struct SeosEedataEncrKeyData data; 30 } __attribute__((packed)); 31 32 33 #define PREPOPULATED_ENCR_KEY(name, keyid, ...) \ 34 const struct Stm32f4xxEedataEncrKey __attribute__ ((section (".eedata"))) __EE__ ## name = { { EE_DATA_NAME_ENCR_KEY + sizeof(struct SeosEedataEncrKeyData) * (EE_DATA_NAME_MAX + 1)}, {keyid, {__VA_ARGS__}}} 35 36 37 38 #endif 39