2019-08-28 12:57:45 +03:00
|
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
// Licensed under the Apache 2.0 License.
|
|
|
|
|
2019-04-26 18:27:27 +03:00
|
|
|
enclave {
|
2020-07-13 12:03:14 +03:00
|
|
|
from "openenclave/edl/sgx/platform.edl" import *;
|
2020-09-18 18:17:23 +03:00
|
|
|
from "openenclave/edl/time.edl" import *;
|
2019-08-28 12:57:45 +03:00
|
|
|
|
2021-05-06 16:55:38 +03:00
|
|
|
include "common/enclave_interface_types.h"
|
2019-08-28 12:57:45 +03:00
|
|
|
|
2019-04-26 18:27:27 +03:00
|
|
|
trusted {
|
|
|
|
|
2021-05-06 16:55:38 +03:00
|
|
|
public CreateNodeStatus enclave_create_node(
|
|
|
|
[user_check] void* enclave_config,
|
2022-11-16 21:42:36 +03:00
|
|
|
[user_check] uint8_t* ccf_config,
|
2019-08-28 12:57:45 +03:00
|
|
|
size_t ccf_config_size,
|
2022-11-16 21:42:36 +03:00
|
|
|
[user_check] uint8_t* startup_snapshot,
|
|
|
|
size_t startup_snapshot_size,
|
2021-05-06 16:55:38 +03:00
|
|
|
[out, count=node_cert_size] uint8_t* node_cert,
|
2019-04-26 18:27:27 +03:00
|
|
|
size_t node_cert_size,
|
|
|
|
[out] size_t* node_cert_len,
|
2022-01-19 13:35:38 +03:00
|
|
|
[out, count=service_cert_size] uint8_t* service_cert,
|
|
|
|
size_t service_cert_size,
|
|
|
|
[out] size_t* service_cert_len,
|
2021-05-06 16:55:38 +03:00
|
|
|
[out, count=enclave_version_size] uint8_t* enclave_version,
|
|
|
|
size_t enclave_version_size,
|
|
|
|
[out] size_t* enclave_version_len,
|
2019-11-19 14:05:44 +03:00
|
|
|
StartType start_type,
|
2023-07-07 17:13:51 +03:00
|
|
|
LoggerLevel enclave_log_level,
|
2020-04-27 17:11:18 +03:00
|
|
|
size_t num_worker_thread,
|
2021-05-06 16:55:38 +03:00
|
|
|
[user_check] void* time_location,
|
2019-04-26 18:27:27 +03:00
|
|
|
);
|
|
|
|
|
|
|
|
public bool enclave_run();
|
|
|
|
};
|
|
|
|
};
|