source: rtems/cpukit/include/machine/_kernel_param.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: 2.3 KB
Line 
1/* SPDX-License-Identifier: BSD-2-Clause */
2
3/**
4 * @file
5 *
6 * @brief This header file provides parameter definitions for the kernel space
7 *   (_KERNEL is defined before including <sys/param.h>).
8 */
9
10/*
11 * Copyright (C) 2017 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#include <sys/cdefs.h>
36#include <sys/errno.h>
37#include <sys/time.h>
38#include <sys/priority.h>
39
40#if defined(_SYS_PARAM_H_) && defined(_KERNEL)
41
42#ifndef FALSE
43#define FALSE   0
44#endif
45#ifndef TRUE
46#define TRUE    1
47#endif
48
49#ifndef _BYTEORDER_PROTOTYPED
50#define _BYTEORDER_PROTOTYPED
51__BEGIN_DECLS
52__uint32_t       htonl(__uint32_t);
53__uint16_t       htons(__uint16_t);
54__uint32_t       ntohl(__uint32_t);
55__uint16_t       ntohs(__uint16_t);
56__END_DECLS
57#endif
58
59#ifndef _BYTEORDER_FUNC_DEFINED
60#define _BYTEORDER_FUNC_DEFINED
61#define htonl(x)        __htonl(x)
62#define htons(x)        __htons(x)
63#define ntohl(x)        __ntohl(x)
64#define ntohs(x)        __ntohs(x)
65#endif /* !_BYTEORDER_FUNC_DEFINED */
66
67#else /* !_SYS_PARAM_H_ || !_KERNEL */
68#error "must be included via <sys/param.h> in kernel space"
69#endif /* _SYS_PARAM_H_ && _KERNEL */
Note: See TracBrowser for help on using the repository browser.