blob: b5c233c8c38f5b19253e1a11422441fa09e0f076 [file] [log] [blame]
Patrick Georgi980a69b2010-06-24 11:16:10 +00001/*
2 * This file is part of the libpayload project.
3 *
4 * Copyright (C) 2010 coresystems GmbH
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
28 */
29
Patrick Georgifa622fc2011-03-01 07:13:10 +000030#ifndef __STDINT_H
31#define __STDINT_H
Stefan Reinauerc7b6d7d2013-03-25 15:03:41 -070032
Patrick Georgi980a69b2010-06-24 11:16:10 +000033#include <arch/types.h>
Patrick Georgifa622fc2011-03-01 07:13:10 +000034
Stefan Reinauerc7b6d7d2013-03-25 15:03:41 -070035typedef long long int intmax_t;
36typedef unsigned long long uintmax_t;
37
Patrick Georgifa622fc2011-03-01 07:13:10 +000038typedef unsigned long uintptr_t;
Hung-Te Lind01d0362013-01-25 12:42:40 +080039typedef long intptr_t;
Stefan Reinauerc7b6d7d2013-03-25 15:03:41 -070040
Patrick Georgi744729a2015-10-16 15:07:15 +020041typedef long ptrdiff_t;
Stefan Taunercb47d892013-06-25 18:48:31 +020042
43#define INT8_MAX (127)
44#define INT16_MAX (32767)
45#define INT32_MAX (2147483647)
46#define INT64_MAX (9223372036854775807LL)
47
48#define INT8_MIN (-INT8_MAX - 1)
49#define INT16_MIN (-INT16_MIN - 1)
50#define INT32_MIN (-INT32_MIN - 1)
51#define INT64_MIN (-INT64_MIN - 1)
52
53#define UINT8_MAX (255)
54#define UINT16_MAX (65535)
55#define UINT32_MAX (4294967295U)
56#define UINT64_MAX (18446744073709551615ULL)
Stefan Reinauerc7b6d7d2013-03-25 15:03:41 -070057
Patrick Georgifa622fc2011-03-01 07:13:10 +000058#endif