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

Last change on this file since 0adc07b 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
Line 
1SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
2brief: |
3  Creates a timer.
4copyrights:
5- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
6- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
7definition:
8  default:
9    attributes: null
10    body: null
11    params:
12    - ${../../type/if/name:/name} ${.:/params[0]/name}
13    - ${../../type/if/id:/name} *${.:/params[1]/name}
14    return: ${../../status/if/code:/name}
15  variants: []
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.
20enabled-by: true
21index-entries:
22- create a timer
23interface-type: function
24links:
25- role: interface-placement
26  uid: header
27- role: interface-ingroup
28  uid: group
29name: rtems_timer_create
30notes: |
31  This directive may cause the calling task to be preempted due to an obtain
32  and release of the object allocator mutex.
33
34  For control and maintenance of the timer, RTEMS allocates a
35  ${/glossary/tmcb:/term} from the local TMCB free pool and initializes it.
36
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.
40params:
41- description: is the name of the timer.
42  dir: null
43  name: name
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
49  name: id
50return:
51  return: null
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}
67type: interface
Note: See TracBrowser for help on using the repository browser.