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

Last change on this file since 45b6997 was 45b6997, checked in by Sebastian Huber <sebastian.huber@…>, on 01/13/21 at 13:05:42

spec: Document all create directives

  • Property mode set to 100644
File size: 2.5 KB
RevLine 
[c4fe9f5]1SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
[c970d63]2brief: |
3  Creates a timer.
[c4fe9f5]4copyrights:
[45b6997]5- Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
[c4fe9f5]6- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
7definition:
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: |
[45b6997]17  This directive creates a timer which resides on the local node.  The timer
18  has the user-defined object name specified in ${.:/params[0]/name}.  The
19  assigned object identifier is returned in ${.:/params[1]/name}.  This
20  identifier is used to access the timer with other timer related directives.
[c4fe9f5]21enabled-by: true
[c970d63]22index-entries:
23- create a timer
[c4fe9f5]24interface-type: function
25links:
26- role: interface-placement
27  uid: header
28- role: interface-ingroup
[cead53e]29  uid: group
[45b6997]30- role: constraint
31  uid: /constraint/directive-ctx-devinit
32- role: constraint
33  uid: /constraint/directive-ctx-task
34- role: constraint
35  uid: /constraint/object-allocator
36- role: constraint
37  uid: ../constraint/max
38- role: constraint
39  uid: /constraint/obj-unlimited-alloc
[c4fe9f5]40name: rtems_timer_create
[c970d63]41notes: |
[45b6997]42  The processor used to maintain the timer is the processor of the calling task
43  at some point during the timer creation.
[c970d63]44
45  For control and maintenance of the timer, RTEMS allocates a
46  ${/glossary/tmcb:/term} from the local TMCB free pool and initializes it.
[c4fe9f5]47params:
[45b6997]48- description: |
49    is the object name of the timer.
[c4fe9f5]50  dir: null
51  name: name
[c970d63]52- description: |
53    is the pointer to an object identifier variable.  The identifier of the
[45b6997]54    created timer will be stored in this variable, in case of a successful
55    operation.
[c970d63]56  dir: out
[c4fe9f5]57  name: id
58return:
59  return: null
[c970d63]60  return-values:
61  - description: |
62      The requested operation was successful.
63    value: ${../../status/if/successful:/name}
64  - description: |
[45b6997]65      The ${.:/params[0]/name} parameter was invalid.
[c970d63]66    value: ${../../status/if/invalid-name:/name}
67  - description: |
68      The ${.:/params[1]/name} parameter was ${/c/if/null:/name}.
69    value: ${../../status/if/invalid-address:/name}
70  - description: |
[45b6997]71      There was no inactive object available to create a timer.  The number of
72      timers available to the application is configured through the
73      ${/acfg/if/max-timers:/name} application configuration option.
[c970d63]74    value: ${../../status/if/too-many:/name}
[c4fe9f5]75type: interface
Note: See TracBrowser for help on using the repository browser.