123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- enclave {
- include "stdbool.h"
- include "sgx_tcrypto.h"
- include "sgx_tseal.h"
- include "../Enclave/enclave_api.h"
- from "sgx_pthread.edl" import *;
- from "sgx_tstdc.edl" import sgx_thread_wait_untrusted_event_ocall, sgx_thread_set_untrusted_event_ocall, sgx_thread_setwait_untrusted_events_ocall, sgx_thread_set_multiple_untrusted_events_ocall;
- trusted {
- public void ecall_identity_key_new(
- [out] sgx_ec256_public_t *outpub,
- [out,size=610] sgx_sealed_data_t *outsealedpriv);
- public bool ecall_identity_key_load(
- [out] sgx_ec256_public_t *outpub,
- [in,size=610] const sgx_sealed_data_t *insealedpriv);
- public bool ecall_config_load(
- threadid_t nthreads,
- [in] struct EnclaveAPIParams *apiparams,
- [in,count=num_nodes] struct EnclaveAPINodeConfig *apinodeconfigs,
- nodenum_t num_nodes, nodenum_t my_node_num);
- public void ecall_close();
- public bool ecall_comms_start(
- [user_check]void *cbpointer);
- public bool ecall_message(
- nodenum_t node_num, uint32_t message_len);
- public bool ecall_chunk(
- nodenum_t node_num,
- [user_check] const uint8_t *chunkdata,
- uint32_t chunklen);
- public size_t ecall_precompute_sort(int sizeidx);
- public bool ecall_ingest_raw(
- [user_check] uint8_t *msgs,
- uint32_t num_msgs);
- public void ecall_routing_proceed(
- [user_check]void *cbpointer);
- public bool ecall_ingest_msgbundle(clientid_t cid,
- [user_check] uint8_t *msgbundle,
- uint32_t num_msgs);
- public bool ecall_ingestion_authenticate(clientid_t cid,
- [user_check] uint8_t *auth_string);
- public bool ecall_storage_authenticate(clientid_t cid,
- [user_check] uint8_t *auth_string);
- public void ecall_supply_storage_buffers(
- [user_check] unsigned char *mailboxes,
- uint32_t mailboxes_size,
- [user_check] unsigned char *tokens,
- uint32_t tokens_size);
- };
- untrusted {
- void ocall_print_string(
- [in, string] const char *str);
- unsigned long ocall_print_string_with_rtclock(
- [in, string] const char *str);
- unsigned long ocall_print_string_with_rtclock_diff(
- [in, string] const char *str, unsigned long before);
- uint8_t *ocall_message(
- nodenum_t node_num, uint32_t message_len);
- uint8_t *ocall_chunk(
- nodenum_t node_num,
- [user_check] uint8_t *chunkdata,
- uint32_t chunklen);
- void ocall_comms_ready(
- [user_check] void *cbpointer);
- void ocall_routing_round_complete(
- [user_check] void *cbpointer,
- uint32_t round_num);
- };
- };
|