summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-06-22 08:39:29 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-09-22 10:06:05 +0200
commit5a161ce80b8d1c36ba7b624a22eec2b10925abf1 (patch)
tree7fcfe768e8759132f1dbd7f63856f2fdef60bd01
parent4b714ff9df1f76924190a2032d0e9b275c084cdb (diff)
Generate <rtems/rtems/barrier.h>
-rw-r--r--cpukit/include/rtems/rtems/barrier.h156
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 */