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_TRY_H
0052 #define _TR_MTX_SEIZE_TRY_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 ScoreMtxReqSeizeTry_Pre_Protocol_Ceiling,
0068 ScoreMtxReqSeizeTry_Pre_Protocol_MrsP,
0069 ScoreMtxReqSeizeTry_Pre_Protocol_Other,
0070 ScoreMtxReqSeizeTry_Pre_Protocol_NA
0071 } ScoreMtxReqSeizeTry_Pre_Protocol;
0072
0073 typedef enum {
0074 ScoreMtxReqSeizeTry_Pre_Discipline_FIFO,
0075 ScoreMtxReqSeizeTry_Pre_Discipline_Priority,
0076 ScoreMtxReqSeizeTry_Pre_Discipline_NA
0077 } ScoreMtxReqSeizeTry_Pre_Discipline;
0078
0079 typedef enum {
0080 ScoreMtxReqSeizeTry_Pre_Recursive_Allowed,
0081 ScoreMtxReqSeizeTry_Pre_Recursive_Unavailable,
0082 ScoreMtxReqSeizeTry_Pre_Recursive_Deadlock,
0083 ScoreMtxReqSeizeTry_Pre_Recursive_NA
0084 } ScoreMtxReqSeizeTry_Pre_Recursive;
0085
0086 typedef enum {
0087 ScoreMtxReqSeizeTry_Pre_Owner_None,
0088 ScoreMtxReqSeizeTry_Pre_Owner_Caller,
0089 ScoreMtxReqSeizeTry_Pre_Owner_Other,
0090 ScoreMtxReqSeizeTry_Pre_Owner_NA
0091 } ScoreMtxReqSeizeTry_Pre_Owner;
0092
0093 typedef enum {
0094 ScoreMtxReqSeizeTry_Pre_Priority_High,
0095 ScoreMtxReqSeizeTry_Pre_Priority_Equal,
0096 ScoreMtxReqSeizeTry_Pre_Priority_Low,
0097 ScoreMtxReqSeizeTry_Pre_Priority_NA
0098 } ScoreMtxReqSeizeTry_Pre_Priority;
0099
0100 typedef enum {
0101 ScoreMtxReqSeizeTry_Post_Status_Ok,
0102 ScoreMtxReqSeizeTry_Post_Status_MutexCeilingViolated,
0103 ScoreMtxReqSeizeTry_Post_Status_Deadlock,
0104 ScoreMtxReqSeizeTry_Post_Status_Unavailable,
0105 ScoreMtxReqSeizeTry_Post_Status_NA
0106 } ScoreMtxReqSeizeTry_Post_Status;
0107
0108 typedef enum {
0109 ScoreMtxReqSeizeTry_Post_Owner_Other,
0110 ScoreMtxReqSeizeTry_Post_Owner_Caller,
0111 ScoreMtxReqSeizeTry_Post_Owner_None,
0112 ScoreMtxReqSeizeTry_Post_Owner_NA
0113 } ScoreMtxReqSeizeTry_Post_Owner;
0114
0115 typedef enum {
0116 ScoreMtxReqSeizeTry_Post_Priority_Nop,
0117 ScoreMtxReqSeizeTry_Post_Priority_Ceiling,
0118 ScoreMtxReqSeizeTry_Post_Priority_NA
0119 } ScoreMtxReqSeizeTry_Post_Priority;
0120
0121
0122
0123
0124
0125
0126 void ScoreMtxReqSeizeTry_Run( TQMtxContext *tq_ctx );
0127
0128
0129
0130 #ifdef __cplusplus
0131 }
0132 #endif
0133
0134 #endif