Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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_call_vdso(void *rdi, void *rsi, long rdx, u32 function, void *r8, void *r9,
39 struct sgx_enclave_run *run);
40
41#endif /* MAIN_H */