RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
cpukit
include
rtems
rtems
barrier.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
10
11
/*
12
* Copyright (C) 2025 Mazen Adel Elmessady
13
* Copyright (C) 2020, 2021 embedded brains GmbH & Co. KG
14
* Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
15
*
16
* Redistribution and use in source and binary forms, with or without
17
* modification, are permitted provided that the following conditions
18
* are met:
19
* 1. Redistributions of source code must retain the above copyright
20
* notice, this list of conditions and the following disclaimer.
21
* 2. Redistributions in binary form must reproduce the above copyright
22
* notice, this list of conditions and the following disclaimer in the
23
* documentation and/or other materials provided with the distribution.
24
*
25
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35
* POSSIBILITY OF SUCH DAMAGE.
36
*/
37
38
/*
39
* This file is part of the RTEMS quality process and was automatically
40
* generated. If you find something that needs to be fixed or
41
* worded better please post a report or patch to an RTEMS mailing list
42
* or raise a bug report:
43
*
44
* https://www.rtems.org/bugs.html
45
*
46
* For information on updating and regenerating please refer to the How-To
47
* section in the Software Requirements Engineering chapter of the
48
* RTEMS Software Engineering manual. The manual is provided as a part of
49
* a release. For development sources please refer to the online
50
* documentation at:
51
*
52
* https://docs.rtems.org
53
*/
54
55
/* Generated from spec:/rtems/barrier/if/header */
56
57
#ifndef _RTEMS_RTEMS_BARRIER_H
58
#define _RTEMS_RTEMS_BARRIER_H
59
60
#include <stdint.h>
61
#include <
rtems/rtems/attr.h
>
62
#include <
rtems/rtems/status.h
>
63
#include <
rtems/rtems/types.h
>
64
65
#ifdef __cplusplus
66
extern
"C"
{
67
#endif
68
69
/* Generated from spec:/rtems/barrier/if/group */
70
79
80
/* Generated from spec:/rtems/barrier/if/create */
81
168
rtems_status_code
rtems_barrier_create
(
169
rtems_name
name,
170
rtems_attribute
attribute_set,
171
uint32_t maximum_waiters,
172
rtems_id
*
id
173
);
174
175
/* Generated from spec:/rtems/barrier/if/ident */
176
222
rtems_status_code
rtems_barrier_ident
(
rtems_name
name,
rtems_id
*
id
);
223
224
/* Generated from spec:/rtems/barrier/if/delete */
225
264
rtems_status_code
rtems_barrier_delete
(
rtems_id
id
);
265
266
/* Generated from spec:/rtems/barrier/if/wait */
267
313
rtems_status_code
rtems_barrier_wait
(
rtems_id
id
,
rtems_interval
timeout );
314
315
/* Generated from spec:/rtems/barrier/if/release */
316
351
rtems_status_code
rtems_barrier_release
(
rtems_id
id
, uint32_t *released );
352
353
/* Generated from spec:/rtems/barrier/if/get-number-waiting */
354
385
rtems_status_code
rtems_barrier_get_number_waiting
(
386
rtems_id
id
,
387
uint32_t *waiting
388
);
389
390
#ifdef __cplusplus
391
}
392
#endif
393
394
#endif
/* _RTEMS_RTEMS_BARRIER_H */
attr.h
This header file provides Classic API directive attributes.
types.h
This header file provides types used by the Classic API.
rtems_attribute
uint32_t rtems_attribute
This type represents Classic API attributes.
Definition
attr.h:96
rtems_barrier_get_number_waiting
rtems_status_code rtems_barrier_get_number_waiting(rtems_id id, uint32_t *waiting)
Gets the number of tasks waiting at the barrier.
Definition
barriergetnumwaiting.c:43
rtems_barrier_wait
rtems_status_code rtems_barrier_wait(rtems_id id, rtems_interval timeout)
Waits at the barrier.
Definition
barrierwait.c:51
rtems_barrier_delete
rtems_status_code rtems_barrier_delete(rtems_id id)
Deletes the barrier.
Definition
barrierdelete.c:44
rtems_barrier_create
rtems_status_code rtems_barrier_create(rtems_name name, rtems_attribute attribute_set, uint32_t maximum_waiters, rtems_id *id)
Creates a barrier.
Definition
barriercreate.c:49
rtems_barrier_release
rtems_status_code rtems_barrier_release(rtems_id id, uint32_t *released)
Releases the barrier.
Definition
barrierrelease.c:44
rtems_barrier_ident
rtems_status_code rtems_barrier_ident(rtems_name name, rtems_id *id)
Identifies a barrier by the object name.
Definition
barrierident.c:45
rtems_status_code
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition
status.h:85
rtems_name
uint32_t rtems_name
This type represents Classic API object names.
Definition
types.h:226
rtems_id
Objects_Id rtems_id
This type represents RTEMS object identifiers.
Definition
types.h:94
rtems_interval
Watchdog_Interval rtems_interval
This type represents clock tick intervals.
Definition
types.h:114
status.h
This header file provides the status codes of Classic API directives and support functions.
Generated by
1.18.0