source: rtems-central/spec/rtems/timer/if/create.yml @ c970d63

Last change on this file since c970d63 was c970d63, checked in by Sebastian Huber <sebastian.huber@…>, on Dec 1, 2020 at 1:57:03 PM

spec: Review Timer Manager API

  • Property mode set to 100644
File size: 2.3 KB
[c4fe9f5]1SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
[c970d63]2brief: |
3  Creates a timer.
5- Copyright (C) 2020 embedded brains GmbH (
6- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
8  default:
[d3edaca]9    attributes: null
[c4fe9f5]10    body: null
11    params:
[3bdf817]12    - ${../../type/if/name:/name} ${.:/params[0]/name}
13    - ${../../type/if/id:/name} *${.:/params[1]/name}
14    return: ${../../status/if/code:/name}
[c4fe9f5]15  variants: []
[c970d63]16description: |
17  This directive creates a timer.  The assigned object identifier is returned
18  in ${.:/params[1]/name}.  This identifier is used to access the timer with
19  other timer related directives.
[c4fe9f5]20enabled-by: true
22- create a timer
[c4fe9f5]23interface-type: function
25- role: interface-placement
26  uid: header
27- role: interface-ingroup
[cead53e]28  uid: group
[c4fe9f5]29name: rtems_timer_create
[c970d63]30notes: |
31  This directive may cause the calling task to be preempted due to an obtain
32  and release of the object allocator mutex.
34  For control and maintenance of the timer, RTEMS allocates a
35  ${/glossary/tmcb:/term} from the local TMCB free pool and initializes it.
37  In SMP configurations, the processor of the currently executing thread
38  determines the processor used for the created timer.  During the life-time of
39  the timer this processor is used to manage the timer internally.
[c970d63]41- description: is the name of the timer.
[c4fe9f5]42  dir: null
43  name: name
[c970d63]44- description: |
45    is the pointer to an object identifier variable.  The identifier of the
46    created timer object will be stored in this variable, in case of a
47    successful operation.
48  dir: out
[c4fe9f5]49  name: id
51  return: null
[c970d63]52  return-values:
53  - description: |
54      The requested operation was successful.
55    value: ${../../status/if/successful:/name}
56  - description: |
57      The timer name was invalid.
58    value: ${../../status/if/invalid-name:/name}
59  - description: |
60      The ${.:/params[1]/name} parameter was ${/c/if/null:/name}.
61    value: ${../../status/if/invalid-address:/name}
62  - description: |
63      There was no inactive object available to create a new timer.  The number
64      of timers available to the application is configured through the
65      ${/acfg/if/max-timers:/name} configuration option.
66    value: ${../../status/if/too-many:/name}
[c4fe9f5]67type: interface
Note: See TracBrowser for help on using the repository browser.