RTEMS 6.1-rc5
Loading...
Searching...
No Matches
sem.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
11/*
12 * Copyright (C) 2020, 2021 embedded brains GmbH & Co. KG
13 * Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
14 *
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted provided that the following conditions
17 * are met:
18 * 1. Redistributions of source code must retain the above copyright
19 * notice, this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright
21 * notice, this list of conditions and the following disclaimer in the
22 * documentation and/or other materials provided with the distribution.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 */
36
37/*
38 * This file is part of the RTEMS quality process and was automatically
39 * generated. If you find something that needs to be fixed or
40 * worded better please post a report or patch to an RTEMS mailing list
41 * or raise a bug report:
42 *
43 * https://www.rtems.org/bugs.html
44 *
45 * For information on updating and regenerating please refer to the How-To
46 * section in the Software Requirements Engineering chapter of the
47 * RTEMS Software Engineering manual. The manual is provided as a part of
48 * a release. For development sources please refer to the online
49 * documentation at:
50 *
51 * https://docs.rtems.org
52 */
53
54/* Generated from spec:/rtems/sem/if/header */
55
56#ifndef _RTEMS_RTEMS_SEM_H
57#define _RTEMS_RTEMS_SEM_H
58
59#include <stdint.h>
60#include <rtems/rtems/attr.h>
61#include <rtems/rtems/options.h>
62#include <rtems/rtems/status.h>
63#include <rtems/rtems/types.h>
64
65#ifdef __cplusplus
66extern "C" {
67#endif
68
69/* Generated from spec:/rtems/sem/if/group */
70
80/* Generated from spec:/rtems/sem/if/create */
81
259 rtems_name name,
260 uint32_t count,
261 rtems_attribute attribute_set,
262 rtems_task_priority priority_ceiling,
263 rtems_id *id
264);
265
266/* Generated from spec:/rtems/sem/if/ident */
267
339 rtems_name name,
340 uint32_t node,
341 rtems_id *id
342);
343
344/* Generated from spec:/rtems/sem/if/delete */
345
409
410/* Generated from spec:/rtems/sem/if/obtain */
411
553 rtems_id id,
554 rtems_option option_set,
555 rtems_interval timeout
556);
557
558/* Generated from spec:/rtems/sem/if/release */
559
629
630/* Generated from spec:/rtems/sem/if/flush */
631
726
727/* Generated from spec:/rtems/sem/if/set-priority */
728
894 rtems_id semaphore_id,
895 rtems_id scheduler_id,
896 rtems_task_priority new_priority,
897 rtems_task_priority *old_priority
898);
899
900#ifdef __cplusplus
901}
902#endif
903
904#endif /* _RTEMS_RTEMS_SEM_H */
This header file provides Classic API directive attributes.
This header file provides types used by the Classic API.
uint32_t rtems_attribute
This type represents Classic API attributes.
Definition: attr.h:96
uint32_t rtems_option
This type represents a Classic API directive option set.
Definition: options.h:126
rtems_status_code rtems_semaphore_flush(rtems_id id)
Flushes the semaphore.
Definition: semflush.c:44
rtems_status_code rtems_semaphore_create(rtems_name name, uint32_t count, rtems_attribute attribute_set, rtems_task_priority priority_ceiling, rtems_id *id)
Creates a semaphore.
Definition: semcreate.c:54
rtems_status_code rtems_semaphore_ident(rtems_name name, uint32_t node, rtems_id *id)
Identifies a semaphore by the object name.
Definition: semident.c:45
rtems_status_code rtems_semaphore_delete(rtems_id id)
Deletes the semaphore.
Definition: semdelete.c:45
rtems_status_code rtems_semaphore_set_priority(rtems_id semaphore_id, rtems_id scheduler_id, rtems_task_priority new_priority, rtems_task_priority *old_priority)
Sets the priority by scheduler for the semaphore.
Definition: semsetpriority.c:145
rtems_status_code rtems_semaphore_release(rtems_id id)
Releases the semaphore.
Definition: semrelease.c:45
rtems_status_code rtems_semaphore_obtain(rtems_id id, rtems_option option_set, rtems_interval timeout)
Obtains the semaphore.
Definition: semobtain.c:72
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
uint32_t rtems_name
This type represents Classic API object names.
Definition: types.h:226
uint32_t rtems_task_priority
This integer type represents task priorities of the Classic API.
Definition: types.h:257
Objects_Id rtems_id
This type represents RTEMS object identifiers.
Definition: types.h:94
Watchdog_Interval rtems_interval
This type represents clock tick intervals.
Definition: types.h:114
This header file provides the Classic API directive options.
This header file provides the status codes of Classic API directives and support functions.