BOLOS TEE
bolos_core.h
Go to the documentation of this file.
1 /*
2 *******************************************************************************
3 * BOLOS TEE
4 * (c) 2016 Ledger
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 ********************************************************************************/
18 
31 #ifndef __BOLOS_CORE_H__
32 #define __BOLOS_CORE_H__
33 
38 struct bls_area_s {
39  uint8_t WIDE * buffer;
40  size_t length;
41 };
42 typedef struct bls_area_s bls_area_t;
43 
50 void bls_set_return(const void *addr, size_t length);
51 
57 
65 size_t bls_copy_input_parameters(const uint8_t *parameters, uint32_t offset, size_t parametersLength);
66 
71 uint32_t bls_check_api_level(void);
72 
77 void _exit(uint32_t status);
78 
79 #endif // __BOLOS_CORE_H__
80 
size_t bls_get_input_parameters_length(void)
get the available size of Normal World input parameters
size_t bls_copy_input_parameters(const uint8_t *parameters, uint32_t offset, size_t parametersLength)
copy Normal World parameters to the executed code
uint32_t bls_check_api_level(void)
get the current API level
void bls_set_return(const void *addr, size_t length)
send a result back to Normal World
void _exit(uint32_t status)
halt executed code
Describe a buffer and length data structure.
Definition: bolos_core.h:38