/[eiffelstudio]/branches/eth/eve/Src/C/run-time/eif_project.h
ViewVC logotype

Contents of /branches/eth/eve/Src/C/run-time/eif_project.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 88121 - (show annotations)
Fri Dec 16 14:42:24 2011 UTC (7 years, 10 months ago) by jasonw
File MIME type: text/plain
File size: 12981 byte(s)
<<Merged from trunk#88120.>>
1 /*
2 description: "[
3 Dummy declarations for variables and routines called in the run-time but
4 generated in a system.
5 ]"
6 date: "$Date$"
7 revision: "$Revision$"
8 copyright: "Copyright (c) 1985-2008, Eiffel Software."
9 license: "GPL version 2 see http://www.eiffel.com/licensing/gpl.txt)"
10 licensing_options: "Commercial license is available at http://www.eiffel.com/licensing"
11 copying: "[
12 This file is part of Eiffel Software's Runtime.
13
14 Eiffel Software's Runtime is free software; you can
15 redistribute it and/or modify it under the terms of the
16 GNU General Public License as published by the Free
17 Software Foundation, version 2 of the License
18 (available at the URL listed under "license" above).
19
20 Eiffel Software's Runtime is distributed in the hope
21 that it will be useful, but WITHOUT ANY WARRANTY;
22 without even the implied warranty of MERCHANTABILITY
23 or FITNESS FOR A PARTICULAR PURPOSE.
24 See the GNU General Public License for more details.
25
26 You should have received a copy of the GNU General Public
27 License along with Eiffel Software's Runtime; if not,
28 write to the Free Software Foundation, Inc.,
29 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
30 ]"
31 source: "[
32 Eiffel Software
33 356 Storke Road, Goleta, CA 93117 USA
34 Telephone 805-685-1006, Fax 805-685-6869
35 Website http://www.eiffel.com
36 Customer support http://support.eiffel.com
37 ]"
38 */
39
40 #ifndef _EIF_PROJECT_H_
41 #define _EIF_PROJECT_H_
42
43 #include "eif_portable.h"
44 #include "eif_struct.h"
45 #include "eif_types.h"
46
47 #ifdef __cplusplus
48 extern "C" {
49 #endif
50
51 RT_LNK EIF_BOOLEAN exception_stack_managed; /* Is the stack managed (always True in workbench mode) */
52
53 /*************/
54 /* variables */
55 /*************/
56
57 RT_LNK EIF_INTEGER egc_prof_enabled; /* Is the Eiffel profiler on */
58 #ifdef WORKBENCH
59 RT_LNK void (*egc_strmake)(EIF_REFERENCE, EIF_TYPED_VALUE); /* STRING creation feature */
60 RT_LNK void (*egc_strset)(EIF_REFERENCE, EIF_TYPED_VALUE);
61 RT_LNK void (*egc_str32make)(EIF_REFERENCE, EIF_TYPED_VALUE); /* STRING_32 creation feature */
62 RT_LNK void (*egc_str32set)(EIF_REFERENCE, EIF_TYPED_VALUE);
63 RT_LNK void (*egc_arrmake)(EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE);/* ARRAY creation feature */
64 #else
65 RT_LNK void (*egc_strmake)(EIF_REFERENCE, EIF_INTEGER); /* STRING creation feature */
66 RT_LNK uint32 egc_str_count_offset;
67 RT_LNK uint32 egc_str_hash_offset;
68 RT_LNK void (*egc_str32make)(EIF_REFERENCE, EIF_INTEGER); /* STRING_32 creation feature */
69 RT_LNK uint32 egc_str32_count_offset;
70 RT_LNK uint32 egc_str32_hash_offset;
71 RT_LNK void (*egc_arrmake)(EIF_REFERENCE, EIF_INTEGER, EIF_INTEGER);/* ARRAY creation feature */
72 #endif
73 #ifdef WORKBENCH
74 RT_LNK void (*egc_routdisp_wb)(EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE,
75 EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE); /* ROUTINE `set_rout_disp_wb' feature */
76 #else
77 RT_LNK void (*egc_routdisp_fl)(EIF_REFERENCE, EIF_POINTER, EIF_POINTER, EIF_POINTER, EIF_REFERENCE, EIF_BOOLEAN, EIF_INTEGER); /* ROUTINE `set_rout_disp_final' feature */
78 #endif
79
80 #ifdef WORKBENCH
81 RT_LNK void (*egc_set_exception_data)(EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE,
82 EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE); /* EXCEPTION_MANAGER `set_exception_data' feature */
83 #else
84 RT_LNK void (*egc_set_exception_data)(EIF_REFERENCE, EIF_INTEGER, EIF_BOOLEAN, EIF_INTEGER, EIF_INTEGER, EIF_REFERENCE,
85 EIF_REFERENCE, EIF_REFERENCE, EIF_REFERENCE, EIF_REFERENCE, EIF_REFERENCE, EIF_INTEGER, EIF_BOOLEAN); /* EXCEPTION_MANAGER `set_exception_data' feature */
86 #endif
87
88 #ifdef WORKBENCH
89 RT_LNK void (*egc_set_last_exception)(EIF_REFERENCE, EIF_TYPED_VALUE); /* EXCEPTION_MANAGER `set_last_exception' feature */
90 RT_LNK EIF_TYPED_VALUE (*egc_last_exception)(EIF_REFERENCE); /* EXCEPTION_MANAGER `last_exception' feature */
91 RT_LNK EIF_TYPED_VALUE (*egc_is_code_ignored)(EIF_REFERENCE, EIF_TYPED_VALUE); /* EXCEPTION_MANAGER `is_code_ignored' feature */
92 RT_LNK void (*egc_once_raise)(EIF_REFERENCE, EIF_TYPED_VALUE); /* EXCEPTION_MANAGER `once_raise' feature */
93 #else
94 RT_LNK void (*egc_set_last_exception)(EIF_REFERENCE, EIF_REFERENCE); /* EXCEPTION_MANAGER `set_last_exception' feature */
95 RT_LNK EIF_REFERENCE (*egc_last_exception)(EIF_REFERENCE); /* EXCEPTION_MANAGER `last_exception' feature */
96 RT_LNK EIF_BOOLEAN (*egc_is_code_ignored)(EIF_REFERENCE, EIF_INTEGER); /* EXCEPTION_MANAGER `is_code_ignored' feature */
97 RT_LNK void (*egc_once_raise)(EIF_REFERENCE, EIF_REFERENCE); /* EXCEPTION_MANAGER `once_raise' feature */
98 #endif
99 RT_LNK void (*egc_init_exception_manager)(EIF_REFERENCE); /* EXCEPTION_MANAGER `init_exception_manager' feature */
100 RT_LNK void (*egc_free_preallocated_trace)(EIF_REFERENCE); /* EXCEPTION_MANAGER `free_preallocated_trace' feature */
101
102 RT_LNK void (*egc_init_scoop_manager)(EIF_REFERENCE); /* SCOOP_MANAGER `init_scoop_manager' feature */
103 #ifdef WORKBENCH
104 RT_LNK void (*egc_scoop_manager_task_callback)(EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE, EIF_TYPED_VALUE); /* ISE_SCOOP_MANAGER `scoop_task_manager_callback' feature */
105 #else
106 RT_LNK void (*egc_scoop_manager_task_callback)(EIF_REFERENCE, EIF_NATURAL_8, EIF_INTEGER_32, EIF_INTEGER_32, EIF_POINTER); /* ISE_SCOOP_MANAGER `scoop_task_manager_callback' feature */
107 #endif
108
109 RT_LNK void (*egc_correct_mismatch)(EIF_REFERENCE); /* ANY `correct_mismatch' */
110
111 RT_LNK int egc_has_old_special_semantic;
112 RT_LNK int egc_has_old_copy_semantic;
113 RT_LNK int egc_has_ieee_semantic;
114
115 RT_LNK EIF_TYPE_INDEX egc_str_dtype; /* Dynamic type for string */
116 RT_LNK EIF_TYPE_INDEX egc_str32_dtype; /* Dynamic type for STRING_32 */
117 RT_LNK EIF_TYPE_INDEX egc_arr_dtype; /* Dynamic type for ARRAY[ANY] */
118 RT_LNK EIF_TYPE_INDEX egc_tup_dtype; /* Dynamic type for TUPLE */
119 RT_LNK int32 egc_disp_rout_id; /* Dispose routine id */
120 RT_LNK int32 egc_copy_rout_id; /* Copy routine id */
121 RT_LNK int32 egc_is_equal_rout_id; /* is_equal routine id */
122 RT_LNK EIF_TYPE_INDEX egc_bit_dtype; /* Dynamic type of BIT, E1/plug.c */
123 RT_LNK EIF_TYPE_INDEX egc_any_dtype; /* Dynamic type of ANY */
124
125 RT_LNK EIF_TYPE_INDEX egc_sp_bool; /* Dynamic type of SPECIAL[BOOLEAN] */
126 RT_LNK EIF_TYPE_INDEX egc_sp_char; /* Dynamic type of SPECIAL[CHARACTER_8] */
127 RT_LNK EIF_TYPE_INDEX egc_sp_wchar; /* Dynamic type of SPECIAL[CHARACTER_32] */
128 RT_LNK EIF_TYPE_INDEX egc_sp_uint8; /* Dynamic type of SPECIAL[NATURAL_8] */
129 RT_LNK EIF_TYPE_INDEX egc_sp_uint16; /* Dynamic type of SPECIAL[NATURAL_16] */
130 RT_LNK EIF_TYPE_INDEX egc_sp_uint32; /* Dynamic type of SPECIAL[NATURAL_32] */
131 RT_LNK EIF_TYPE_INDEX egc_sp_uint64; /* Dynamic type of SPECIAL[NATURAL_64] */
132 RT_LNK EIF_TYPE_INDEX egc_sp_int8; /* Dynamic type of SPECIAL[INTEGER_8] */
133 RT_LNK EIF_TYPE_INDEX egc_sp_int16; /* Dynamic type of SPECIAL[INTEGER_16] */
134 RT_LNK EIF_TYPE_INDEX egc_sp_int32; /* Dynamic type of SPECIAL[INTEGER_32] */
135 RT_LNK EIF_TYPE_INDEX egc_sp_int64; /* Dynamic type of SPECIAL[INTEGER_64] */
136 RT_LNK EIF_TYPE_INDEX egc_sp_real32; /* Dynamic type of SPECIAL[REAL_32] */
137 RT_LNK EIF_TYPE_INDEX egc_sp_real64; /* Dynamic type of SPECIAL[REAL_64] */
138 RT_LNK EIF_TYPE_INDEX egc_sp_pointer; /* Dynamic type of SPECIAL[POINTER] */
139 RT_LNK EIF_TYPE_INDEX egc_sp_ref; /* Dynamic type of SPECIAL[ANY] */
140
141 RT_LNK EIF_TYPE_INDEX egc_uint8_ref_dtype; /* Dynamic type of NATURAL_8_REF */
142 RT_LNK EIF_TYPE_INDEX egc_uint16_ref_dtype; /* Dynamic type of NATURAL_16_REF */
143 RT_LNK EIF_TYPE_INDEX egc_uint32_ref_dtype; /* Dynamic type of NATURAL_32_REF */
144 RT_LNK EIF_TYPE_INDEX egc_uint64_ref_dtype; /* Dynamic type of NATURAL_64_REF */
145 RT_LNK EIF_TYPE_INDEX egc_int8_ref_dtype; /* Dynamic type of INTEGER_8_REF */
146 RT_LNK EIF_TYPE_INDEX egc_int16_ref_dtype; /* Dynamic type of INTEGER_16_REF */
147 RT_LNK EIF_TYPE_INDEX egc_int32_ref_dtype; /* Dynamic type of INTEGER_32_REF */
148 RT_LNK EIF_TYPE_INDEX egc_int64_ref_dtype; /* Dynamic type of INTEGER_64_REF */
149 RT_LNK EIF_TYPE_INDEX egc_bool_ref_dtype; /* Dynamic type of BOOLEAN_REF */
150 RT_LNK EIF_TYPE_INDEX egc_real32_ref_dtype; /* Dynamic type of REAL_32_REF */
151 RT_LNK EIF_TYPE_INDEX egc_real64_ref_dtype; /* Dynamic type of REAL_64_REF */
152 RT_LNK EIF_TYPE_INDEX egc_char_ref_dtype; /* Dynamic type of CHARACTER_8_REF */
153 RT_LNK EIF_TYPE_INDEX egc_wchar_ref_dtype; /* Dynamic type of CHARACTER_32_REF */
154 RT_LNK EIF_TYPE_INDEX egc_point_ref_dtype; /* Dynamic type of POINTER_REF */
155
156 RT_LNK EIF_TYPE_INDEX egc_uint8_dtype; /* Dynamic type of NATURAL_8 */
157 RT_LNK EIF_TYPE_INDEX egc_uint16_dtype; /* Dynamic type of NATURAL_16 */
158 RT_LNK EIF_TYPE_INDEX egc_uint32_dtype; /* Dynamic type of NATURAL_32 */
159 RT_LNK EIF_TYPE_INDEX egc_uint64_dtype; /* Dynamic type of NATURAL_64 */
160 RT_LNK EIF_TYPE_INDEX egc_int8_dtype; /* Dynamic type of INTEGER_8 */
161 RT_LNK EIF_TYPE_INDEX egc_int16_dtype; /* Dynamic type of INTEGER_16 */
162 RT_LNK EIF_TYPE_INDEX egc_int32_dtype; /* Dynamic type of INTEGER_32 */
163 RT_LNK EIF_TYPE_INDEX egc_int64_dtype; /* Dynamic type of INTEGER_64 */
164 RT_LNK EIF_TYPE_INDEX egc_bool_dtype; /* Dynamic type of BOOLEAN */
165 RT_LNK EIF_TYPE_INDEX egc_real32_dtype; /* Dynamic type of REAL_32 */
166 RT_LNK EIF_TYPE_INDEX egc_real64_dtype; /* Dynamic type of REAL_64 */
167 RT_LNK EIF_TYPE_INDEX egc_char_dtype; /* Dynamic type of CHARACTER_8 */
168 RT_LNK EIF_TYPE_INDEX egc_wchar_dtype; /* Dynamic type of CHARACTER_32 */
169 RT_LNK EIF_TYPE_INDEX egc_point_dtype; /* Dynamic type of POINTER */
170
171 RT_LNK EIF_TYPE_INDEX egc_except_emnger_dtype; /* Dynamic type of EXCEPTION_MANAGER */
172 RT_LNK EIF_TYPE_INDEX egc_exception_dtype; /* Dynamic type of EXCEPTION. Could not be initialized if not exist. */
173
174 RT_LNK EIF_TYPE_INDEX egc_scp_mngr_dtype; /* Dynamic type of SCOOP_MANAGER */
175
176 RT_LNK struct ctable egc_ce_type; /* Class name -> type ID */
177 RT_LNK struct ctable egc_ce_exp_type; /* Class name -> type ID for expanded types */
178 RT_LNK struct cnode *egc_fsystem; /* Describes the full frozen Eiffel system */
179 RT_LNK struct conform **egc_fco_table;
180 RT_LNK void (*egc_system_mod_init) (void); /* Module Initialization (from einit.c) */
181 RT_LNK struct eif_par_types **egc_partab; /* Parent table */
182 RT_LNK EIF_TYPE_INDEX egc_partab_size; /* Size of parent table */
183 RT_LNK int egc_type_of_gc;
184
185 RT_LNK struct eif_opt *egc_foption; /* Frozen option table */
186 #ifdef WORKBENCH
187 RT_LNK fnptr *egc_frozen; /* C routine array (frozen routines) */
188 RT_LNK int *egc_fpatidtab; /* Table of pattern id's indexed by body id's */
189 RT_LNK fnptr *egc_address_table; /* Table of $ operator encapsulation functions */
190 RT_LNK struct p_interface *egc_fpattern;
191
192 RT_LNK void (*egc_einit)(void); /* System-dependent initializations, E1/einit.c */
193 RT_LNK void (*egc_tabinit)(void); /* E1/einit.c */
194
195 RT_LNK int32 **egc_fcall; /* Routine id arrays indexed by feature id's */
196 RT_LNK struct rout_info *egc_forg_table;/* Routine origin/offset table */
197 #else
198 RT_LNK void (**egc_edispose)(void);
199 RT_LNK void (**egc_copy)(EIF_REFERENCE, EIF_REFERENCE);
200 RT_LNK EIF_BOOLEAN (**egc_is_equal)(EIF_REFERENCE, EIF_REFERENCE);
201 RT_LNK void (**egc_ecreate)(EIF_REFERENCE, EIF_REFERENCE);
202 RT_LNK void (**egc_exp_create)(EIF_REFERENCE);
203 RT_LNK struct ctable *egc_ce_rname;
204 RT_LNK long *egc_fnbref ;
205 RT_LNK long *egc_fsize;
206 #endif
207
208 #ifdef WORKBENCH
209 RT_LNK EIF_TYPED_VALUE (*egc_twin)(EIF_REFERENCE); /* {ANY}.twin */
210 #else
211 RT_LNK EIF_REFERENCE (*egc_twin)(EIF_REFERENCE); /* {ANY}.twin */
212 #endif
213 RT_LNK int32 egc_rcount; /* Number of root creation procedures */
214 RT_LNK char **egc_rlist; /* List of root procedures ("class name"."feature name") */
215 RT_LNK char *egc_eif_root; /* Root name provided on command line (NULL if no name provided) */
216 RT_LNK int32 egc_ridx; /* Index of root creation procedure */
217 RT_LNK int32 *egc_rcdt; /* E1/einit.c */
218 RT_LNK int32 *egc_rcorigin; /* E1/einit.c */
219 RT_LNK int32 *egc_rcoffset; /* E1/einit.c */
220 RT_LNK int32 *egc_rcarg; /* E1/einit.c */
221
222 RT_LNK char *egc_system_name; /* Name of the generated system */
223 RT_LNK char *egc_system_location; /* Location of the generated system */
224 RT_LNK EIF_INTEGER egc_compiler_tag; /* Tag corresponding to the compiler version */
225 RT_LNK EIF_INTEGER egc_project_version; /* Tag corresponding to the project version */
226
227 RT_LNK int egc_platform_level;
228
229 #ifdef WORKBENCH
230 RT_LNK EIF_INTEGER exec_recording_enabled; /* Is the Eiffel exec recording on ? */
231 RT_LNK EIF_TYPE_INDEX egc_rt_extension_dt; /* E1/einit.c */
232 RT_LNK void (*egc_rt_extension_notify)(EIF_REFERENCE, EIF_TYPED_VALUE, EIF_TYPED_VALUE);
233 RT_LNK EIF_TYPED_VALUE (*egc_rt_extension_notify_argument)(EIF_REFERENCE, EIF_TYPED_VALUE);
234 #endif
235
236 #ifdef __cplusplus
237 }
238 #endif
239
240 #endif /* _EIF_PROJECT_H_ */
241
242

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.23