1// See LICENSE for license details. 2 3#ifndef _RISCV_FRONTEND_H 4#define _RISCV_FRONTEND_H 5 6#include <stdint.h> 7#include <sys/stat.h> 8 9void shutdown(int) __attribute__((noreturn)); 10long frontend_syscall(long n, uint64_t a0, uint64_t a1, uint64_t a2, uint64_t a3, uint64_t a4, uint64_t a5, uint64_t a6); 11 12struct frontend_stat { 13 uint64_t dev; 14 uint64_t ino; 15 uint32_t mode; 16 uint32_t nlink; 17 uint32_t uid; 18 uint32_t gid; 19 uint64_t rdev; 20 uint64_t __pad1; 21 uint64_t size; 22 uint32_t blksize; 23 uint32_t __pad2; 24 uint64_t blocks; 25 uint64_t atime; 26 uint64_t __pad3; 27 uint64_t mtime; 28 uint64_t __pad4; 29 uint64_t ctime; 30 uint64_t __pad5; 31 uint32_t __unused4; 32 uint32_t __unused5; 33}; 34 35void copy_stat(struct stat* dest, struct frontend_stat* src); 36 37#endif 38