blob: 3ef35089b5485419ad92be19560c09090c7395b1 [file] [log] [blame]
Travis Geiselbrecht1d0df692008-09-01 02:26:09 -07001/*
Travis Geiselbrecht671cb792009-06-28 11:27:48 -07002 * Copyright (c) 2008-2009 Travis Geiselbrecht
Travis Geiselbrecht1d0df692008-09-01 02:26:09 -07003 *
4 * Permission is hereby granted, free of charge, to any person obtaining
5 * a copy of this software and associated documentation files
6 * (the "Software"), to deal in the Software without restriction,
7 * including without limitation the rights to use, copy, modify, merge,
8 * publish, distribute, sublicense, and/or sell copies of the Software,
9 * and to permit persons to whom the Software is furnished to do so,
10 * subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be
13 * included in all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 */
23#ifndef __SYS_TYPES_H
24#define __SYS_TYPES_H
25
26#ifndef __cplusplus
27#define false 0
28#define true 1
29typedef int bool;
30#endif
31
32#include <stddef.h>
33#include <limits.h>
34#include <stdint.h>
35
36typedef unsigned char uchar;
37typedef unsigned short ushort;
38typedef unsigned int uint;
39typedef unsigned long ulong;
40typedef unsigned char u_char;
41typedef unsigned short u_short;
42typedef unsigned int u_int;
43typedef unsigned long u_long;
44
Travis Geiselbrechtdfd2eb62008-09-05 04:26:25 -070045#ifndef _SIZE_T_DEFINED_
Travis Geiselbrecht1d0df692008-09-01 02:26:09 -070046typedef unsigned long size_t;
Travis Geiselbrechtdfd2eb62008-09-05 04:26:25 -070047#endif
Travis Geiselbrecht1d0df692008-09-01 02:26:09 -070048typedef long ssize_t;
49typedef long long off_t;
50
51typedef int status_t;
52
53typedef uintptr_t addr_t;
54typedef uintptr_t vaddr_t;
55typedef uintptr_t paddr_t;
56
57typedef int kobj_id;
58
59typedef unsigned long time_t;
60typedef unsigned long long bigtime_t;
Channagoud Kadabifb6ff7e2015-07-13 20:13:05 -070061typedef uint8_t uint8;
62typedef uint16_t uint16;
63typedef uint32_t uint32;
64typedef uint64_t uint64;
65typedef int boolean;
66typedef int8_t int8;
67typedef int16_t int16;
68typedef int32_t int32;
69typedef bool boolean;
70
71#ifndef TRUE
72#define TRUE true
73#endif
74#ifndef FALSE
75#define FALSE false
76#endif
77
Travis Geiselbrecht1d0df692008-09-01 02:26:09 -070078#define INFINITE_TIME ULONG_MAX
79
Amol Jadi9ef9b732011-05-23 16:00:17 -070080#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
81
Travis Geiselbrecht671cb792009-06-28 11:27:48 -070082#define TIME_GTE(a, b) ((long)((a) - (b)) >= 0)
83#define TIME_LTE(a, b) ((long)((a) - (b)) <= 0)
84#define TIME_GT(a, b) ((long)((a) - (b)) > 0)
85#define TIME_LT(a, b) ((long)((a) - (b)) < 0)
86
Travis Geiselbrecht1d0df692008-09-01 02:26:09 -070087enum handler_return {
88 INT_NO_RESCHEDULE = 0,
89 INT_RESCHEDULE,
90};
91
92#endif