diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-05 09:56:10 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-07-03 10:22:45 +0200 |
commit | a243fc680198fa93453d2e49b9590b2bc4f882cd (patch) | |
tree | af90f47926662e6b58a41d0eaa62928669f77d8c /spec/if/rtems/tasks | |
parent | 54e2231a9274bf15faa99261ad0d4878fb90f7c8 (diff) |
spec: Add /if/rtems/tasks/*
Diffstat (limited to 'spec/if/rtems/tasks')
38 files changed, 1236 insertions, 0 deletions
diff --git a/spec/if/rtems/tasks/argument.yml b/spec/if/rtems/tasks/argument.yml new file mode 100644 index 00000000..d19a04ff --- /dev/null +++ b/spec/if/rtems/tasks/argument.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type is used to represent task argument values. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: ${/if/impl/cpu/uint32ptr:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_argument +notes: | + The type is an architecture-specific unsigned integer type which is large + enough to represent pointer values and 32-bit unsigned integers. +type: interface diff --git a/spec/if/rtems/tasks/build.yml b/spec/if/rtems/tasks/build.yml new file mode 100644 index 00000000..cca05341 --- /dev/null +++ b/spec/if/rtems/tasks/build.yml @@ -0,0 +1,73 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Builds a task according to the task configuration. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - const ${config:/name} *${.:/params[0]/name} + - ${../types/id:/name} *${.:/params[1]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_build +notes: null +params: +- description: is the task configuration. + dir: null + name: config +- description: | + is the pointer to an object identifier variable. The identifier of the new + task object will be stored in this variable, in case of a successful + operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../status/successful:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/if/c/null:/name}. + value: ${../status/invalid-address:/name} + - description: | + The task name was invalid. + value: ${../status/invalid-name:/name} + - description: | + The initial task priority was invalid. + value: ${../status/invalid-priority:/name} + - description: | + The multiprocessing support was not configured. + value: ${../status/mp-not-configured:/name} + - description: | + There was no inactive task object available to build a new task. + value: ${../status/too-many:/name} + - description: | + In multiprocessing configurations, there was no inactive global object + available to build a new task. + value: ${../status/too-many:/name} + - description: | + The provided task storage area was too small. The task storage area + includes the task stack, the thread-local storage, and the floating point + context. + value: ${../status/unsatisfied:/name} + - description: | + One of the task create extensions failed to create the new task. + value: ${../status/unsatisfied:/name} + - description: | + In SMP configurations, the non-preemption mode was not supported. + value: ${../status/unsatisfied:/name} + - description: | + In SMP configurations, the interrupt level mode was not supported. + value: ${../status/unsatisfied:/name} +type: interface diff --git a/spec/if/rtems/tasks/config.yml b/spec/if/rtems/tasks/config.yml new file mode 100644 index 00000000..51f171ae --- /dev/null +++ b/spec/if/rtems/tasks/config.yml @@ -0,0 +1,75 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This structure defines a task configuration used to build a task. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: +- default: + brief: | + This member is the name of the task. + definition: ${../types/name:/name} ${.:name} + description: null + kind: member + name: name + variants: [] +- default: + brief: | + This member is the initial priority of the task. + definition: ${priority:/name} ${.:name} + description: null + kind: member + name: initial_priority + variants: [] +- default: + brief: | + This member is task stack area begin address for the task. + definition: void *${.:name} + description: null + kind: member + name: stack_area + variants: [] +- default: + brief: | + This member is task stack area size in bytes for the task. + definition: ${/if/c/size_t:/name} ${.:name} + description: null + kind: member + name: stack_size + variants: [] +- default: + brief: | + This member is the function to free the task stack area if the task gets + deleted. + definition: void ( *${.:name} )( void * ) + description: null + kind: member + name: stack_free + variants: [] +- default: + brief: | + This member is set of initial modes of the task. + definition: ${../modes/mode:/name} ${.:name} + description: null + kind: member + name: initial_modes + variants: [] +- default: + brief: | + This member is set of attributes of the task. + definition: ${../attr/attribute:/name} ${.:name} + description: null + kind: member + name: attribute_set + variants: [] +definition-kind: typedef-only +description: null +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_config +notes: null +type: interface diff --git a/spec/if/rtems/tasks/configured-minimum-stack-size.yml b/spec/if/rtems/tasks/configured-minimum-stack-size.yml new file mode 100644 index 00000000..6cc12f58 --- /dev/null +++ b/spec/if/rtems/tasks/configured-minimum-stack-size.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: '0' + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: RTEMS_CONFIGURED_MINIMUM_STACK_SIZE +notes: null +type: interface diff --git a/spec/if/rtems/tasks/create.yml b/spec/if/rtems/tasks/create.yml new file mode 100644 index 00000000..09eeacf3 --- /dev/null +++ b/spec/if/rtems/tasks/create.yml @@ -0,0 +1,101 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Creates a task object. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/name:/name} ${.:/params[0]/name} + - ${priority:/name} ${.:/params[1]/name} + - ${/if/c/size_t:/name} ${.:/params[2]/name} + - ${../modes/mode:/name} ${.:/params[3]/name} + - ${../attr/attribute:/name} ${.:/params[4]/name} + - ${../types/id:/name} *${.:/params[5]/name} + return: ${../status/code:/name} + variants: [] +description: | + This directive creates a task which resides on the local node. It allocates + and initializes a TCB, a stack, and an optional floating point context area. + The mode parameter contains values which sets the task’s initial execution + mode. The RTEMS_FLOATING_POINT attribute should be specified if the created + task is to use a numeric coprocessor. For performance reasons, it is + recommended that tasks not using the numeric coprocessor should specify the + RTEMS_NO_FLOATING_POINT attribute. If the RTEMS_GLOBAL attribute is + specified, the task can be accessed from remote nodes. The task id, returned + in id, is used in other task related directives to access the task. When + created, a task is placed in the dormant state and can only be made ready to + execute using the directive rtems_task_start(). +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_create +notes: null +params: +- description: is the user-defined task name. + dir: null + name: name +- description: is the initial task priority. + dir: null + name: initial_priority +- description: is the task stack size in bytes. + dir: null + name: stack_size +- description: is the initial task mode. + dir: null + name: initial_modes +- description: is the task attribute set. + dir: null + name: attribute_set +- description: | + is the pointer to an object identifier variable. The object identifier of + the new task will be stored in this variable, in case of a successful + operation. + dir: out + name: id +return: + return: null + return-values: + - description: | + The requested operation was successful. + value: ${../status/successful:/name} + - description: | + The ${.:/params[5]/name} parameter was ${/if/c/null:/name}. + value: ${../status/invalid-address:/name} + - description: | + The task name was invalid. + value: ${../status/invalid-name:/name} + - description: | + The initial task priority was invalid. + value: ${../status/invalid-priority:/name} + - description: | + The multiprocessing support was not configured. + value: ${../status/mp-not-configured:/name} + - description: | + There was no inactive task object available to create a new task. + value: ${../status/too-many:/name} + - description: | + In multiprocessing configurations, there was no inactive global object + available to create a new global task. + value: ${../status/too-many:/name} + - description: | + There was not enough memory to allocate the task storage area. The task + storage area contains the task stack, the thread-local storage, and the + floating point context. + value: ${../status/unsatisfied:/name} + - description: | + One of the task create extensions failed to create the new task. + value: ${../status/unsatisfied:/name} + - description: | + In SMP configurations, the non-preemption mode was not supported. + value: ${../status/unsatisfied:/name} + - description: | + In SMP configurations, the interrupt level mode was not supported. + value: ${../status/unsatisfied:/name} +type: interface diff --git a/spec/if/rtems/tasks/current-priority.yml b/spec/if/rtems/tasks/current-priority.yml new file mode 100644 index 00000000..42d6a735 --- /dev/null +++ b/spec/if/rtems/tasks/current-priority.yml @@ -0,0 +1,21 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This constant is passed to {set-priority:/name}() when the caller wants to + obtain the current priority. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: '0' + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: RTEMS_CURRENT_PRIORITY +notes: null +type: interface diff --git a/spec/if/rtems/tasks/delete.yml b/spec/if/rtems/tasks/delete.yml new file mode 100644 index 00000000..a91b13b2 --- /dev/null +++ b/spec/if/rtems/tasks/delete.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_delete +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/entry.yml b/spec/if/rtems/tasks/entry.yml new file mode 100644 index 00000000..2d8015b3 --- /dev/null +++ b/spec/if/rtems/tasks/entry.yml @@ -0,0 +1,20 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + This type defines the entry point of an RTEMS task. +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${task:/name} ( *${entry:/name} )( ${argument:/name} ) + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_entry +notes: null +type: interface diff --git a/spec/if/rtems/tasks/exit.yml b/spec/if/rtems/tasks/exit.yml new file mode 100644 index 00000000..fb436eaa --- /dev/null +++ b/spec/if/rtems/tasks/exit.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${/if/rtems/basedefs/no-return:/name} void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_exit +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/get-affinity.yml b/spec/if/rtems/tasks/get-affinity.yml new file mode 100644 index 00000000..4d2d527a --- /dev/null +++ b/spec/if/rtems/tasks/get-affinity.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + - ${/if/c/size_t:/name} ${.:/params[1]/name} + - ${/if/c/cpu_set_t:/name} *${.:/params[2]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_get_affinity +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: cpusetsize +- description: '%' + dir: null + name: cpuset +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/get-priority.yml b/spec/if/rtems/tasks/get-priority.yml new file mode 100644 index 00000000..c1ed6171 --- /dev/null +++ b/spec/if/rtems/tasks/get-priority.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + - ${../types/id:/name} ${.:/params[1]/name} + - ${priority:/name} *${.:/params[2]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_get_priority +notes: null +params: +- description: '%' + dir: null + name: task_id +- description: '%' + dir: null + name: scheduler_id +- description: '%' + dir: null + name: priority +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/get-scheduler.yml b/spec/if/rtems/tasks/get-scheduler.yml new file mode 100644 index 00000000..99479b8d --- /dev/null +++ b/spec/if/rtems/tasks/get-scheduler.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + - ${../types/id:/name} *${.:/params[1]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_get_scheduler +notes: null +params: +- description: '%' + dir: null + name: task_id +- description: '%' + dir: null + name: scheduler_id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/header.yml b/spec/if/rtems/tasks/header.yml new file mode 100644 index 00000000..ff75781a --- /dev/null +++ b/spec/if/rtems/tasks/header.yml @@ -0,0 +1,11 @@ +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-type: header-file +links: +- role: interface-placement + uid: /if/domains/api +path: rtems/rtems/tasks.h +prefix: cpukit/include +type: interface diff --git a/spec/if/rtems/tasks/ident.yml b/spec/if/rtems/tasks/ident.yml new file mode 100644 index 00000000..9405b54e --- /dev/null +++ b/spec/if/rtems/tasks/ident.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/name:/name} ${.:/params[0]/name} + - ${/if/c/uint32_t:/name} ${.:/params[1]/name} + - ${../types/id:/name} *${.:/params[2]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_ident +notes: null +params: +- description: '%' + dir: null + name: name +- description: '%' + dir: null + name: node +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/initialization-table.yml b/spec/if/rtems/tasks/initialization-table.yml new file mode 100644 index 00000000..7191b628 --- /dev/null +++ b/spec/if/rtems/tasks/initialization-table.yml @@ -0,0 +1,67 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: +- default: + brief: '%' + definition: ${../types/name:/name} ${.:name} + description: '%' + kind: member + name: name + variants: [] +- default: + brief: '%' + definition: ${/if/c/size_t:/name} ${.:name} + description: '%' + kind: member + name: stack_size + variants: [] +- default: + brief: '%' + definition: ${priority:/name} ${.:name} + description: '%' + kind: member + name: initial_priority + variants: [] +- default: + brief: '%' + definition: ${../attr/attribute:/name} ${.:name} + description: '%' + kind: member + name: attribute_set + variants: [] +- default: + brief: '%' + definition: ${entry:/name} ${.:name} + description: '%' + kind: member + name: entry_point + variants: [] +- default: + brief: '%' + definition: ${../modes/mode:/name} ${.:name} + description: '%' + kind: member + name: mode_set + variants: [] +- default: + brief: '%' + definition: ${argument:/name} ${.:name} + description: '%' + kind: member + name: argument + variants: [] +definition-kind: typedef-only +description: null +enabled-by: true +interface-type: struct +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_initialization_tasks_table +notes: null +type: interface diff --git a/spec/if/rtems/tasks/is-suspended.yml b/spec/if/rtems/tasks/is-suspended.yml new file mode 100644 index 00000000..baa244bb --- /dev/null +++ b/spec/if/rtems/tasks/is-suspended.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_is_suspended +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/iterate.yml b/spec/if/rtems/tasks/iterate.yml new file mode 100644 index 00000000..837b35a2 --- /dev/null +++ b/spec/if/rtems/tasks/iterate.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${visitor:/name} ${.:/params[0]/name} + - void *${.:/params[1]/name} + return: void + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_iterate +notes: null +params: +- description: '%' + dir: null + name: visitor +- description: '%' + dir: null + name: arg +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/maximum-priority.yml b/spec/if/rtems/tasks/maximum-priority.yml new file mode 100644 index 00000000..90d9a2de --- /dev/null +++ b/spec/if/rtems/tasks/maximum-priority.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/if/impl/maximum-priority:/name}() + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: RTEMS_MAXIMUM_PRIORITY +notes: null +type: interface diff --git a/spec/if/rtems/tasks/minimum-priority.yml b/spec/if/rtems/tasks/minimum-priority.yml new file mode 100644 index 00000000..0457f66b --- /dev/null +++ b/spec/if/rtems/tasks/minimum-priority.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: '1' + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: RTEMS_MINIMUM_PRIORITY +notes: null +type: interface diff --git a/spec/if/rtems/tasks/minimum-stack-size.yml b/spec/if/rtems/tasks/minimum-stack-size.yml new file mode 100644 index 00000000..810784fe --- /dev/null +++ b/spec/if/rtems/tasks/minimum-stack-size.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) +definition: + default: ${/if/impl/stack/minimum-size:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: RTEMS_MINIMUM_STACK_SIZE +notes: null +type: interface diff --git a/spec/if/rtems/tasks/mode.yml b/spec/if/rtems/tasks/mode.yml new file mode 100644 index 00000000..8044d9ea --- /dev/null +++ b/spec/if/rtems/tasks/mode.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../modes/mode:/name} ${.:/params[0]/name} + - ${../modes/mode:/name} ${.:/params[1]/name} + - ${../modes/mode:/name} *${.:/params[2]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_mode +notes: null +params: +- description: '%' + dir: null + name: mode_set +- description: '%' + dir: null + name: mask +- description: '%' + dir: null + name: previous_mode_set +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/no-priority.yml b/spec/if/rtems/tasks/no-priority.yml new file mode 100644 index 00000000..58d6d88b --- /dev/null +++ b/spec/if/rtems/tasks/no-priority.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${current-priority:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: RTEMS_NO_PRIORITY +notes: null +type: interface diff --git a/spec/if/rtems/tasks/priority.yml b/spec/if/rtems/tasks/priority.yml new file mode 100644 index 00000000..3a5a39b2 --- /dev/null +++ b/spec/if/rtems/tasks/priority.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/if/c/uint32_t:/name} ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_priority +notes: null +type: interface diff --git a/spec/if/rtems/tasks/restart.yml b/spec/if/rtems/tasks/restart.yml new file mode 100644 index 00000000..8ef2c89c --- /dev/null +++ b/spec/if/rtems/tasks/restart.yml @@ -0,0 +1,34 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + - ${argument:/name} ${.:/params[1]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_restart +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/resume.yml b/spec/if/rtems/tasks/resume.yml new file mode 100644 index 00000000..f332efaa --- /dev/null +++ b/spec/if/rtems/tasks/resume.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_resume +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/self-define.yml b/spec/if/rtems/tasks/self-define.yml new file mode 100644 index 00000000..67f1ff45 --- /dev/null +++ b/spec/if/rtems/tasks/self-define.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/if/impl/object/id-of-self:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: RTEMS_SELF +notes: null +type: interface diff --git a/spec/if/rtems/tasks/self.yml b/spec/if/rtems/tasks/self.yml new file mode 100644 index 00000000..5b6af1e0 --- /dev/null +++ b/spec/if/rtems/tasks/self.yml @@ -0,0 +1,26 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: [] + return: ${../types/id:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_self +notes: null +params: [] +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/set-affinity.yml b/spec/if/rtems/tasks/set-affinity.yml new file mode 100644 index 00000000..f051aaae --- /dev/null +++ b/spec/if/rtems/tasks/set-affinity.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + - ${/if/c/size_t:/name} ${.:/params[1]/name} + - const ${/if/c/cpu_set_t:/name} *${.:/params[2]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_set_affinity +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: cpusetsize +- description: '%' + dir: null + name: cpuset +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/set-priority.yml b/spec/if/rtems/tasks/set-priority.yml new file mode 100644 index 00000000..43cd6db9 --- /dev/null +++ b/spec/if/rtems/tasks/set-priority.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + - ${priority:/name} ${.:/params[1]/name} + - ${priority:/name} *${.:/params[2]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_set_priority +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: new_priority +- description: '%' + dir: null + name: old_priority +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/set-scheduler.yml b/spec/if/rtems/tasks/set-scheduler.yml new file mode 100644 index 00000000..9eab6de6 --- /dev/null +++ b/spec/if/rtems/tasks/set-scheduler.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + - ${../types/id:/name} ${.:/params[1]/name} + - ${priority:/name} ${.:/params[2]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_set_scheduler +notes: null +params: +- description: '%' + dir: null + name: task_id +- description: '%' + dir: null + name: scheduler_id +- description: '%' + dir: null + name: priority +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/start.yml b/spec/if/rtems/tasks/start.yml new file mode 100644 index 00000000..3838b2c7 --- /dev/null +++ b/spec/if/rtems/tasks/start.yml @@ -0,0 +1,38 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + - ${entry:/name} ${.:/params[1]/name} + - ${argument:/name} ${.:/params[2]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_start +notes: null +params: +- description: '%' + dir: null + name: id +- description: '%' + dir: null + name: entry_point +- description: '%' + dir: null + name: argument +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/suspend.yml b/spec/if/rtems/tasks/suspend.yml new file mode 100644 index 00000000..298064e6 --- /dev/null +++ b/spec/if/rtems/tasks/suspend.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/id:/name} ${.:/params[0]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_suspend +notes: null +params: +- description: '%' + dir: null + name: id +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/task.yml b/spec/if/rtems/tasks/task.yml new file mode 100644 index 00000000..a45aae44 --- /dev/null +++ b/spec/if/rtems/tasks/task.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: void ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task +notes: null +type: interface diff --git a/spec/if/rtems/tasks/tcb.yml b/spec/if/rtems/tasks/tcb.yml new file mode 100644 index 00000000..558d9e90 --- /dev/null +++ b/spec/if/rtems/tasks/tcb.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: struct _Thread_Control ${.:/name} + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_tcb +notes: null +type: interface diff --git a/spec/if/rtems/tasks/visitor.yml b/spec/if/rtems/tasks/visitor.yml new file mode 100644 index 00000000..4de9e028 --- /dev/null +++ b/spec/if/rtems/tasks/visitor.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/if/c/bool:/name}( *${.:/name} )( ${tcb:/name} *, void * ) + variants: [] +description: null +enabled-by: true +interface-type: typedef +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_visitor +notes: null +type: interface diff --git a/spec/if/rtems/tasks/wake-after.yml b/spec/if/rtems/tasks/wake-after.yml new file mode 100644 index 00000000..24592db6 --- /dev/null +++ b/spec/if/rtems/tasks/wake-after.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/interval:/name} ${.:/params[0]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_wake_after +notes: null +params: +- description: '%' + dir: null + name: ticks +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/wake-when.yml b/spec/if/rtems/tasks/wake-when.yml new file mode 100644 index 00000000..f8920b87 --- /dev/null +++ b/spec/if/rtems/tasks/wake-when.yml @@ -0,0 +1,30 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: + body: null + params: + - ${../types/time-of-day:/name} *${.:/params[0]/name} + return: ${../status/code:/name} + variants: [] +description: null +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: rtems_task_wake_when +notes: null +params: +- description: '%' + dir: null + name: time_buffer +return: + return: null + return-values: [] +type: interface diff --git a/spec/if/rtems/tasks/yield-processor.yml b/spec/if/rtems/tasks/yield-processor.yml new file mode 100644 index 00000000..1f62d810 --- /dev/null +++ b/spec/if/rtems/tasks/yield-processor.yml @@ -0,0 +1,19 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: '%' +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 1988, 2017 On-Line Applications Research Corporation (OAR) +definition: + default: ${/if/impl/watchdog/no-timeout:/name} + variants: [] +description: null +enabled-by: true +interface-type: define +links: +- role: interface-placement + uid: header +- role: interface-ingroup + uid: /groups/api/classic/tasks +name: RTEMS_YIELD_PROCESSOR +notes: null +type: interface |