autoinit_funcs.h: added functions prototypes

This commit is contained in:
Evgeny Grin (Karlson2k)
2022-04-23 15:21:18 +03:00
parent a263d605ff
commit f80da0ba6f
+13 -7
View File
@@ -67,7 +67,7 @@
* Current version of the header in packed BCD form.
* 0x01093001 = 1.9.30-1.
*/
#define AUTOINIT_FUNCS_VERSION 0x01000200
#define AUTOINIT_FUNCS_VERSION 0x01000300
#if defined(__GNUC__) || defined(__clang__)
/* if possible - check for supported attribute */
@@ -85,9 +85,11 @@
(defined(__SUNPRO_C) && __SUNPRO_C + 0 >= 0x5100)
#define GNUC_SET_INIT_AND_DEINIT(FI,FD) \
void __attribute__ ((constructor)) _GNUC_init_helper_ ## FI (void) \
void __attribute__ ((constructor)) _GNUC_init_helper_ ## FI (void); \
void __attribute__ ((destructor)) _GNUC_deinit_helper_ ## FD (void); \
void __attribute__ ((constructor)) _GNUC_init_helper_ ## FI (void) \
{ (void) (FI) (); } \
void __attribute__ ((destructor)) _GNUC_deinit_helper_ ## FD (void) \
void __attribute__ ((destructor)) _GNUC_deinit_helper_ ## FD (void) \
{ (void) (FD) (); } \
struct _GNUC_dummy_str_ ## FI {int i;}
@@ -204,9 +206,11 @@
#if ! defined(_USRDLL) || defined(AUTOINIT_FUNCS_FORCE_STATIC_REG)
#define W32_SET_INIT_AND_DEINIT(FI,FD) \
void __cdecl _W32_deinit_helper_ ## FD (void) \
int __cdecl _W32_init_helper_ ## FI (void); \
void __cdecl _W32_deinit_helper_ ## FD (void); \
void __cdecl _W32_deinit_helper_ ## FD (void) \
{ (void) (FD) (); } \
int __cdecl _W32_init_helper_ ## FI (void) \
int __cdecl _W32_init_helper_ ## FI (void) \
{ (void) (FI) (); atexit (_W32_deinit_helper_ ## FD); return 0; } \
W32_REGISTER_INIT (_W32_init_helper_ ## FI)
#else /* _USRDLL */
@@ -215,7 +219,8 @@
and rename DllMain to usr_DllMain */
#ifndef AUTOINIT_FUNCS_CALL_USR_DLLMAIN
#define W32_SET_INIT_AND_DEINIT(FI,FD) \
BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused) \
BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused); \
BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused) \
{ if (DLL_PROCESS_ATTACH==reason) {(void) (FI) ();} \
else if (DLL_PROCESS_DETACH==reason) {(void) (FD) ();} \
return TRUE; \
@@ -223,7 +228,8 @@
#else /* AUTOINIT_FUNCS_CALL_USR_DLLMAIN */
#define W32_SET_INIT_AND_DEINIT(FI,FD) \
BOOL WINAPI usr_DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused); \
BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused) \
BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused); \
BOOL WINAPI DllMain (HINSTANCE hinst,DWORD reason,LPVOID unused) \
{ if (DLL_PROCESS_ATTACH==reason) {(void) (FI) ();} \
else if (DLL_PROCESS_DETACH==reason) {(void) (FD) ();} \
return usr_DllMain (hinst,reason,unused); \