RTEMS 6.1-rc5
Loading...
Searching...
No Matches
tr-mtx-seize-wait.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_WAIT_H
52#define _TR_MTX_SEIZE_WAIT_H
53
54#include "tx-thread-queue.h"
55
56#ifdef __cplusplus
57extern "C" {
58#endif
59
66typedef enum {
67 ScoreMtxReqSeizeWait_Pre_Protocol_None,
68 ScoreMtxReqSeizeWait_Pre_Protocol_Inherit,
69 ScoreMtxReqSeizeWait_Pre_Protocol_Ceiling,
70 ScoreMtxReqSeizeWait_Pre_Protocol_MrsP,
71 ScoreMtxReqSeizeWait_Pre_Protocol_NA
72} ScoreMtxReqSeizeWait_Pre_Protocol;
73
74typedef enum {
75 ScoreMtxReqSeizeWait_Pre_Discipline_FIFO,
76 ScoreMtxReqSeizeWait_Pre_Discipline_Priority,
77 ScoreMtxReqSeizeWait_Pre_Discipline_NA
78} ScoreMtxReqSeizeWait_Pre_Discipline;
79
80typedef enum {
81 ScoreMtxReqSeizeWait_Pre_DeadlockResult_Status,
82 ScoreMtxReqSeizeWait_Pre_DeadlockResult_Fatal,
83 ScoreMtxReqSeizeWait_Pre_DeadlockResult_NA
84} ScoreMtxReqSeizeWait_Pre_DeadlockResult;
85
86typedef enum {
87 ScoreMtxReqSeizeWait_Pre_Recursive_Allowed,
88 ScoreMtxReqSeizeWait_Pre_Recursive_Deadlock,
89 ScoreMtxReqSeizeWait_Pre_Recursive_NA
90} ScoreMtxReqSeizeWait_Pre_Recursive;
91
92typedef enum {
93 ScoreMtxReqSeizeWait_Pre_Owner_None,
94 ScoreMtxReqSeizeWait_Pre_Owner_Caller,
95 ScoreMtxReqSeizeWait_Pre_Owner_Other,
96 ScoreMtxReqSeizeWait_Pre_Owner_Deadlock,
97 ScoreMtxReqSeizeWait_Pre_Owner_NA
98} ScoreMtxReqSeizeWait_Pre_Owner;
99
100typedef enum {
101 ScoreMtxReqSeizeWait_Pre_Priority_High,
102 ScoreMtxReqSeizeWait_Pre_Priority_Equal,
103 ScoreMtxReqSeizeWait_Pre_Priority_Low,
104 ScoreMtxReqSeizeWait_Pre_Priority_NA
105} ScoreMtxReqSeizeWait_Pre_Priority;
106
107typedef enum {
108 ScoreMtxReqSeizeWait_Post_Status_Ok,
109 ScoreMtxReqSeizeWait_Post_Status_MutexCeilingViolated,
110 ScoreMtxReqSeizeWait_Post_Status_DeadlockStatus,
111 ScoreMtxReqSeizeWait_Post_Status_DeadlockFatal,
112 ScoreMtxReqSeizeWait_Post_Status_NA
113} ScoreMtxReqSeizeWait_Post_Status;
114
115typedef enum {
116 ScoreMtxReqSeizeWait_Post_Enqueued_No,
117 ScoreMtxReqSeizeWait_Post_Enqueued_FIFO,
118 ScoreMtxReqSeizeWait_Post_Enqueued_Priority,
119 ScoreMtxReqSeizeWait_Post_Enqueued_PriorityInherit,
120 ScoreMtxReqSeizeWait_Post_Enqueued_PriorityCeiling,
121 ScoreMtxReqSeizeWait_Post_Enqueued_PriorityMrsP,
122 ScoreMtxReqSeizeWait_Post_Enqueued_NA
123} ScoreMtxReqSeizeWait_Post_Enqueued;
124
125typedef enum {
126 ScoreMtxReqSeizeWait_Post_Owner_Other,
127 ScoreMtxReqSeizeWait_Post_Owner_Caller,
128 ScoreMtxReqSeizeWait_Post_Owner_None,
129 ScoreMtxReqSeizeWait_Post_Owner_NA
130} ScoreMtxReqSeizeWait_Post_Owner;
131
132typedef enum {
133 ScoreMtxReqSeizeWait_Post_Priority_Nop,
134 ScoreMtxReqSeizeWait_Post_Priority_Ceiling,
135 ScoreMtxReqSeizeWait_Post_Priority_NA
136} ScoreMtxReqSeizeWait_Post_Priority;
137
144
147#ifdef __cplusplus
148}
149#endif
150
151#endif /* _TR_MTX_SEIZE_WAIT_H */
void ScoreMtxReqSeizeWait_Run(TQMtxContext *tq_ctx)
Runs the parameterized test case.
Definition: tr-mtx-seize-wait.c:1087
Definition: tx-thread-queue.h:501
This header file provides the functions to test the Thread Queue Handler.