#ifndef SBI_H #define SBI_H #include #include #define EID_DEBUG_CONSOLE 0x4442434E #define EID_TIMER 0x54494D45 #define FID_CONSOLE_WRITE 0 #define FID_SET_TIMER 0 typedef struct { long error; long value; } sbiret; sbiret sbi_ecall6( int fid, int eid, size_t arg0, size_t arg1, size_t arg2, size_t arg3, size_t arg4, size_t arg5); #define sbi_ecall5(fid, eid, a0, a1, a2, a3, a4) sbi_ecall6(fid, eid, a0, a1, a2, a3, a4, 0) #define sbi_ecall4(fid, eid, a0, a1, a2, a3) sbi_ecall5(fid, eid, a0, a1, a2, a3, 0) #define sbi_ecall3(fid, eid, a0, a1, a2) sbi_ecall4(fid, eid, a0, a1, a2, 0) #define sbi_ecall2(fid, eid, a0, a1) sbi_ecall3(fid, eid, a0, a1, 0) #define sbi_ecall1(fid, eid, a0) sbi_ecall2(fid, eid, a0, 0) #define sbi_ecall0(fid, eid) sbi_ecall1(fid, eid, 0) sbiret sbi_debug_console_write(const char* str, size_t len); sbiret sbi_set_timer(uint64_t stime_value); #endif