linux/tools/testing/selftests/sgx/main.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * Copyright(c) 2016-20 Intel Corporation.
   4 */
   5
   6#ifndef MAIN_H
   7#define MAIN_H
   8
   9struct encl_segment {
  10        off_t offset;
  11        size_t size;
  12        unsigned int prot;
  13        unsigned int flags;
  14};
  15
  16struct encl {
  17        int fd;
  18        void *bin;
  19        off_t bin_size;
  20        void *src;
  21        size_t src_size;
  22        size_t encl_size;
  23        off_t encl_base;
  24        unsigned int nr_segments;
  25        struct encl_segment *segment_tbl;
  26        struct sgx_secs secs;
  27        struct sgx_sigstruct sigstruct;
  28};
  29
  30extern unsigned char sign_key[];
  31extern unsigned char sign_key_end[];
  32
  33void encl_delete(struct encl *ctx);
  34bool encl_load(const char *path, struct encl *encl);
  35bool encl_measure(struct encl *encl);
  36bool encl_build(struct encl *encl);
  37
  38int sgx_enter_enclave(void *rdi, void *rsi, long rdx, u32 function, void *r8, void *r9,
  39                      struct sgx_enclave_run *run);
  40
  41#endif /* MAIN_H */
  42