Make the zlib compile against the tinycrt library.
[git-build-vc9.git] / tcrt / src / init.h
blob8fa68de6e185ec01b63ea15355e5d4ba57402f62
1 /*=================================================================================================
2 init.h : internal header
3 =================================================================================================*/
5 #ifndef TINYCRT_INIT__H_
6 #define TINYCRT_INIT__H_
8 ///////////////////////////////////////////////////////////////////////////////////////////////////
9 #define _ATTRIBUTES read
11 #pragma section(".CRTMP$XCA",long,_ATTRIBUTES)
12 #pragma section(".CRTMP$XCZ",long,_ATTRIBUTES)
13 #pragma section(".CRTMP$XIA",long,_ATTRIBUTES)
14 #pragma section(".CRTMP$XIZ",long,_ATTRIBUTES)
16 #pragma section(".CRTMA$XCA",long,_ATTRIBUTES)
17 #pragma section(".CRTMA$XCZ",long,_ATTRIBUTES)
18 #pragma section(".CRTMA$XIA",long,_ATTRIBUTES)
19 #pragma section(".CRTMA$XIZ",long,_ATTRIBUTES)
21 #pragma section(".CRTVT$XCA",long,_ATTRIBUTES)
22 #pragma section(".CRTVT$XCZ",long,_ATTRIBUTES)
24 #pragma section(".CRT$XCA",long,_ATTRIBUTES)
25 #pragma section(".CRT$XCAA",long,_ATTRIBUTES)
26 #pragma section(".CRT$XCC",long,_ATTRIBUTES)
27 #pragma section(".CRT$XCZ",long,_ATTRIBUTES)
28 #pragma section(".CRT$XDA",long,_ATTRIBUTES)
29 #pragma section(".CRT$XDC",long,_ATTRIBUTES)
30 #pragma section(".CRT$XDZ",long,_ATTRIBUTES)
31 #pragma section(".CRT$XIA",long,_ATTRIBUTES)
32 #pragma section(".CRT$XIAA",long,_ATTRIBUTES)
33 #pragma section(".CRT$XIC",long,_ATTRIBUTES)
34 #pragma section(".CRT$XID",long,_ATTRIBUTES)
35 #pragma section(".CRT$XIY",long,_ATTRIBUTES)
36 #pragma section(".CRT$XIZ",long,_ATTRIBUTES)
37 #pragma section(".CRT$XLA",long,_ATTRIBUTES)
38 #pragma section(".CRT$XLC",long,_ATTRIBUTES)
39 #pragma section(".CRT$XLD",long,_ATTRIBUTES)
40 #pragma section(".CRT$XLZ",long,_ATTRIBUTES)
41 #pragma section(".CRT$XPA",long,_ATTRIBUTES)
42 #pragma section(".CRT$XPX",long,_ATTRIBUTES)
43 #pragma section(".CRT$XPXA",long,_ATTRIBUTES)
44 #pragma section(".CRT$XPZ",long,_ATTRIBUTES)
45 #pragma section(".CRT$XTA",long,_ATTRIBUTES)
46 #pragma section(".CRT$XTB",long,_ATTRIBUTES)
47 #pragma section(".CRT$XTX",long,_ATTRIBUTES)
48 #pragma section(".CRT$XTZ",long,_ATTRIBUTES)
49 #pragma section(".rdata$T",long,read)
50 #pragma section(".rtc$IAA",long,read)
51 #pragma section(".rtc$IZZ",long,read)
52 #pragma section(".rtc$TAA",long,read)
53 #pragma section(".rtc$TZZ",long,read)
55 #define _CRTALLOC(x) __declspec(allocate(x))
57 typedef void (__cdecl *_PVFV)(void);
58 typedef int (__cdecl *_PIFV)(void);
60 typedef struct _atexit_entry {
61 void (*fn)(void);
62 struct _atexit_entry* next;
63 } atexit_entry;
65 extern atexit_entry* g_atexit_list;
66 extern HANDLE g_process_heap;
68 int main(int argc, char* argv[], char* env[]);
69 void run_ctors(void);
70 void run_dtors(void);
72 // EOF ////////////////////////////////////////////////////////////////////////////////////////////
73 #endif /* TINYCRT_INIT__H_ */