30 lines
1.1 KiB
Plaintext
30 lines
1.1 KiB
Plaintext
enclave {
|
|
include "sys/types.h"
|
|
include "sgx_key.h"
|
|
|
|
from "sgx_tstdc.edl" import *;
|
|
from "sgx_tprotected_fs.edl" import *;
|
|
|
|
trusted {
|
|
public int ecall_protect([in, string] const char* input_path,
|
|
[in, string] const char* output_path);
|
|
public int ecall_show([in, string] const char* input_path,
|
|
[in, string] const char* output_path);
|
|
public int ecall_show_mac([in, string] const char* input_path);
|
|
};
|
|
|
|
untrusted {
|
|
// File operations
|
|
int ocall_open_for_write([in, string] const char* path);
|
|
int ocall_open_for_read([in, string] const char* path);
|
|
ssize_t ocall_read(int fd, [out, size=size] void* buf, size_t size);
|
|
ssize_t ocall_write(int fd, [in, size=size] const void* buf, size_t size);
|
|
int ocall_close(int fd);
|
|
|
|
// Print to the standard output
|
|
void ocall_print([in, string] const char* msg);
|
|
// Print to the standard error
|
|
void ocall_eprint([in, string] const char* msg);
|
|
};
|
|
};
|