source: rtems/cpukit/include/machine/_kernel_types.h @ 2859e422

Last change on this file since 2859e422 was 2859e422, checked in by Sebastian Huber <sebastian.huber@…>, on 03/13/23 at 12:33:13

Provide kernel space items only if needed

The kernel space parts of standard system header files were protected
against misuse by a preprocessor error directive. This approach does
not work well with tools such as Doxygen. Provide the kernel space
items only if the required defines are present.

  • Property mode set to 100644
File size: 1.8 KB
Line 
1/* SPDX-License-Identifier: BSD-2-Clause */
2
3/**
4 * @file
5 *
6 * @brief This header file provides type definitions for the kernel space
7 *   (_KERNEL is defined before including <sys/types.h>).
8 */
9
10/*
11 * Copyright (C) 2016 embedded brains GmbH
12 *
13 * Redistribution and use in source and binary forms, with or without
14 * modification, are permitted provided that the following conditions
15 * are met:
16 * 1. Redistributions of source code must retain the above copyright
17 *    notice, this list of conditions and the following disclaimer.
18 * 2. Redistributions in binary form must reproduce the above copyright
19 *    notice, this list of conditions and the following disclaimer in the
20 *    documentation and/or other materials provided with the distribution.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
26 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 * POSSIBILITY OF SUCH DAMAGE.
33 */
34
35#if defined(_SYS_TYPES_H) && defined(_KERNEL)
36
37#include <stdbool.h>
38
39typedef int             boolean_t;
40typedef struct device   *device_t;
41typedef char            vm_memattr_t;
42typedef struct vm_page  *vm_page_t;
43
44#else /* !_SYS_TYPES_H || !_KERNEL */
45#error "must be included via <sys/types.h> in kernel space"
46#endif /* _SYS_TYPES_H && _KERNEL */
Note: See TracBrowser for help on using the repository browser.