Code:
typedef void AKU_API;

#define AKU_DECLARE_FUNC_ACCESSORS(funcname) \
	AKU_API AKU##funcname##Func	AKUGetFunc_##funcname (); \
	AKU_API void AKUSetFunc_##funcname ( AKU##funcname##Func func );

// Callback management
typedef void ( *AKUEnterFullscreenModeFunc )	        ();
typedef void ( *AKUExitFullscreenModeFunc )		();

AKU_DECLARE_FUNC_ACCESSORS ( EnterFullscreenMode )
AKU_DECLARE_FUNC_ACCESSORS ( ExitFullscreenMode )
Now when given this, the error is that you're declaring those functions twice within the same source unit. The first time with a typedef, and the second time using the AKU_DECLARE_FUNC_ACCESSORS macro.

Regards,

Paul McKenzie