summaryrefslogtreecommitdiff
path: root/spec/if/rtems/config
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-14 08:29:58 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-28 10:38:23 +0200
commitcae542a3541dc5e34d4cf36bc37967e09d0661e2 (patch)
tree3a26a37619a4248460e80e0bbaa7e7d90eb05440 /spec/if/rtems/config
parentf9cff66d1c1fe69e0814602403279cdf001d36cb (diff)
spec: Add more interface specification items
Diffstat (limited to 'spec/if/rtems/config')
-rw-r--r--spec/if/rtems/config/api-table.yml117
-rw-r--r--spec/if/rtems/config/get-api-configuration.yml25
-rw-r--r--spec/if/rtems/config/get-do-zero-of-workspace.yml24
-rw-r--r--spec/if/rtems/config/get-idle-task-stack-size.yml23
-rw-r--r--spec/if/rtems/config/get-idle-task.yml23
-rw-r--r--spec/if/rtems/config/get-interrupt-stack-size.yml23
-rw-r--r--spec/if/rtems/config/get-maximum-barriers.yml26
-rw-r--r--spec/if/rtems/config/get-maximum-extensions.yml26
-rw-r--r--spec/if/rtems/config/get-maximum-message-queues.yml26
-rw-r--r--spec/if/rtems/config/get-maximum-partitions.yml26
-rw-r--r--spec/if/rtems/config/get-maximum-periods.yml26
-rw-r--r--spec/if/rtems/config/get-maximum-ports.yml26
-rw-r--r--spec/if/rtems/config/get-maximum-processors.yml29
-rw-r--r--spec/if/rtems/config/get-maximum-regions.yml26
-rw-r--r--spec/if/rtems/config/get-maximum-semaphores.yml26
-rw-r--r--spec/if/rtems/config/get-maximum-tasks.yml26
-rw-r--r--spec/if/rtems/config/get-maximum-timers.yml26
-rw-r--r--spec/if/rtems/config/get-microseconds-per-tick.yml23
-rw-r--r--spec/if/rtems/config/get-milliseconds-per-tick.yml23
-rw-r--r--spec/if/rtems/config/get-nanoseconds-per-tick.yml23
-rw-r--r--spec/if/rtems/config/get-number-of-initial-extensions.yml23
-rw-r--r--spec/if/rtems/config/get-stack-allocate-hook.yml23
-rw-r--r--spec/if/rtems/config/get-stack-allocate-init-hook.yml23
-rw-r--r--spec/if/rtems/config/get-stack-allocator-avoids-work-space.yml24
-rw-r--r--spec/if/rtems/config/get-stack-free-hook.yml23
-rw-r--r--spec/if/rtems/config/get-stack-space-size.yml26
-rw-r--r--spec/if/rtems/config/get-ticks-per-timeslice.yml23
-rw-r--r--spec/if/rtems/config/get-unified-work-area.yml24
-rw-r--r--spec/if/rtems/config/get-user-extension-table.yml24
-rw-r--r--spec/if/rtems/config/get-user-multiprocessing-table.yml26
-rw-r--r--spec/if/rtems/config/get-work-space-size.yml26
-rw-r--r--spec/if/rtems/config/header-2.yml10
-rw-r--r--spec/if/rtems/config/header.yml16
-rw-r--r--spec/if/rtems/config/resource-is-unlimited.yml26
-rw-r--r--spec/if/rtems/config/resource-maximum-per-allocation.yml26
-rw-r--r--spec/if/rtems/config/resource-unlimited.yml26
-rw-r--r--spec/if/rtems/config/stack-allocate-hook.yml19
-rw-r--r--spec/if/rtems/config/stack-allocate-init-hook.yml19
-rw-r--r--spec/if/rtems/config/stack-free-hook.yml19
-rw-r--r--spec/if/rtems/config/unlimited-objects.yml19
40 files changed, 1038 insertions, 0 deletions
diff --git a/spec/if/rtems/config/api-table.yml b/spec/if/rtems/config/api-table.yml
new file mode 100644
index 00000000..74eccb12
--- /dev/null
+++ b/spec/if/rtems/config/api-table.yml
@@ -0,0 +1,117 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR)
+enabled-by: true
+interface-brief: |
+ This structure contains a summary of the Classic API configuration.
+interface-definition:
+- default:
+ brief: |
+ This field contains the maximum number of Classic API Tasks which are
+ configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} maximum_tasks
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field indicates if Classic API Notepads are enabled or disabled for
+ this application.
+ definition: ${/if/c/bool:/interface-name} notepads_enabled
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the maximum number of Classic API Timers which are
+ configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} maximum_timers
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the maximum number of Classic API Semaphores which
+ are configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} maximum_semaphores
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the maximum number of Classic API Message Queues
+ which are configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} maximum_message_queues
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the maximum number of Classic API Partitions which
+ are configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} maximum_partitions
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the maximum number of Classic API Regions which are
+ configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} maximum_regions
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the maximum number of Classic API Dual Ported Memory
+ Areas which are configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} maximum_ports
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the maximum number of Classic API Rate Monotonic
+ Periods which are configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} maximum_periods
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the maximum number of Classic API Barriers which are
+ configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} maximum_barriers
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the number of Classic API Initialization
+ Tasks which are configured for this application.
+ definition: ${/if/c/uint32_t:/interface-name} number_of_initialization_tasks
+ description: null
+ kind: member
+ variants: []
+- default:
+ brief: |
+ This field contains the pointer to Classic API Initialization Tasks Table
+ of this application.
+ definition: const rtems_initialization_tasks_table *User_initialization_tasks_table
+ description: null
+ kind: member
+ variants: []
+interface-definition-kind: typedef-only
+interface-description: |
+ Use ${get-api-configuration:/interface-name}() to get the configuration
+ table.
+interface-name: rtems_api_configuration_table
+interface-notes: null
+interface-type: struct
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-api-configuration.yml b/spec/if/rtems/config/get-api-configuration.yml
new file mode 100644
index 00000000..077a84d2
--- /dev/null
+++ b/spec/if/rtems/config/get-api-configuration.yml
@@ -0,0 +1,25 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the pointer to the Classic API Configuration Table of this application.
+interface-definition:
+ default:
+ params: []
+ return: const rtems_api_configuration_table *
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_rtems_api_configuration
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-do-zero-of-workspace.yml b/spec/if/rtems/config/get-do-zero-of-workspace.yml
new file mode 100644
index 00000000..22d92764
--- /dev/null
+++ b/spec/if/rtems/config/get-do-zero-of-workspace.yml
@@ -0,0 +1,24 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns true, if the workspace is zeroed during system initialization,
+ otherwise returns false.
+interface-definition:
+ default: ${/if/impl/memory/zero-before-use:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_do_zero_of_workspace
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-idle-task-stack-size.yml b/spec/if/rtems/config/get-idle-task-stack-size.yml
new file mode 100644
index 00000000..57ba76c3
--- /dev/null
+++ b/spec/if/rtems/config/get-idle-task-stack-size.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the configured IDLE task stack size in bytes of this application.
+interface-definition:
+ default: ${/if/impl/thread/idle-stack-size:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_idle_task_stack_size
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-idle-task.yml b/spec/if/rtems/config/get-idle-task.yml
new file mode 100644
index 00000000..560d264c
--- /dev/null
+++ b/spec/if/rtems/config/get-idle-task.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the configured IDLE task entry of this application.
+interface-definition:
+ default: ${/if/impl/thread/idle-body:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_idle_task
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-interrupt-stack-size.yml b/spec/if/rtems/config/get-interrupt-stack-size.yml
new file mode 100644
index 00000000..ca6bbaff
--- /dev/null
+++ b/spec/if/rtems/config/get-interrupt-stack-size.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the configured interrupt stack size in bytes of this application.
+interface-definition:
+ default: ((${/if/c/size_t:/interface-name}) ${/if/impl/isr/stack-size:/interface-name})
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_interrupt_stack_size
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-barriers.yml b/spec/if/rtems/config/get-maximum-barriers.yml
new file mode 100644
index 00000000..6b400041
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-barriers.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API Barriers which are configured for
+ this application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_barriers
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-extensions.yml b/spec/if/rtems/config/get-maximum-extensions.yml
new file mode 100644
index 00000000..be808032
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-extensions.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API User Extensions which are
+ configured for this application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_extensions
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-message-queues.yml b/spec/if/rtems/config/get-maximum-message-queues.yml
new file mode 100644
index 00000000..dd2d367c
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-message-queues.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API Message Queues which are configured
+ for this application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_message_queues
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-partitions.yml b/spec/if/rtems/config/get-maximum-partitions.yml
new file mode 100644
index 00000000..faa960b0
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-partitions.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API Partitions which are configured for
+ this application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_partitions
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-periods.yml b/spec/if/rtems/config/get-maximum-periods.yml
new file mode 100644
index 00000000..5b569cb6
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-periods.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API Rate Monotonic Periods which are
+ configured for this application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_periods
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-ports.yml b/spec/if/rtems/config/get-maximum-ports.yml
new file mode 100644
index 00000000..792deb79
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-ports.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API Dual Ported Memory Areas which are
+ configured for this application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_ports
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-processors.yml b/spec/if/rtems/config/get-maximum-processors.yml
new file mode 100644
index 00000000..a52a6e23
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-processors.yml
@@ -0,0 +1,29 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of processors which are configured for this
+ application.
+interface-definition:
+ default: ${/if/impl/smp/processor-configured-maximum:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_processors
+interface-notes: |
+ The actual number of processors available for the application will be less
+ than or equal to the configured maximum number of processors.
+
+ On uniprocessor configurations this macro is a compile time constant which
+ evaluates to one.
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-regions.yml b/spec/if/rtems/config/get-maximum-regions.yml
new file mode 100644
index 00000000..efd251d2
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-regions.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API Regions which are configured for
+ this application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_regions
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-semaphores.yml b/spec/if/rtems/config/get-maximum-semaphores.yml
new file mode 100644
index 00000000..46fbec45
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-semaphores.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API Semaphores which are configured for
+ this application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_semaphores
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-tasks.yml b/spec/if/rtems/config/get-maximum-tasks.yml
new file mode 100644
index 00000000..6f855d9e
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-tasks.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API Tasks which are configured for this
+ application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_tasks
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-maximum-timers.yml b/spec/if/rtems/config/get-maximum-timers.yml
new file mode 100644
index 00000000..43700c8e
--- /dev/null
+++ b/spec/if/rtems/config/get-maximum-timers.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the maximum number of Classic API Timers which are configured for
+ this application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uint32_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_maximum_timers
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header-2
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-microseconds-per-tick.yml b/spec/if/rtems/config/get-microseconds-per-tick.yml
new file mode 100644
index 00000000..bce672f7
--- /dev/null
+++ b/spec/if/rtems/config/get-microseconds-per-tick.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the number of microseconds per tick configured for this application.
+interface-definition:
+ default: ${/if/impl/watchdog/microseconds-per-tick:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_microseconds_per_tick
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-milliseconds-per-tick.yml b/spec/if/rtems/config/get-milliseconds-per-tick.yml
new file mode 100644
index 00000000..207d1a6b
--- /dev/null
+++ b/spec/if/rtems/config/get-milliseconds-per-tick.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the number of milliseconds per tick configured for this application.
+interface-definition:
+ default: (${/if/impl/watchdog/microseconds-per-tick:/interface-name} / 1000)
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_milliseconds_per_tick
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-nanoseconds-per-tick.yml b/spec/if/rtems/config/get-nanoseconds-per-tick.yml
new file mode 100644
index 00000000..abca907a
--- /dev/null
+++ b/spec/if/rtems/config/get-nanoseconds-per-tick.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the number of microseconds per tick configured for this application.
+interface-definition:
+ default: ${/if/impl/watchdog/nanoseconds-per-tick:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_nanoseconds_per_tick
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-number-of-initial-extensions.yml b/spec/if/rtems/config/get-number-of-initial-extensions.yml
new file mode 100644
index 00000000..283caa7d
--- /dev/null
+++ b/spec/if/rtems/config/get-number-of-initial-extensions.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the number of initial extensions configured for this application.
+interface-definition:
+ default: ((${/if/c/uint32_t:/interface-name}) ${/if/impl/userext/initial-count:/interface-name})
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_number_of_initial_extensions
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-stack-allocate-hook.yml b/spec/if/rtems/config/get-stack-allocate-hook.yml
new file mode 100644
index 00000000..9ad0dbdc
--- /dev/null
+++ b/spec/if/rtems/config/get-stack-allocate-hook.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the thread stack allocator allocate hook.
+interface-definition:
+ default: ${/if/impl/stack/allocator-allocate:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_stack_allocate_hook
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-stack-allocate-init-hook.yml b/spec/if/rtems/config/get-stack-allocate-init-hook.yml
new file mode 100644
index 00000000..35519031
--- /dev/null
+++ b/spec/if/rtems/config/get-stack-allocate-init-hook.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the thread stack allocator initialization hook.
+interface-definition:
+ default: ${/if/impl/stack/allocator-initialize:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_stack_allocate_init_hook
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-stack-allocator-avoids-work-space.yml b/spec/if/rtems/config/get-stack-allocator-avoids-work-space.yml
new file mode 100644
index 00000000..e8cd8554
--- /dev/null
+++ b/spec/if/rtems/config/get-stack-allocator-avoids-work-space.yml
@@ -0,0 +1,24 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns true, if the thread stack allocator avoids the workspace, otherwise
+ returns false.
+interface-definition:
+ default: ${/if/impl/stack/allocator-avoids-workspace:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_stack_allocator_avoids_work_space
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-stack-free-hook.yml b/spec/if/rtems/config/get-stack-free-hook.yml
new file mode 100644
index 00000000..70bd32e0
--- /dev/null
+++ b/spec/if/rtems/config/get-stack-free-hook.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the thread stack allocator free hook.
+interface-definition:
+ default: ${/if/impl/stack/allocator-free:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_stack_free_hook
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-stack-space-size.yml b/spec/if/rtems/config/get-stack-space-size.yml
new file mode 100644
index 00000000..98b5b457
--- /dev/null
+++ b/spec/if/rtems/config/get-stack-space-size.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the thread stack space size in bytes of configured for this
+ application.
+interface-definition:
+ default:
+ params: []
+ return: ${/if/c/uintptr_t:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_stack_space_size
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: function
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-ticks-per-timeslice.yml b/spec/if/rtems/config/get-ticks-per-timeslice.yml
new file mode 100644
index 00000000..02c606b5
--- /dev/null
+++ b/spec/if/rtems/config/get-ticks-per-timeslice.yml
@@ -0,0 +1,23 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the ticks per timeslice configured for this application.
+interface-definition:
+ default: ${/if/impl/watchdog/ticks-per-timeslice:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_ticks_per_timeslice
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-unified-work-area.yml b/spec/if/rtems/config/get-unified-work-area.yml
new file mode 100644
index 00000000..c8e2a42c
--- /dev/null
+++ b/spec/if/rtems/config/get-unified-work-area.yml
@@ -0,0 +1,24 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns true, if the RTEMS Workspace and C Program Heap are unified,
+ otherwise returns false.
+interface-definition:
+ default: ${/if/impl/wkspace/is-unified:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_unified_work_area
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-user-extension-table.yml b/spec/if/rtems/config/get-user-extension-table.yml
new file mode 100644
index 00000000..6dfda766
--- /dev/null
+++ b/spec/if/rtems/config/get-user-extension-table.yml
@@ -0,0 +1,24 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the pointer to the initial extensions table configured for this
+ application.
+interface-definition:
+ default: ${/if/impl/userext/initial-extensions:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_user_extension_table
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-user-multiprocessing-table.yml b/spec/if/rtems/config/get-user-multiprocessing-table.yml
new file mode 100644
index 00000000..c1f73588
--- /dev/null
+++ b/spec/if/rtems/config/get-user-multiprocessing-table.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the pointer to the MPCI configuration table configured for this
+ application.
+interface-definition:
+ default: ${/if/c/null:/interface-name}
+ variants:
+ - definition: ${/if/impl/mpci/configuration:/interface-name}
+ enabled-by: defined(${/if/build-options/multiprocessing:/interface-name})
+interface-description: null
+interface-name: rtems_configuration_get_user_multiprocessing_table
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/get-work-space-size.yml b/spec/if/rtems/config/get-work-space-size.yml
new file mode 100644
index 00000000..47b7c6dd
--- /dev/null
+++ b/spec/if/rtems/config/get-work-space-size.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the RTEMS Workspace size in bytes configured for this application.
+interface-definition:
+ default: |
+ (${/if/impl/wkspace/size:/interface-name} +
+ (${get-stack-allocator-avoids-work-space:/interface-name}() ?
+ 0 : ${get-stack-space-size:/interface-name}()))
+ variants: []
+interface-description: null
+interface-name: rtems_configuration_get_work_space_size
+interface-notes: null
+interface-params: []
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/header-2.yml b/spec/if/rtems/config/header-2.yml
new file mode 100644
index 00000000..0e8757c9
--- /dev/null
+++ b/spec/if/rtems/config/header-2.yml
@@ -0,0 +1,10 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-domain: rtems
+interface-path: rtems/rtems/config.h
+interface-prefix: cpukit/include
+interface-type: header-file
+links: []
+type: interface
diff --git a/spec/if/rtems/config/header.yml b/spec/if/rtems/config/header.yml
new file mode 100644
index 00000000..8cd66f2f
--- /dev/null
+++ b/spec/if/rtems/config/header.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-domain: rtems
+interface-path: rtems/config.h
+interface-prefix: cpukit/include
+interface-type: header-file
+links:
+- enabled-by: RTEMS_MULTIPROCESSING
+ role: interface-include
+ uid: /if/impl/mpci/header
+- enabled-by: RTEMS_MULTIPROCESSING
+ role: interface-include
+ uid: /if/rtems/types/header
+type: interface
diff --git a/spec/if/rtems/config/resource-is-unlimited.yml b/spec/if/rtems/config/resource-is-unlimited.yml
new file mode 100644
index 00000000..b703e460
--- /dev/null
+++ b/spec/if/rtems/config/resource-is-unlimited.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns true, if the resource is unlimited, otherwise returns false.
+interface-definition:
+ default: ${/if/impl/object/is-unlimited:/interface-name}(${.:/interface-params[0]/name})
+ variants: []
+interface-description: null
+interface-name: rtems_resource_is_unlimited
+interface-notes: null
+interface-params:
+- description: is the resource number.
+ dir: null
+ name: _resource
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/resource-maximum-per-allocation.yml b/spec/if/rtems/config/resource-maximum-per-allocation.yml
new file mode 100644
index 00000000..0e140ab2
--- /dev/null
+++ b/spec/if/rtems/config/resource-maximum-per-allocation.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the resource maximum number per allocation.
+interface-definition:
+ default: ${/if/impl/object/maximum-per-allocation:/interface-name}(${.:/interface-params[0]/name})
+ variants: []
+interface-description: null
+interface-name: rtems_resource_maximum_per_allocation
+interface-notes: null
+interface-params:
+- description: is the resource number.
+ dir: null
+ name: _resource
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/resource-unlimited.yml b/spec/if/rtems/config/resource-unlimited.yml
new file mode 100644
index 00000000..43f5be14
--- /dev/null
+++ b/spec/if/rtems/config/resource-unlimited.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ Returns the specified resource number configured for unlimited resources.
+interface-definition:
+ default: ((${.:/interface-params[0]/name}) | ${unlimited-objects:/interface-name})
+ variants: []
+interface-description: null
+interface-name: rtems_resource_unlimited
+interface-notes: null
+interface-params:
+- description: is the resource number.
+ dir: null
+ name: _resource
+interface-return:
+ return: null
+ return-values: []
+interface-type: macro
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/stack-allocate-hook.yml b/spec/if/rtems/config/stack-allocate-hook.yml
new file mode 100644
index 00000000..d4b980b5
--- /dev/null
+++ b/spec/if/rtems/config/stack-allocate-hook.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ The thread stack allocator allocate handler.
+interface-definition:
+ default: ${/if/impl/stack/allocator-allocate-type:/interface-name} ${.:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_stack_allocate_hook
+interface-notes: null
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/stack-allocate-init-hook.yml b/spec/if/rtems/config/stack-allocate-init-hook.yml
new file mode 100644
index 00000000..18abd6d7
--- /dev/null
+++ b/spec/if/rtems/config/stack-allocate-init-hook.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ The thread stack allocator initialization handler.
+interface-definition:
+ default: ${/if/impl/stack/allocator-initialize-type:/interface-name} ${.:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_stack_allocate_init_hook
+interface-notes: null
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/stack-free-hook.yml b/spec/if/rtems/config/stack-free-hook.yml
new file mode 100644
index 00000000..5b15e4f2
--- /dev/null
+++ b/spec/if/rtems/config/stack-free-hook.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ The thread stack allocator free handler.
+interface-definition:
+ default: ${/if/impl/stack/allocator-free-type:/interface-name} ${.:/interface-name}
+ variants: []
+interface-description: null
+interface-name: rtems_stack_free_hook
+interface-notes: null
+interface-type: typedef
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface
diff --git a/spec/if/rtems/config/unlimited-objects.yml b/spec/if/rtems/config/unlimited-objects.yml
new file mode 100644
index 00000000..ac92cec1
--- /dev/null
+++ b/spec/if/rtems/config/unlimited-objects.yml
@@ -0,0 +1,19 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+enabled-by: true
+interface-brief: |
+ This flag is used in resource numbers to indicate an unlimited resource.
+interface-definition:
+ default: ${/if/impl/object/unlimited-objects:/interface-name}
+ variants: []
+interface-description: null
+interface-name: RTEMS_UNLIMITED_OBJECTS
+interface-notes: null
+interface-type: define
+links:
+- role: interface-placement
+ uid: header
+- role: interface-ingroup
+ uid: /groups/api/config
+type: interface