diff options
Diffstat (limited to 'spec/rtems/scheduler/if/ident-by-processor-set.yml')
-rw-r--r-- | spec/rtems/scheduler/if/ident-by-processor-set.yml | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/spec/rtems/scheduler/if/ident-by-processor-set.yml b/spec/rtems/scheduler/if/ident-by-processor-set.yml new file mode 100644 index 00000000..f1c7a3e9 --- /dev/null +++ b/spec/rtems/scheduler/if/ident-by-processor-set.yml @@ -0,0 +1,63 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +brief: | + Identifies a scheduler instance by a processor set. +copyrights: +- Copyright (C) 2017, 2020 embedded brains GmbH (http://www.embedded-brains.de) +definition: + default: + body: null + params: + - ${/c/if/size_t:/name} ${.:/params[0]/name} + - const ${/c/if/cpu_set_t:/name} *${.:/params[1]/name} + - ${../../type/if/id:/name} *${.:/params[2]/name} + return: ${../../status/if/code:/name} + variants: [] +description: | + The scheduler instance is selected according to the highest numbered online + processor in the specified processor set. +enabled-by: true +interface-type: function +links: +- role: interface-placement + uid: ../../task/if/header +- role: interface-ingroup + uid: ../../task/if/group +name: rtems_scheduler_ident_by_processor_set +notes: null +params: +- description: | + is the size of the referenced processor set variable in bytes. This value + shall be positive. + dir: null + name: cpusetsize +- description: | + is the pointer to a processor set variable. The referenced processor set + will be used to identify the scheduler instance. + dir: null + name: cpuset +- description: | + is the pointer to an object identifier variable. The identifier of the + scheduler instance 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/if/successful:/name} + - description: | + The processor set was valid, however, the highest numbered online + processor in the processor set was not owned by a scheduler instance. + value: ${../../status/if/incorrect-state:/name} + - description: | + The ${.:/params[2]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The processor set contained no online processor. + value: ${../../status/if/invalid-name:/name} + - description: | + The processor set size was invalid. + value: ${../../status/if/invalid-size:/name} +type: interface |