| #pragma once | 
 |  | 
 | typedef bool (*dune_syscall_t)(struct vm_trapframe *); | 
 |  | 
 | struct dune_sys_table_entry { | 
 | 	dune_syscall_t call; | 
 | 	const char *name; | 
 | }; | 
 |  | 
 | struct linux_stat_amd64 { | 
 | 	uint64_t  st_dev; | 
 | 	uint64_t  st_ino; | 
 | 	uint64_t  st_nlink; | 
 | 	uint32_t  st_mode; | 
 | 	uint32_t  st_uid; | 
 | 	uint32_t  st_gid; | 
 | 	int32_t   pad; | 
 | 	uint64_t  st_rdev; | 
 | 	int64_t   st_size; | 
 | 	int64_t   st_blksize; | 
 | 	int64_t   st_blocks; | 
 | 	struct timespec st_atim; | 
 | 	struct timespec st_mtim; | 
 | 	struct timespec st_ctim; | 
 | 	int64_t  unused[3]; | 
 | }; | 
 |  | 
 | #define DUNE_MAX_NUM_SYSCALLS 1024 | 
 |  | 
 | extern struct dune_sys_table_entry dune_syscall_table[]; | 
 |  | 
 | bool init_linuxemu(void); | 
 | void init_lemu_logging(int logging_level); | 
 | void destroy_lemu_logging(void); | 
 | void lemuprint(const uint32_t tid, uint64_t syscall_number, | 
 |                const bool isError, const char *fmt, ...); | 
 |  | 
 | bool dune_sys_write(struct vm_trapframe *tf); | 
 | bool dune_sys_read(struct vm_trapframe *tf); |