ecall_types.h 747 B

123456789101112131415161718192021222324252627282930313233
  1. /* -*- mode:c; c-file-style:"k&r"; c-basic-offset: 4; tab-width:4; indent-tabs-mode:nil; mode:auto-fill; fill-column:78; -*- */
  2. /* vim: set ts=4 sw=4 et tw=78 fo=cqt wm=0: */
  3. enum {
  4. ECALL_PAL_MAIN = 0,
  5. ECALL_THREAD_START,
  6. ECALL_NR,
  7. };
  8. typedef struct {
  9. int ms_counter;
  10. int ms_event;
  11. void * ms_arg;
  12. } ms_thread_ext_event_t;
  13. struct pal_sec;
  14. typedef struct {
  15. int ms_argc;
  16. const char ** ms_argv;
  17. const char ** ms_envp;
  18. void * ms_addr;
  19. struct pal_sec * ms_sec_info;
  20. void * ms_enclave_base;
  21. unsigned long ms_enclave_size;
  22. } ms_ecall_pal_main_t;
  23. typedef struct {
  24. void (*ms_func) (void *);
  25. void * ms_arg;
  26. unsigned int * ms_child_tid;
  27. unsigned int ms_tid;
  28. } ms_ecall_thread_start_t;