]>
Commit | Line | Data |
---|---|---|
9239eeab GB |
1 | /* Declarations for common types. |
2 | ||
213516ef | 3 | Copyright (C) 1986-2023 Free Software Foundation, Inc. |
9239eeab GB |
4 | |
5 | This file is part of GDB. | |
6 | ||
7 | This program is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License as published by | |
9 | the Free Software Foundation; either version 3 of the License, or | |
10 | (at your option) any later version. | |
11 | ||
12 | This program is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | |
19 | ||
1a5c2598 TT |
20 | #ifndef COMMON_COMMON_TYPES_H |
21 | #define COMMON_COMMON_TYPES_H | |
9239eeab | 22 | |
21329136 | 23 | #include <inttypes.h> |
9239eeab GB |
24 | |
25 | /* * A byte from the program being debugged. */ | |
26 | typedef unsigned char gdb_byte; | |
27 | ||
9239eeab | 28 | /* * An address in the program being debugged. Host byte order. */ |
21329136 | 29 | typedef uint64_t CORE_ADDR; |
9239eeab | 30 | |
e30deeb0 TT |
31 | /* Like a CORE_ADDR, but not directly convertible. This is used to |
32 | represent an unrelocated CORE_ADDR. DEFINE_OFFSET_TYPE is not used | |
33 | here because there's no need to add or subtract values of this | |
34 | type. */ | |
35 | enum class unrelocated_addr : CORE_ADDR { }; | |
36 | ||
21329136 | 37 | /* LONGEST must be at least as big as CORE_ADDR. */ |
9239eeab | 38 | |
21329136 TT |
39 | typedef int64_t LONGEST; |
40 | typedef uint64_t ULONGEST; | |
9239eeab GB |
41 | |
42 | /* * The largest CORE_ADDR value. */ | |
7bc02706 TT |
43 | #define CORE_ADDR_MAX (~(CORE_ADDR) 0) |
44 | ||
4a9efa5d | 45 | /* * The largest ULONGEST value, 0xFFFFFFFFFFFFFFFF for 64-bits. */ |
7bc02706 | 46 | #define ULONGEST_MAX (~(ULONGEST) 0) |
9239eeab | 47 | |
4a9efa5d MR |
48 | /* * The largest LONGEST value, 0x7FFFFFFFFFFFFFFF for 64-bits. */ |
49 | #define LONGEST_MAX ((LONGEST) (ULONGEST_MAX >> 1)) | |
50 | ||
51 | /* * The smallest LONGEST value, 0x8000000000000000 for 64-bits. */ | |
52 | #define LONGEST_MIN ((LONGEST) (~(LONGEST) 0 ^ LONGEST_MAX)) | |
53 | ||
dd2e65cc YQ |
54 | enum tribool { TRIBOOL_UNKNOWN = -1, TRIBOOL_FALSE = 0, TRIBOOL_TRUE = 1 }; |
55 | ||
1a5c2598 | 56 | #endif /* COMMON_COMMON_TYPES_H */ |