summaryrefslogtreecommitdiffstats
path: root/c-user/config/posix-init-thread.rst
blob: 65ccfe8937192eeb709d064ef5064496149425f2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
.. SPDX-License-Identifier: CC-BY-SA-4.0

.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)

POSIX Initialization Thread Configuration
=========================================

This section describes configuration options related to the POSIX
initialization thread.

.. index:: CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT

.. _CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT:

CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT
---------------------------------------

CONSTANT:
    ``CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT``

OPTION TYPE:
    This configuration option is an initializer define.

DEFAULT VALUE:
    The default value is ``POSIX_Init``.

VALUE CONSTRAINTS:
    The value of this configuration option shall be defined to a valid function
    pointer of the type ``void *( *entry_point )( void * )``.

DESCRIPTION:
    The value of this configuration option initializes the entry point of the
    POSIX API initialization thread.

NOTES:
    The application shall provide the function referenced by this configuration
    option.

.. index:: CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE

.. _CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE:

CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE
--------------------------------------

CONSTANT:
    ``CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE``

OPTION TYPE:
    This configuration option is an integer define.

DEFAULT VALUE:
    The default value is :ref:`CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE`.

VALUE CONSTRAINTS:
    The value of this configuration option shall satisfy all of the following
    constraints:

    * It shall be greater than or equal to :ref:`CONFIGURE_MINIMUM_TASK_STACK_SIZE`.

    * It shall be small enough so that the task
      stack space calculation carried out by ``<rtems/confdefs.h>`` does not
      overflow an integer of type ``uintptr_t``.

DESCRIPTION:
    The value of this configuration option defines the thread stack size of the
    POSIX API initialization thread.

NOTES:
    None.

.. index:: CONFIGURE_POSIX_INIT_THREAD_TABLE

.. _CONFIGURE_POSIX_INIT_THREAD_TABLE:

CONFIGURE_POSIX_INIT_THREAD_TABLE
---------------------------------

CONSTANT:
    ``CONFIGURE_POSIX_INIT_THREAD_TABLE``

OPTION TYPE:
    This configuration option is a boolean feature define.

DEFAULT CONFIGURATION:
    If this configuration option is undefined, then the described feature is not
    enabled.

DESCRIPTION:
    In case this configuration option is defined, then exactly one POSIX
    initialization thread is configured.

NOTES:
    The application shall define exactly one of the following configuration
    options

    * :ref:`CONFIGURE_RTEMS_INIT_TASKS_TABLE`,

    * `CONFIGURE_POSIX_INIT_THREAD_TABLE`, or

    * :ref:`CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION`

    otherwise a compile time error in the configuration file will occur.