123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #include "sgx_trts.h"
- #include "../Enclave.h"
- #include "Enclave_t.h"
- void ecall_array_user_check(int arr[4])
- {
- if (sgx_is_outside_enclave(arr, 4 * sizeof(int)) != 1)
- abort();
-
- for (int i = 0; i < 4; i++) {
- assert(arr[i] == i);
- arr[i] = 3 - i;
- }
- }
- void ecall_array_in(int arr[4])
- {
- for (int i = 0; i < 4; i++) {
- assert(arr[i] == i);
- arr[i] = (3 - i);
- }
- }
- void ecall_array_out(int arr[4])
- {
- for (int i = 0; i < 4; i++) {
-
- assert(arr[i] == 0);
- arr[i] = (3 - i);
- }
- }
- void ecall_array_in_out(int arr[4])
- {
- for (int i = 0; i < 4; i++) {
- assert(arr[i] == i);
- arr[i] = (3 - i);
- }
- }
- void ecall_array_isary(array_t arr)
- {
- if (sgx_is_outside_enclave(arr, sizeof(array_t)) != 1)
- abort();
- int n = sizeof(array_t)/sizeof(arr[0]);
- for (int i = 0; i < n; i++) {
- assert(arr[i] == i);
- arr[i] = (n - 1 - i);
- }
- }
|