// // API_test.h // // $Id$ // The following ifdef block is the standard way of creating macros which make exporting // from a DLL simpler. All files within this DLL are compiled with the API_TEST_EXPORTS // symbol defined on the command line. this symbol should not be defined on any project // that uses this DLL. This way any other project whose source files include this file see // API_TEST_API functions as being imported from a DLL, wheras this DLL sees symbols // defined with this macro as being exported. #ifdef API_TEST_EXPORTS #define API_TEST_API __declspec(dllexport) #else #define API_TEST_API __declspec(dllimport) #endif typedef struct _simple_struct { int a; double b; char * c; DWORD_PTR d; } simple_struct, LPsimple_struct; // typedef int callback_func(int); typedef int (__stdcall * callback_func)(int); extern API_TEST_API int nAPI_test; API_TEST_API int __stdcall sum_integers(int a, int b); API_TEST_API double __stdcall sum_doubles(double a, double b); API_TEST_API float __stdcall sum_floats(float a, float b); API_TEST_API int __stdcall has_char(char *string, char ch); API_TEST_API char * __stdcall find_char(char *string, char ch); API_TEST_API void __stdcall dump_struct(simple_struct *x); API_TEST_API int __stdcall mangle_simple_struct(simple_struct *x);