blob: d71abd9bac71f546ed1221a424d70252c5464702 [file] [log] [blame]
Daniel Eratb8cf9492015-07-06 13:18:13 -06001// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// This file contains definitions of our old basic integral types
6// ((u)int{8,16,32,64}) and further includes. I recommend that you use the C99
7// standard types instead, and include <stdint.h>/<stddef.h>/etc. as needed.
8// Note that the macros and macro-like constructs that were formerly defined in
9// this file are now available separately in base/macros.h.
10
11#ifndef BASE_BASICTYPES_H_
12#define BASE_BASICTYPES_H_
13
14#include <limits.h> // So we can set the bounds of our types.
15#include <stddef.h> // For size_t.
16#include <stdint.h> // For intptr_t.
17
18#include "base/macros.h"
19#include "build/build_config.h"
20
21// DEPRECATED: Please use (u)int{8,16,32,64}_t instead (and include <stdint.h>).
22typedef int8_t int8;
23typedef uint8_t uint8;
24typedef int16_t int16;
25typedef uint16_t uint16;
26typedef int32_t int32;
27typedef uint32_t uint32;
28typedef int64_t int64;
29typedef uint64_t uint64;
30
31// DEPRECATED: Please use std::numeric_limits (from <limits>) instead.
32const uint8 kuint8max = 0xFF;
33const uint16 kuint16max = 0xFFFF;
34const uint32 kuint32max = 0xFFFFFFFF;
35const uint64 kuint64max = 0xFFFFFFFFFFFFFFFFULL;
36const int8 kint8min = -0x7F - 1;
37const int8 kint8max = 0x7F;
38const int16 kint16min = -0x7FFF - 1;
39const int16 kint16max = 0x7FFF;
40const int32 kint32min = -0x7FFFFFFF - 1;
41const int32 kint32max = 0x7FFFFFFF;
42const int64 kint64min = -0x7FFFFFFFFFFFFFFFLL - 1;
43const int64 kint64max = 0x7FFFFFFFFFFFFFFFLL;
44
45#endif // BASE_BASICTYPES_H_