source: trunk/include/initdll.h@ 21360

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