Added additional DLL build configuration to native client library

This commit is contained in:
Benjamin Höglinger
2017-09-22 20:04:17 +02:00
parent 255fb406c4
commit 6204347157

View File

@@ -32,6 +32,16 @@ extern "C" {
#include "ViGEmCommon.h"
#ifdef VIGEM_DYNAMIC
#ifdef VIGEM_EXPORTS
#define VIGEM_API __declspec(dllexport)
#else
#define VIGEM_API __declspec(dllimport)
#endif
#else
#define VIGEM_API
#endif
/**
* \typedef enum _VIGEM_ERRORS
*
@@ -109,7 +119,7 @@ typedef VOID(CALLBACK* PVIGEM_TARGET_ADD_RESULT)(
*
* \return A new driver connection object.
*/
PVIGEM_CLIENT vigem_alloc(void);
VIGEM_API PVIGEM_CLIENT vigem_alloc(void);
/**
* \fn void vigem_free(PVIGEM_CLIENT vigem);
@@ -121,7 +131,7 @@ PVIGEM_CLIENT vigem_alloc(void);
*
* \param vigem The driver connection object.
*/
void vigem_free(PVIGEM_CLIENT vigem);
VIGEM_API void vigem_free(PVIGEM_CLIENT vigem);
/**
* \fn VIGEM_ERROR vigem_connect(PVIGEM_CLIENT vigem);
@@ -136,7 +146,7 @@ void vigem_free(PVIGEM_CLIENT vigem);
*
* \return A VIGEM_ERROR.
*/
VIGEM_ERROR vigem_connect(PVIGEM_CLIENT vigem);
VIGEM_API VIGEM_ERROR vigem_connect(PVIGEM_CLIENT vigem);
/**
* \fn void vigem_disconnect(PVIGEM_CLIENT vigem);
@@ -151,7 +161,7 @@ VIGEM_ERROR vigem_connect(PVIGEM_CLIENT vigem);
*
* \param vigem The driver connection object.
*/
void vigem_disconnect(PVIGEM_CLIENT vigem);
VIGEM_API void vigem_disconnect(PVIGEM_CLIENT vigem);
/**
* \fn PVIGEM_TARGET vigem_target_x360_alloc(void);
@@ -163,7 +173,7 @@ void vigem_disconnect(PVIGEM_CLIENT vigem);
*
* \return A PVIGEM_TARGET representing an Xbox 360 Controller device.
*/
PVIGEM_TARGET vigem_target_x360_alloc(void);
VIGEM_API PVIGEM_TARGET vigem_target_x360_alloc(void);
/**
* \fn PVIGEM_TARGET vigem_target_ds4_alloc(void);
@@ -175,7 +185,7 @@ PVIGEM_TARGET vigem_target_x360_alloc(void);
*
* \return A PVIGEM_TARGET representing a DualShock 4 Controller device.
*/
PVIGEM_TARGET vigem_target_ds4_alloc(void);
VIGEM_API PVIGEM_TARGET vigem_target_ds4_alloc(void);
/**
* \fn void vigem_target_free(PVIGEM_TARGET target);
@@ -190,7 +200,7 @@ PVIGEM_TARGET vigem_target_ds4_alloc(void);
*
* \param target The target device object.
*/
void vigem_target_free(PVIGEM_TARGET target);
VIGEM_API void vigem_target_free(PVIGEM_TARGET target);
/**
* \fn VIGEM_ERROR vigem_target_add(PVIGEM_CLIENT vigem, PVIGEM_TARGET target);
@@ -207,7 +217,7 @@ void vigem_target_free(PVIGEM_TARGET target);
*
* \return A VIGEM_ERROR.
*/
VIGEM_ERROR vigem_target_add(PVIGEM_CLIENT vigem, PVIGEM_TARGET target);
VIGEM_API VIGEM_ERROR vigem_target_add(PVIGEM_CLIENT vigem, PVIGEM_TARGET target);
/**
* \fn VIGEM_ERROR vigem_target_add_async(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PVIGEM_TARGET_ADD_RESULT result);
@@ -226,7 +236,7 @@ VIGEM_ERROR vigem_target_add(PVIGEM_CLIENT vigem, PVIGEM_TARGET target);
*
* \return A VIGEM_ERROR.
*/
VIGEM_ERROR vigem_target_add_async(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PVIGEM_TARGET_ADD_RESULT result);
VIGEM_API VIGEM_ERROR vigem_target_add_async(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PVIGEM_TARGET_ADD_RESULT result);
/**
* \fn VIGEM_ERROR vigem_target_remove(PVIGEM_CLIENT vigem, PVIGEM_TARGET target);
@@ -244,7 +254,7 @@ VIGEM_ERROR vigem_target_add_async(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PV
*
* \return A VIGEM_ERROR.
*/
VIGEM_ERROR vigem_target_remove(PVIGEM_CLIENT vigem, PVIGEM_TARGET target);
VIGEM_API VIGEM_ERROR vigem_target_remove(PVIGEM_CLIENT vigem, PVIGEM_TARGET target);
/**
* \fn VIGEM_ERROR vigem_target_x360_register_notification(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PVIGEM_X360_NOTIFICATION notification);
@@ -262,7 +272,7 @@ VIGEM_ERROR vigem_target_remove(PVIGEM_CLIENT vigem, PVIGEM_TARGET target);
*
* \return A VIGEM_ERROR.
*/
VIGEM_ERROR vigem_target_x360_register_notification(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PVIGEM_X360_NOTIFICATION notification);
VIGEM_API VIGEM_ERROR vigem_target_x360_register_notification(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PVIGEM_X360_NOTIFICATION notification);
/**
* \fn VIGEM_ERROR vigem_target_ds4_register_notification(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PVIGEM_DS4_NOTIFICATION notification);
@@ -280,7 +290,7 @@ VIGEM_ERROR vigem_target_x360_register_notification(PVIGEM_CLIENT vigem, PVIGEM_
*
* \return A VIGEM_ERROR.
*/
VIGEM_ERROR vigem_target_ds4_register_notification(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PVIGEM_DS4_NOTIFICATION notification);
VIGEM_API VIGEM_ERROR vigem_target_ds4_register_notification(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, PVIGEM_DS4_NOTIFICATION notification);
/**
* \fn void vigem_target_x360_unregister_notification(PVIGEM_TARGET target);
@@ -292,7 +302,7 @@ VIGEM_ERROR vigem_target_ds4_register_notification(PVIGEM_CLIENT vigem, PVIGEM_T
*
* \param target The target device object.
*/
void vigem_target_x360_unregister_notification(PVIGEM_TARGET target);
VIGEM_API void vigem_target_x360_unregister_notification(PVIGEM_TARGET target);
/**
* \fn void vigem_target_ds4_unregister_notification(PVIGEM_TARGET target);
@@ -304,7 +314,7 @@ void vigem_target_x360_unregister_notification(PVIGEM_TARGET target);
*
* \param target The target device object.
*/
void vigem_target_ds4_unregister_notification(PVIGEM_TARGET target);
VIGEM_API void vigem_target_ds4_unregister_notification(PVIGEM_TARGET target);
/**
* \fn void vigem_target_set_vid(PVIGEM_TARGET target, USHORT vid);
@@ -317,7 +327,7 @@ void vigem_target_ds4_unregister_notification(PVIGEM_TARGET target);
* \param target The target device object.
* \param vid The Vendor ID to set.
*/
void vigem_target_set_vid(PVIGEM_TARGET target, USHORT vid);
VIGEM_API void vigem_target_set_vid(PVIGEM_TARGET target, USHORT vid);
/**
* \fn void vigem_target_set_pid(PVIGEM_TARGET target, USHORT pid);
@@ -330,7 +340,7 @@ void vigem_target_set_vid(PVIGEM_TARGET target, USHORT vid);
* \param target The target device object.
* \param pid The Product ID to set.
*/
void vigem_target_set_pid(PVIGEM_TARGET target, USHORT pid);
VIGEM_API void vigem_target_set_pid(PVIGEM_TARGET target, USHORT pid);
/**
* \fn USHORT vigem_target_get_vid(PVIGEM_TARGET target);
@@ -344,7 +354,7 @@ void vigem_target_set_pid(PVIGEM_TARGET target, USHORT pid);
*
* \return The Vendor ID.
*/
USHORT vigem_target_get_vid(PVIGEM_TARGET target);
VIGEM_API USHORT vigem_target_get_vid(PVIGEM_TARGET target);
/**
* \fn USHORT vigem_target_get_pid(PVIGEM_TARGET target);
@@ -358,7 +368,7 @@ USHORT vigem_target_get_vid(PVIGEM_TARGET target);
*
* \return The Product ID.
*/
USHORT vigem_target_get_pid(PVIGEM_TARGET target);
VIGEM_API USHORT vigem_target_get_pid(PVIGEM_TARGET target);
/**
* \fn VIGEM_ERROR vigem_target_x360_update(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, XUSB_REPORT report);
@@ -374,7 +384,7 @@ USHORT vigem_target_get_pid(PVIGEM_TARGET target);
*
* \return A VIGEM_ERROR.
*/
VIGEM_ERROR vigem_target_x360_update(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, XUSB_REPORT report);
VIGEM_API VIGEM_ERROR vigem_target_x360_update(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, XUSB_REPORT report);
/**
* \fn VIGEM_ERROR vigem_target_ds4_update(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, DS4_REPORT report);
@@ -390,7 +400,7 @@ VIGEM_ERROR vigem_target_x360_update(PVIGEM_CLIENT vigem, PVIGEM_TARGET target,
*
* \return A VIGEM_ERROR.
*/
VIGEM_ERROR vigem_target_ds4_update(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, DS4_REPORT report);
VIGEM_API VIGEM_ERROR vigem_target_ds4_update(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, DS4_REPORT report);
/**
* \fn ULONG vigem_target_get_index(PVIGEM_TARGET target);
@@ -409,7 +419,7 @@ VIGEM_ERROR vigem_target_ds4_update(PVIGEM_CLIENT vigem, PVIGEM_TARGET target, D
*
* \return The internally used index of the target device.
*/
ULONG vigem_target_get_index(PVIGEM_TARGET target);
VIGEM_API ULONG vigem_target_get_index(PVIGEM_TARGET target);
/**
* \fn VIGEM_TARGET_TYPE vigem_target_get_type(PVIGEM_TARGET target);
@@ -423,7 +433,7 @@ ULONG vigem_target_get_index(PVIGEM_TARGET target);
*
* \return A VIGEM_TARGET_TYPE.
*/
VIGEM_TARGET_TYPE vigem_target_get_type(PVIGEM_TARGET target);
VIGEM_API VIGEM_TARGET_TYPE vigem_target_get_type(PVIGEM_TARGET target);
/**
* \fn BOOL vigem_target_is_attached(PVIGEM_TARGET target);
@@ -438,7 +448,7 @@ VIGEM_TARGET_TYPE vigem_target_get_type(PVIGEM_TARGET target);
*
* \return TRUE if device is attached to the bus, FALSE otherwise.
*/
BOOL vigem_target_is_attached(PVIGEM_TARGET target);
VIGEM_API BOOL vigem_target_is_attached(PVIGEM_TARGET target);
#ifdef __cplusplus
}