source: mainline/kernel/arch/arm32/include/types.h@ 009474f

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 009474f was 009474f, checked in by Jiri Svoboda <jirik.svoboda@…>, 18 years ago

Make arm32 compile again.

  • Property mode set to 100644
File size: 3.3 KB
Line 
1/*
2 * Copyright (c) 2007 Pavel Jancik, Michal Kebrt
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * - 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 * - 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 ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29/** @addtogroup arm32
30 * @{
31 */
32/** @file
33 * @brief Type definitions.
34 */
35
36#ifndef KERN_arm32_TYPES_H_
37#define KERN_arm32_TYPES_H_
38
39#ifndef DOXYGEN
40# define ATTRIBUTE_PACKED __attribute__ ((packed))
41#else
42# define ATTRIBUTE_PACKED
43#endif
44
45typedef signed char int8_t;
46typedef signed short int16_t;
47typedef signed long int32_t;
48typedef signed long long int64_t;
49
50typedef unsigned char uint8_t;
51typedef unsigned short uint16_t;
52typedef unsigned long uint32_t;
53typedef unsigned long long uint64_t;
54
55typedef uint32_t size_t;
56typedef uint32_t count_t;
57typedef uint32_t index_t;
58
59typedef uint32_t uintptr_t;
60typedef uint32_t pfn_t;
61
62typedef uint32_t ipl_t;
63
64typedef uint32_t unative_t;
65typedef int32_t native_t;
66
67#define PRIp "x" /**< Format for uintptr_t. */
68#define PRIs "u" /**< Format for size_t. */
69#define PRIc "u" /**< Format for count_t. */
70#define PRIi "u" /**< Format for index_t. */
71
72#define PRId8 "d" /**< Format for int8_t. */
73#define PRId16 "d" /**< Format for int16_t. */
74#define PRId32 "d" /**< Format for int32_t. */
75#define PRId64 "lld" /**< Format for int64_t. */
76#define PRIdn "d" /**< Format for native_t. */
77
78#define PRIu8 "u" /**< Format for uint8_t. */
79#define PRIu16 "u" /**< Format for uint16_t. */
80#define PRIu32 "u" /**< Format for uint32_t. */
81#define PRIu64 "llu" /**< Format for uint64_t. */
82#define PRIun "u" /**< Format for unative_t. */
83
84#define PRIx8 "x" /**< Format for hexadecimal (u)int8_t. */
85#define PRIx16 "x" /**< Format for hexadecimal (u)int16_t. */
86#define PRIx32 "x" /**< Format for hexadecimal (u)uint32_t. */
87#define PRIx64 "llx" /**< Format for hexadecimal (u)int64_t. */
88#define PRIxn "x" /**< Format for hexadecimal (u)native_t. */
89
90/** Page table entry.
91 *
92 * We have different structs for level 0 and level 1 page table entries.
93 * See page.h for definition of pte_level*_t.
94 */
95typedef struct {
96 unsigned dummy : 32;
97} pte_t;
98
99#endif
100
101/** @}
102 */
Note: See TracBrowser for help on using the repository browser.