#ifndef __FAILURES_H
#define __FAILURES_H
#include <types.h>
#include <api/errors.h>
enum exception {
EXCEPTION_NONE,
EXCEPTION_FAULT,
EXCEPTION_LOOKUP_FAULT,
EXCEPTION_SYSCALL_ERROR,
EXCEPTION_PREEMPTED
};
typedef word_t exception_t;
typedef word_t syscall_error_type_t;
struct syscall_error {
word_t invalidArgumentNumber;
word_t invalidCapNumber;
word_t rangeErrorMin;
word_t rangeErrorMax;
word_t memoryLeft;
bool_t failedLookupWasSource;
syscall_error_type_t type;
};
typedef struct syscall_error syscall_error_t;
extern lookup_fault_t current_lookup_fault;
extern seL4_Fault_t current_fault;
extern syscall_error_t current_syscall_error;
#endif