1 
2 // automatically generated by m4 from headers in proto subdir
3 
4 
5 #ifndef __Z88DK_H__
6 #define __Z88DK_H__
7 
8 #include <arch.h>
9 
10 // z88dk version
11 
12 // 1990 = 1.99A
13 // 1991 = 1.99B
14 // 1992 = 1.99C
15 // 2000 = 2.00
16 
17 #define Z88DK_VERSION  __Z88DK
18 
19 // section information
20 
21 #define SECTION_ORG(sec)    ((unsigned int)SECTION_ORG_##sec())
22 #define SECTION_END(sec)    ((unsigned int)SECTION_END_##sec())
23 #define SECTION_SIZE(sec)   ((unsigned int)SECTION_SIZE_##sec())
24 
25 extern unsigned char _CODE_head[];
26 extern unsigned char _DATA_head[];
27 extern unsigned char _BSS_head[];
28 
29 #define SECTION_CODE_ORG()  ((unsigned int)_CODE_head)
30 #define SECTION_DATA_ORG()  ((unsigned int)_DATA_head)
31 #define SECTION_BSS_ORG()   ((unsigned int)_BSS_head)
32 
33 extern unsigned char _CODE_END_tail[];
34 extern unsigned char _DATA_END_tail[];
35 extern unsigned char _BSS_UNINITIALIZED_head[];
36 
37 #define SECTION_CODE_END()  ((unsigned int)_CODE_END_tail)
38 #define SECTION_DATA_END()  ((unsigned int)_DATA_END_tail)
39 #define SECTION_BSS_END()   ((unsigned int)_BSS_UNINITIALIZED_head)
40 
41 #if __CLANG
42 
43 extern unsigned int SECTION_SIZE_CODE(void);
44 extern unsigned int SECTION_SIZE_DATA(void);
45 extern unsigned int SECTION_SIZE_BSS(void);
46 
47 #endif
48 
49 #if __SDCC
50 
51 extern unsigned int SECTION_SIZE_CODE(void) __preserves_regs(a,b,c,d,e,iyl,iyh);
52 extern unsigned int SECTION_SIZE_DATA(void) __preserves_regs(a,b,c,d,e,iyl,iyh);
53 extern unsigned int SECTION_SIZE_BSS(void) __preserves_regs(a,b,c,d,e,iyl,iyh);
54 
55 #endif
56 
57 #if __SCCZ80
58 
59 extern unsigned int SECTION_SIZE_CODE(void);
60 extern unsigned int SECTION_SIZE_DATA(void);
61 extern unsigned int SECTION_SIZE_BSS(void);
62 
63 #endif
64 
65 #define SECTION_CODE_SIZE() SECTION_SIZE_CODE()
66 #define SECTION_DATA_SIZE() SECTION_SIZE_DATA()
67 #define SECTION_BSS_SIZE()  SECTION_SIZE_BSS()
68 
69 #endif
70