brintos

brintos / linux-shallow public Read only

0
0
Text · 993 B · fc585be Raw
47 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright(c) 2016-20 Intel Corporation.4 */5 6#ifndef MAIN_H7#define MAIN_H8 9#define ENCL_HEAP_SIZE_DEFAULT	409610 11struct encl_segment {12	void *src;13	off_t offset;14	size_t size;15	unsigned int prot;16	unsigned int flags;17	bool measure;18};19 20struct encl {21	int fd;22	void *bin;23	off_t bin_size;24	void *src;25	size_t src_size;26	size_t encl_size;27	off_t encl_base;28	unsigned int nr_segments;29	struct encl_segment *segment_tbl;30	struct sgx_secs secs;31	struct sgx_sigstruct sigstruct;32};33 34extern unsigned char sign_key[];35extern unsigned char sign_key_end[];36 37void encl_delete(struct encl *ctx);38bool encl_load(const char *path, struct encl *encl, unsigned long heap_size);39bool encl_measure(struct encl *encl);40bool encl_build(struct encl *encl);41uint64_t encl_get_entry(struct encl *encl, const char *symbol);42 43int sgx_enter_enclave(void *rdi, void *rsi, long rdx, u32 function, void *r8, void *r9,44		      struct sgx_enclave_run *run);45 46#endif /* MAIN_H */47