1 module dmagick.c.semaphore;
2 
3 import dmagick.c.magickType;
4 import dmagick.c.magickVersion;
5 
6 extern(C)
7 {
8 	struct SemaphoreInfo {}
9 
10 	MagickBooleanType SemaphoreComponentGenesis();
11 
12 	SemaphoreInfo* AllocateSemaphoreInfo();
13 
14 	static if ( MagickLibVersion < 0x689 )
15 	{
16 		void AcquireSemaphoreInfo(SemaphoreInfo**);
17 	}
18 
19 	static if ( MagickLibVersion >= 0x689 )
20 	{
21 		void ActivateSemaphoreInfo(SemaphoreInfo**);
22 	}
23 
24 	void DestroySemaphoreInfo(SemaphoreInfo**);
25 	void LockSemaphoreInfo(SemaphoreInfo*);
26 
27 	static if ( MagickLibVersion < 0x689 )
28 	{
29 		void RelinquishSemaphoreInfo(SemaphoreInfo*);
30 	}
31 
32 	void SemaphoreComponentTerminus();
33 	void UnlockSemaphoreInfo(SemaphoreInfo*);
34 }