diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-22 08:39:29 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-09-22 10:06:05 +0200 |
commit | 5a161ce80b8d1c36ba7b624a22eec2b10925abf1 (patch) | |
tree | 7fcfe768e8759132f1dbd7f63856f2fdef60bd01 | |
parent | 4b714ff9df1f76924190a2032d0e9b275c084cdb (diff) |
Generate <rtems/rtems/barrier.h>
-rw-r--r-- | cpukit/include/rtems/rtems/barrier.h | 156 |
1 files changed, 71 insertions, 85 deletions
diff --git a/cpukit/include/rtems/rtems/barrier.h b/cpukit/include/rtems/rtems/barrier.h index f6362f9237..79a349eb68 100644 --- a/cpukit/include/rtems/rtems/barrier.h +++ b/cpukit/include/rtems/rtems/barrier.h @@ -1,22 +1,52 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + /** * @file * - * @ingroup ClassicBarrier + * @ingroup RTEMSAPIClassicBarrier * - * @brief Classic Barrier Manager API + * @brief This header file defines the Barrier Manager API. + */ + +/* + * Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ -/* COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). +/* + * This file was automatically generated. Do not edit it manually. + * Please have a look at + * + * https://docs.rtems.org/branches/master/eng/req/howto.html * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. + * for information how to maintain and re-generate this file. */ #ifndef _RTEMS_RTEMS_BARRIER_H #define _RTEMS_RTEMS_BARRIER_H +#include <stdint.h> #include <rtems/rtems/attr.h> #include <rtems/rtems/status.h> #include <rtems/rtems/types.h> @@ -26,122 +56,78 @@ extern "C" { #endif /** - * @defgroup ClassicBarrier Barriers + * @defgroup RTEMSAPIClassicBarrier Barrier Manager * * @ingroup RTEMSAPIClassic * - * This encapsulates functionality which implements the Classic API - * Barrier Manager. + * @brief The Barrier Manager provides a unique synchronization capability + * which can be used to have a set of tasks block and be unblocked as a set. */ -/**@{*/ /** - * @brief RTEMS Create Barrier + * @ingroup RTEMSAPIClassicBarrier * - * Barrier Manager -- Create a Barrier Instance + * @brief % * - * This routine implements the rtems_barrier_create directive. The - * barrier will have the name name. The starting count for - * the barrier is count. The attribute_set determines if - * the barrier is global or local and the thread queue - * discipline. It returns the id of the created barrier in ID. + * @param name % * - * @param[in] name is the name of this barrier instance. - * @param[in] attribute_set specifies the attributes of this barrier instance. - * @param[in] maximum_waiters is the maximum number of threads which will - * be allowed to concurrently wait at the barrier. - * @param[out] id will contain the id of this barrier. + * @param attribute_set % * - * @retval a status code indicating success or the reason for failure. + * @param maximum_waiters % + * + * @param id % */ rtems_status_code rtems_barrier_create( - rtems_name name, - rtems_attribute attribute_set, - uint32_t maximum_waiters, - rtems_id *id + rtems_name name, + rtems_attribute attribute_set, + uint32_t maximum_waiters, + rtems_id *id ); /** - * @brief RTEMS Barrier name to Id - * - * This routine implements the rtems_barrier_ident directive. - * This directive returns the barrier ID associated with name. - * If more than one barrier is named name, then the barrier - * to which the ID belongs is arbitrary. node indicates the - * extent of the search for the ID of the barrier named name. - * The search can be limited to a particular node or allowed to - * encompass all nodes. + * @ingroup RTEMSAPIClassicBarrier * - * @param[in] name is the name of this barrier instance. - * @param[out] id will contain the id of this barrier. + * @brief % * - * @retval a status code indicating success or the reason for failure. + * @param id % */ -rtems_status_code rtems_barrier_ident( - rtems_name name, - rtems_id *id -); +rtems_status_code rtems_barrier_delete( rtems_id id ); /** - * @brief RTEMS Delete Barrier - * - * This routine implements the rtems_barrier_delete directive. The - * barrier indicated by @a id is deleted. The barrier is freed back to the - * inactive barrier chain. + * @ingroup RTEMSAPIClassicBarrier * + * @brief % * - * @param[in] id indicates the barrier to delete + * @param name % * - * @retval a status code indicating success or the reason for failure. + * @param id % */ -rtems_status_code rtems_barrier_delete( - rtems_id id -); +rtems_status_code rtems_barrier_ident( rtems_name name, rtems_id *id ); /** - * @brief RTEMS Barrier Wait + * @ingroup RTEMSAPIClassicBarrier * - * This routine implements the rtems_barrier_wait directive. It - * attempts to wait at the barrier associated with @a id. The calling task - * may block waiting for the barrier with an optional timeout of @a timeout - * clock ticks. + * @brief % * - * @param[in] id indicates the barrier to wait at. - * @param[in] timeout is the maximum length of time in ticks the calling - * thread is willing to block. + * @param id % * - * @retval a status code indicating success or the reason for failure. + * @param released % */ -rtems_status_code rtems_barrier_wait( - rtems_id id, - rtems_interval timeout -); +rtems_status_code rtems_barrier_release( rtems_id id, uint32_t *released ); /** - * @brief RTEMS Barrier Release - * - * Barrier Manager -- Release Tasks Waitng at a Barrier - * - * This routine implements the rtems_barrier_release directive. It - * unblocks all of the threads waiting on the barrier associated with - * @a id. The number of threads unblocked is returned in @a released. + * @ingroup RTEMSAPIClassicBarrier * + * @brief % * - * @param[in] id indicates the barrier to wait at. - * @param[out] released will contain the number of threads unblocked. + * @param id % * - * @retval a status code indicating success or the reason for failure. + * @param timeout % */ -rtems_status_code rtems_barrier_release( - rtems_id id, - uint32_t *released -); - -/**@}*/ +rtems_status_code rtems_barrier_wait( rtems_id id, rtems_interval timeout ); #ifdef __cplusplus } #endif -#endif -/* end of include file */ +#endif /* _RTEMS_RTEMS_BARRIER_H */ |