File indexing completed on 2025-05-11 08:24:53
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 #ifndef _TR_MTX_SEIZE_WAIT_H
0052 #define _TR_MTX_SEIZE_WAIT_H
0053
0054 #include "tx-thread-queue.h"
0055
0056 #ifdef __cplusplus
0057 extern "C" {
0058 #endif
0059
0060
0061
0062
0063
0064
0065
0066 typedef enum {
0067 ScoreMtxReqSeizeWait_Pre_Protocol_None,
0068 ScoreMtxReqSeizeWait_Pre_Protocol_Inherit,
0069 ScoreMtxReqSeizeWait_Pre_Protocol_Ceiling,
0070 ScoreMtxReqSeizeWait_Pre_Protocol_MrsP,
0071 ScoreMtxReqSeizeWait_Pre_Protocol_NA
0072 } ScoreMtxReqSeizeWait_Pre_Protocol;
0073
0074 typedef enum {
0075 ScoreMtxReqSeizeWait_Pre_Discipline_FIFO,
0076 ScoreMtxReqSeizeWait_Pre_Discipline_Priority,
0077 ScoreMtxReqSeizeWait_Pre_Discipline_NA
0078 } ScoreMtxReqSeizeWait_Pre_Discipline;
0079
0080 typedef enum {
0081 ScoreMtxReqSeizeWait_Pre_DeadlockResult_Status,
0082 ScoreMtxReqSeizeWait_Pre_DeadlockResult_Fatal,
0083 ScoreMtxReqSeizeWait_Pre_DeadlockResult_NA
0084 } ScoreMtxReqSeizeWait_Pre_DeadlockResult;
0085
0086 typedef enum {
0087 ScoreMtxReqSeizeWait_Pre_Recursive_Allowed,
0088 ScoreMtxReqSeizeWait_Pre_Recursive_Deadlock,
0089 ScoreMtxReqSeizeWait_Pre_Recursive_NA
0090 } ScoreMtxReqSeizeWait_Pre_Recursive;
0091
0092 typedef enum {
0093 ScoreMtxReqSeizeWait_Pre_Owner_None,
0094 ScoreMtxReqSeizeWait_Pre_Owner_Caller,
0095 ScoreMtxReqSeizeWait_Pre_Owner_Other,
0096 ScoreMtxReqSeizeWait_Pre_Owner_Deadlock,
0097 ScoreMtxReqSeizeWait_Pre_Owner_NA
0098 } ScoreMtxReqSeizeWait_Pre_Owner;
0099
0100 typedef enum {
0101 ScoreMtxReqSeizeWait_Pre_Priority_High,
0102 ScoreMtxReqSeizeWait_Pre_Priority_Equal,
0103 ScoreMtxReqSeizeWait_Pre_Priority_Low,
0104 ScoreMtxReqSeizeWait_Pre_Priority_NA
0105 } ScoreMtxReqSeizeWait_Pre_Priority;
0106
0107 typedef enum {
0108 ScoreMtxReqSeizeWait_Post_Status_Ok,
0109 ScoreMtxReqSeizeWait_Post_Status_MutexCeilingViolated,
0110 ScoreMtxReqSeizeWait_Post_Status_DeadlockStatus,
0111 ScoreMtxReqSeizeWait_Post_Status_DeadlockFatal,
0112 ScoreMtxReqSeizeWait_Post_Status_NA
0113 } ScoreMtxReqSeizeWait_Post_Status;
0114
0115 typedef enum {
0116 ScoreMtxReqSeizeWait_Post_Enqueued_No,
0117 ScoreMtxReqSeizeWait_Post_Enqueued_FIFO,
0118 ScoreMtxReqSeizeWait_Post_Enqueued_Priority,
0119 ScoreMtxReqSeizeWait_Post_Enqueued_PriorityInherit,
0120 ScoreMtxReqSeizeWait_Post_Enqueued_PriorityCeiling,
0121 ScoreMtxReqSeizeWait_Post_Enqueued_PriorityMrsP,
0122 ScoreMtxReqSeizeWait_Post_Enqueued_NA
0123 } ScoreMtxReqSeizeWait_Post_Enqueued;
0124
0125 typedef enum {
0126 ScoreMtxReqSeizeWait_Post_Owner_Other,
0127 ScoreMtxReqSeizeWait_Post_Owner_Caller,
0128 ScoreMtxReqSeizeWait_Post_Owner_None,
0129 ScoreMtxReqSeizeWait_Post_Owner_NA
0130 } ScoreMtxReqSeizeWait_Post_Owner;
0131
0132 typedef enum {
0133 ScoreMtxReqSeizeWait_Post_Priority_Nop,
0134 ScoreMtxReqSeizeWait_Post_Priority_Ceiling,
0135 ScoreMtxReqSeizeWait_Post_Priority_NA
0136 } ScoreMtxReqSeizeWait_Post_Priority;
0137
0138
0139
0140
0141
0142
0143 void ScoreMtxReqSeizeWait_Run( TQMtxContext *tq_ctx );
0144
0145
0146
0147 #ifdef __cplusplus
0148 }
0149 #endif
0150
0151 #endif