RTEMS 6.1-rc1
tr-mtx-seize-try.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-2-Clause */
2
9/*
10 * Copyright (C) 2021 embedded brains GmbH & Co. KG
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 * notice, this list of conditions and the following disclaimer in the
19 * documentation and/or other materials provided with the distribution.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31 * POSSIBILITY OF SUCH DAMAGE.
32 */
33
34/*
35 * This file is part of the RTEMS quality process and was automatically
36 * generated. If you find something that needs to be fixed or
37 * worded better please post a report or patch to an RTEMS mailing list
38 * or raise a bug report:
39 *
40 * https://www.rtems.org/bugs.html
41 *
42 * For information on updating and regenerating please refer to the How-To
43 * section in the Software Requirements Engineering chapter of the
44 * RTEMS Software Engineering manual. The manual is provided as a part of
45 * a release. For development sources please refer to the online
46 * documentation at:
47 *
48 * https://docs.rtems.org
49 */
50
51#ifndef _TR_MTX_SEIZE_TRY_H
52#define _TR_MTX_SEIZE_TRY_H
53
54#include "tx-thread-queue.h"
55
56#ifdef __cplusplus
57extern "C" {
58#endif
59
66typedef enum {
67 ScoreMtxReqSeizeTry_Pre_Protocol_Ceiling,
68 ScoreMtxReqSeizeTry_Pre_Protocol_MrsP,
69 ScoreMtxReqSeizeTry_Pre_Protocol_Other,
70 ScoreMtxReqSeizeTry_Pre_Protocol_NA
71} ScoreMtxReqSeizeTry_Pre_Protocol;
72
73typedef enum {
74 ScoreMtxReqSeizeTry_Pre_Discipline_FIFO,
75 ScoreMtxReqSeizeTry_Pre_Discipline_Priority,
76 ScoreMtxReqSeizeTry_Pre_Discipline_NA
77} ScoreMtxReqSeizeTry_Pre_Discipline;
78
79typedef enum {
80 ScoreMtxReqSeizeTry_Pre_Recursive_Allowed,
81 ScoreMtxReqSeizeTry_Pre_Recursive_Unavailable,
82 ScoreMtxReqSeizeTry_Pre_Recursive_Deadlock,
83 ScoreMtxReqSeizeTry_Pre_Recursive_NA
84} ScoreMtxReqSeizeTry_Pre_Recursive;
85
86typedef enum {
87 ScoreMtxReqSeizeTry_Pre_Owner_None,
88 ScoreMtxReqSeizeTry_Pre_Owner_Caller,
89 ScoreMtxReqSeizeTry_Pre_Owner_Other,
90 ScoreMtxReqSeizeTry_Pre_Owner_NA
91} ScoreMtxReqSeizeTry_Pre_Owner;
92
93typedef enum {
94 ScoreMtxReqSeizeTry_Pre_Priority_High,
95 ScoreMtxReqSeizeTry_Pre_Priority_Equal,
96 ScoreMtxReqSeizeTry_Pre_Priority_Low,
97 ScoreMtxReqSeizeTry_Pre_Priority_NA
98} ScoreMtxReqSeizeTry_Pre_Priority;
99
100typedef enum {
101 ScoreMtxReqSeizeTry_Post_Status_Ok,
102 ScoreMtxReqSeizeTry_Post_Status_MutexCeilingViolated,
103 ScoreMtxReqSeizeTry_Post_Status_Deadlock,
104 ScoreMtxReqSeizeTry_Post_Status_Unavailable,
105 ScoreMtxReqSeizeTry_Post_Status_NA
106} ScoreMtxReqSeizeTry_Post_Status;
107
108typedef enum {
109 ScoreMtxReqSeizeTry_Post_Owner_Other,
110 ScoreMtxReqSeizeTry_Post_Owner_Caller,
111 ScoreMtxReqSeizeTry_Post_Owner_None,
112 ScoreMtxReqSeizeTry_Post_Owner_NA
113} ScoreMtxReqSeizeTry_Post_Owner;
114
115typedef enum {
116 ScoreMtxReqSeizeTry_Post_Priority_Nop,
117 ScoreMtxReqSeizeTry_Post_Priority_Ceiling,
118 ScoreMtxReqSeizeTry_Post_Priority_NA
119} ScoreMtxReqSeizeTry_Post_Priority;
120
127
130#ifdef __cplusplus
131}
132#endif
133
134#endif /* _TR_MTX_SEIZE_TRY_H */
void ScoreMtxReqSeizeTry_Run(TQMtxContext *tq_ctx)
Runs the parameterized test case.
Definition: tr-mtx-seize-try.c:809
Definition: tx-thread-queue.h:501
This header file provides the functions to test the Thread Queue Handler.