blob: 0f21e29024c405c5f4e072248abc80ac8fe9933f [file]
/*
* Copyright 2020, Data61
* Commonwealth Scientific and Industrial Research Organisation (CSIRO)
* ABN 41 687 119 230.
*
* This software may be distributed and modified according to the terms of
* the BSD 2-Clause license. Note that NO WARRANTY is provided.
* See "LICENSE_BSD2.txt" for details.
*
* @TAG(DATA61_BSD)
*/
#pragma once
/*
* This is a very naive implementation of stdint that should work for
* most major platforms. This is the minimal subset needed for the
* runtime.
*/
_Static_assert(sizeof(char) == 1, "char is 8 bits");
_Static_assert(sizeof(short) == 2, "short is 16 bits");
_Static_assert(sizeof(int) == 4, "int is 32 bits");
_Static_assert(sizeof(long long) == 8, "long long is 64 bits");
_Static_assert(sizeof(long) == sizeof(void *), "long is word size");
/* Fixed size integer types */
typedef signed char sel4runtime_int8_t;
typedef signed short sel4runtime_int16_t;
typedef signed int sel4runtime_int32_t;
typedef signed long long sel4runtime_int64_t;
typedef unsigned char sel4runtime_uint8_t;
typedef unsigned short sel4runtime_uint16_t;
typedef unsigned int sel4runtime_uint32_t;
typedef unsigned long long sel4runtime_uint64_t;
/* Word-sized integer types */
typedef signed long sel4runtime_intptr_t;
typedef unsigned long sel4runtime_uintptr_t;