#ifndef __API_CONSTANTS_H
#define __API_CONSTANTS_H
#ifdef HAVE_AUTOCONF
#include <autoconf.h>
#endif
#define LIBSEL4_BIT(n) (1ul<<(n))
#ifdef CONFIG_HARDWARE_DEBUG_API
typedef enum {
seL4_DataBreakpoint = 0,
seL4_InstructionBreakpoint,
seL4_SingleStep,
seL4_SoftwareBreakRequest,
SEL4_FORCE_LONG_ENUM(seL4_BreakpointType)
} seL4_BreakpointType;
typedef enum {
seL4_BreakOnRead = 0,
seL4_BreakOnWrite,
seL4_BreakOnReadWrite,
seL4_MaxBreakpointAccess,
SEL4_FORCE_LONG_ENUM(seL4_BreakpointAccess)
} seL4_BreakpointAccess;
enum {
seL4_DebugException_FaultIP,
seL4_DebugException_ExceptionReason,
seL4_DebugException_TriggerAddress,
seL4_DebugException_BreakpointNumber,
seL4_DebugException_Length,
SEL4_FORCE_LONG_ENUM(seL4_DebugException_Msg)
} seL4_DebugException_Msg;
#endif
enum priorityConstants {
seL4_InvalidPrio = -1,
seL4_MinPrio = 0,
seL4_MaxPrio = CONFIG_NUM_PRIORITIES - 1
};
enum seL4_MsgLimits {
seL4_MsgLengthBits = 7,
seL4_MsgExtraCapBits = 2
};
enum {
seL4_MsgMaxLength = 120,
};
#define seL4_MsgMaxExtraCaps (LIBSEL4_BIT(seL4_MsgExtraCapBits)-1)
typedef enum {
seL4_NoFailure = 0,
seL4_InvalidRoot,
seL4_MissingCapability,
seL4_DepthMismatch,
seL4_GuardMismatch,
SEL4_FORCE_LONG_ENUM(seL4_LookupFailureType),
} seL4_LookupFailureType;
#endif