source: branches/gcc-kmk/include/initdll.h@ 21727

Last change on this file since 21727 was 21727, checked in by dmik, 14 years ago

Get rid of DLLENTRYPOINT_CCONV and DLLENTRYPOINT_NAME.

File size: 4.2 KB
Line 
1#ifndef __INITDLL_H__
2#define __INITDLL_H__
3
4#if (defined(__IBMCPP__) || defined(__IBMC__) || defined(__INNOTEK_LIBC__))
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#if (__IBMCPP__ == 300) || (__IBMC__ == 300)
11void _Optlink __ctordtorInit( void );
12#define ctordtorInit() __ctordtorInit()
13
14void _Optlink __ctordtorTerm( void );
15#define ctordtorTerm() __ctordtorTerm()
16
17#elif (__IBMCPP__ == 360) || (__IBMC__ == 360) || (__IBMC__ == 430)
18void _Optlink __ctordtorInit( int flag );
19#define ctordtorInit() __ctordtorInit(0)
20
21void _Optlink __ctordtorTerm( int flag );
22#define ctordtorTerm() __ctordtorTerm(0)
23
24#elif defined(__INNOTEK_LIBC__)
25
26extern void __ctordtorInit(void);
27extern void __ctordtorTerm(void);
28
29#else
30#error "Unknown compiler!"
31#endif
32
33#ifndef __INNOTEK_LIBC__
34
35/*-------------------------------------------------------------------*/
36/* _CRT_init is the C run-time environment initialization function. */
37/* It will return 0 to indicate success and -1 to indicate failure. */
38/*-------------------------------------------------------------------*/
39int _Optlink _CRT_init(void);
40
41/*-------------------------------------------------------------------*/
42/* _CRT_term is the C run-time environment termination function. */
43/* It only needs to be called when the C run-time functions are */
44/* statically linked. */
45/*-------------------------------------------------------------------*/
46void _Optlink _CRT_term(void);
47#endif // __INNOTEK_LIBC__
48
49
50#ifdef __cplusplus
51}
52#endif
53
54#elif defined(__WATCOMC__)
55
56#define _DLL_InitTerm LibMain
57
58#define ctordtorInit()
59#define ctordtorTerm()
60
61#ifdef __cplusplus
62extern "C" {
63//prevent Watcom from mucking with this name
64extern DWORD _Resource_PEResTab;
65#pragma aux _Resource_PEResTab "*";
66}
67#endif
68
69#endif /* IBM CPP Compiler */
70
71#ifdef __cplusplus
72extern "C" {
73#endif
74
75typedef ULONG (APIENTRY *PFN_INITDLL)(ULONG hModule, ULONG ulFlag);
76typedef void (APIENTRY *PFN_CLEANUPDLL)(ULONG ulReason);
77
78ULONG APIENTRY inittermKernel32(ULONG hModule, ULONG ulFlag);
79void APIENTRY cleanupKernel32(ULONG ulReason);
80
81ULONG APIENTRY inittermUser32(ULONG hModule, ULONG ulFlag);
82void APIENTRY cleanupUser32(ULONG ulReason);
83ULONG APIENTRY inittermOdinCtrl(ULONG hModule, ULONG ulFlag);
84
85//NOTE!!!!!!!!!!!!!!!!!
86//if this list is extended, then update our custombuild code!!!!
87//NOTE!!!!!!!!!!!!!!!!!
88ULONG APIENTRY inittermWinmm(ULONG hModule, ULONG ulFlag);
89ULONG APIENTRY inittermShell32(ULONG hModule, ULONG ulFlag);
90ULONG APIENTRY inittermOle32(ULONG hModule, ULONG ulFlag);
91ULONG APIENTRY inittermComdlg32(ULONG hModule, ULONG ulFlag);
92ULONG APIENTRY inittermComctl32(ULONG hModule, ULONG ulFlag);
93ULONG APIENTRY inittermGdi32(ULONG hModule, ULONG ulFlag);
94ULONG APIENTRY inittermNTDLL(ULONG hModule, ULONG ulFlag);
95ULONG APIENTRY inittermWsock32(ULONG hModule, ULONG ulFlag);
96ULONG APIENTRY inittermWininet(ULONG hModule, ULONG ulFlag);
97ULONG APIENTRY inittermRpcrt4(ULONG hModule, ULONG ulFlag);
98ULONG APIENTRY inittermAvifil32(ULONG hModule, ULONG ulFlag);
99ULONG APIENTRY inittermQuartz(ULONG hModule, ULONG ulFlag);
100ULONG APIENTRY inittermRiched32(ULONG hModule, ULONG ulFlag);
101ULONG APIENTRY inittermWnaspi32(ULONG hModule, ULONG ulFlag);
102ULONG APIENTRY inittermUxTheme(ULONG hModule, ULONG ulFlag);
103ULONG APIENTRY inittermDInput(ULONG hModule, ULONG ulFlag);
104ULONG APIENTRY inittermDSound(ULONG hModule, ULONG ulFlag);
105ULONG APIENTRY inittermWinSpool(ULONG hModule, ULONG ulFlag);
106ULONG APIENTRY inittermDDraw(ULONG hModule, ULONG ulFlag);
107ULONG APIENTRY inittermNTDLL(ULONG hModule, ULONG ulFlag);
108ULONG APIENTRY inittermMSVCRT(ULONG hModule, ULONG ulFlag);
109ULONG APIENTRY inittermImm32(ULONG hModule, ULONG ulFlag);
110ULONG APIENTRY inittermCrypt32(ULONG hModule, ULONG ulFlag);
111ULONG APIENTRY inittermOleacc(ULONG hModule, ULONG ulFlag);
112ULONG APIENTRY inittermmscms(ULONG hModule, ULONG ulFlag);
113ULONG APIENTRY inittermRsaenh(ULONG hModule, ULONG ulFlag);
114ULONG APIENTRY inittermSecur32(ULONG hModule, ULONG ulFlag);
115
116ULONG APIENTRY InitializeKernel32();
117
118VOID APIENTRY ReportFatalDllInitError(CHAR *pszModName);
119
120#ifdef __cplusplus
121}
122#endif
123
124#endif //__INITDLL_H__
Note: See TracBrowser for help on using the repository browser.