topical media & game development
lib-of-vs-libs-QTDevWin-CIncludes-DriverSynchronization.h / h
/*
File: DriverSynchronization.h
Contains: Driver Synchronization Interfaces.
Version: Technology: MacOS 8
Release: QuickTime 6.0.2
Copyright: (c) 1985-2001 by Apple Computer, Inc., all rights reserved
Bugs?: For bug reports, consult the following page on
the World Wide Web:
http://developer.apple.com/bugreporter/
*/
ifndef __DRIVERSYNCHRONIZATION__
define __DRIVERSYNCHRONIZATION__
ifndef __CONDITIONALMACROS__
include <ConditionalMacros.h>
endif
ifndef __MACTYPES__
include <MacTypes.h>
endif
if PRAGMA_ONCE
#pragma once
endif
ifdef __cplusplus
extern "C" {
endif
if PRAGMA_IMPORT
#pragma import on
endif
if PRAGMA_STRUCT_ALIGN
#pragma options align=mac68k
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(push, 2)
#elif PRAGMA_STRUCT_PACK
#pragma pack(2)
endif
if CALL_NOT_IN_CARBON
EXTERN_API_C( void )
SynchronizeIO (void) ONEWORDINLINE(0x4E71);
endif /* CALL_NOT_IN_CARBON */
EXTERN_API_C( Boolean )
CompareAndSwap (UInt32 oldVvalue,
UInt32 newValue,
UInt32 * OldValueAdr);
EXTERN_API_C( Boolean )
TestAndClear (UInt32 bit,
UInt8 * startAddress);
EXTERN_API_C( Boolean )
TestAndSet (UInt32 bit,
UInt8 * startAddress);
EXTERN_API_C( SInt8 )
IncrementAtomic8 (SInt8 * value);
EXTERN_API_C( SInt8 )
DecrementAtomic8 (SInt8 * value);
EXTERN_API_C( SInt8 )
AddAtomic8 (SInt32 amount,
SInt8 * value);
EXTERN_API_C( UInt8 )
BitAndAtomic8 (UInt32 mask,
UInt8 * value);
EXTERN_API_C( UInt8 )
BitOrAtomic8 (UInt32 mask,
UInt8 * value);
EXTERN_API_C( UInt8 )
BitXorAtomic8 (UInt32 mask,
UInt8 * value);
EXTERN_API_C( SInt16 )
IncrementAtomic16 (SInt16 * value);
EXTERN_API_C( SInt16 )
DecrementAtomic16 (SInt16 * value);
EXTERN_API_C( SInt16 )
AddAtomic16 (SInt32 amount,
SInt16 * value);
EXTERN_API_C( UInt16 )
BitAndAtomic16 (UInt32 mask,
UInt16 * value);
EXTERN_API_C( UInt16 )
BitOrAtomic16 (UInt32 mask,
UInt16 * value);
EXTERN_API_C( UInt16 )
BitXorAtomic16 (UInt32 mask,
UInt16 * value);
EXTERN_API_C( SInt32 )
IncrementAtomic (SInt32 * value);
EXTERN_API_C( SInt32 )
DecrementAtomic (SInt32 * value);
EXTERN_API_C( SInt32 )
AddAtomic (SInt32 amount,
SInt32 * value);
EXTERN_API_C( UInt32 )
BitAndAtomic (UInt32 mask,
UInt32 * value);
EXTERN_API_C( UInt32 )
BitOrAtomic (UInt32 mask,
UInt32 * value);
EXTERN_API_C( UInt32 )
BitXorAtomic (UInt32 mask,
UInt32 * value);
if PRAGMA_STRUCT_ALIGN
#pragma options align=reset
#elif PRAGMA_STRUCT_PACKPUSH
#pragma pack(pop)
#elif PRAGMA_STRUCT_PACK
#pragma pack()
endif
ifdef PRAGMA_IMPORT_OFF
#pragma import off
#elif PRAGMA_IMPORT
#pragma import reset
endif
ifdef __cplusplus
}
endif
endif /* __DRIVERSYNCHRONIZATION__ */
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.