Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / sources / tas / stb / stb_ctk_mutex.h
1 #ifndef STB_CTK_MUTEX
2 #define STB_CTK_MUTEX
3
4 #define MUTEX_ONLY_ONE ((int)1)
5
6 typedef struct
7 {
8 int mutextype;
9 int mutexnum;
10 chain_list *allttvevents;
11 } one_mutex;
12
13 typedef struct sortedmutexlist
14 {
15 struct sortedmutexlist *NEXT ;
16 one_mutex *MUTEX ;
17 chain_list *LIST ;
18 } sortedmutexlist ;
19
20 typedef struct
21 {
22 chain_list *NOMUTEX ;
23 one_mutex *MUTEX ; // eventualy the mutex of victim event.
24 sortedmutexlist *LIST ;
25 } sortedmutex ;
26
27 #define CTK_MUTEX_PTYPE 0xfabbaf01
28
29 one_mutex *GetCtkMutex(ttvfig_list *tvf, ttvevent_list *tev);
30 int GetCtkMutexType(one_mutex *om);
31 int GetCtkMutexIdent(one_mutex *om);
32 chain_list* GetCtkMutexEventList(one_mutex *om);
33 void CtkMutexFree(ttvfig_list *tvf);
34 extern void CtkMutexInit(ttvfig_list *tvf);
35 int GetCtkMutexNumber(ttvfig_list *tvf);
36
37 sortedmutex* stb_ctk_sort_by_mutex( ttvfig_list *tvf, ttvevent_list *victim, chain_list *eventlist );
38 void stb_ctk_free_sortedmutex( ttvfig_list *tvf, sortedmutex *mutex );
39 #endif