diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-04-22 10:50:46 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-04-23 08:49:26 +0200 |
commit | 07a63aa7a0572a3066a5c2e86d527c6303b4d8ec (patch) | |
tree | 0b36475711c82af4ca6aaf29321fd432166a7071 /spec/rtems/message/if/broadcast.yml | |
parent | spec: Update /rtems/ratemon/* documentation (diff) | |
download | rtems-central-07a63aa7a0572a3066a5c2e86d527c6303b4d8ec.tar.bz2 |
spec: Update /rtems/message/* documentation
Diffstat (limited to 'spec/rtems/message/if/broadcast.yml')
-rw-r--r-- | spec/rtems/message/if/broadcast.yml | 64 |
1 files changed, 53 insertions, 11 deletions
diff --git a/spec/rtems/message/if/broadcast.yml b/spec/rtems/message/if/broadcast.yml index 374195b3..8cb96b32 100644 --- a/spec/rtems/message/if/broadcast.yml +++ b/spec/rtems/message/if/broadcast.yml @@ -1,7 +1,8 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause -brief: '%' +brief: | + Broadcasts the messages to the tasks waiting at the queue. copyrights: -- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +- Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) - Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) definition: default: @@ -14,31 +15,72 @@ definition: - ${/c/if/uint32_t:/name} *${.:/params[3]/name} return: ${../../status/if/code:/name} variants: [] -description: null +description: | + This directive causes all tasks that are waiting at the queue specified by + ${.:/params[0]/name} to be unblocked and sent the message contained in + ${.:/params[1]/name}. Before a task is unblocked, the message + ${.:/params[1]/name} of ${.:/params[2]/name} byes in length is copied to that + task's message buffer. The number of tasks that were unblocked is returned + in ${.:/params[3]/name}. enabled-by: true -index-entries: [] +index-entries: +- broadcast message to a queue interface-type: function links: - role: interface-placement uid: header - role: interface-ingroup uid: group +- role: constraint + uid: /constraint/directive-ctx-task +- role: constraint + uid: /constraint/directive-ctx-isr +- role: constraint + uid: /constraint/unblock-may-preempt +- role: constraint + uid: /constraint/directive-remote name: rtems_message_queue_broadcast -notes: null +notes: | + The execution time of this directive is directly related to the number of + tasks waiting on the message queue, although it is more efficient than the + equivalent number of invocations of ${send:/name}. params: -- description: '%' +- description: | + is the queue identifier. dir: null name: id -- description: '%' +- description: | + is the begin address of the message buffer to broadcast. dir: null name: buffer -- description: '%' +- description: | + is the size in bytes of the message buffer to broadcast. dir: null name: size -- description: '%' - dir: null +- description: | + is the pointer to an ${/c/if/uint32_t:/name} variable. When the directive + call is successful, the number of unblocked tasks will be stored in this + variable. + dir: out name: count return: return: null - return-values: [] + return-values: + - description: | + The requested operation was successful. + value: ${../../status/if/successful:/name} + - description: | + There was no queue associated with the identifier specified by + ${.:/params[0]/name}. + value: ${../../status/if/invalid-id:/name} + - description: | + The ${.:/params[1]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The ${.:/params[3]/name} parameter was ${/c/if/null:/name}. + value: ${../../status/if/invalid-address:/name} + - description: | + The size of the message exceeded the maximum message size of the queue as + defined by ${create:/name} or ${construct:/name}. + value: ${../../status/if/invalid-size:/name} type: interface |