Merge branch 'feat/tagfunc'
[vim_extended.git] / src / proto.h
blob5fdaacdbec3b50ac742f640ea25983ef887fee2c
1 /* vi:set ts=8 sts=4 sw=4:
3 * VIM - Vi IMproved by Bram Moolenaar
5 * Do ":help uganda" in Vim to read copying and usage conditions.
6 * Do ":help credits" in Vim to see a list of people who contributed.
7 */
9 /*
10 * proto.h: include the (automatically generated) function prototypes
14 * Don't include these while generating prototypes. Prevents problems when
15 * files are missing.
17 #if !defined(PROTO) && !defined(NOPROTO)
20 * Machine-dependent routines.
22 /* avoid errors in function prototypes */
23 # if !defined(FEAT_X11) && !defined(FEAT_GUI_GTK)
24 # define Display int
25 # define Widget int
26 # endif
27 # ifndef FEAT_GUI_GTK
28 # define GdkEvent int
29 # define GdkEventKey int
30 # endif
31 # ifndef FEAT_X11
32 # define XImage int
33 # endif
35 # ifdef AMIGA
36 # include "os_amiga.pro"
37 # endif
38 # if defined(UNIX) || defined(__EMX__) || defined(VMS)
39 # include "os_unix.pro"
40 # endif
41 # if defined(MSDOS) || defined(WIN16)
42 # include "os_msdos.pro"
43 # endif
44 # ifdef WIN16
45 typedef LPSTR LPWSTR;
46 typedef LPCSTR LPCWSTR;
47 typedef int LPBOOL;
48 # include "os_win16.pro"
49 # include "os_mswin.pro"
50 # endif
51 # ifdef WIN3264
52 # include "os_win32.pro"
53 # include "os_mswin.pro"
54 # if (defined(__GNUC__) && !defined(__MINGW32__)) \
55 || (defined(__BORLANDC__) && __BORLANDC__ < 0x502)
56 extern int _stricoll __ARGS((char *a, char *b));
57 # endif
58 # endif
59 # ifdef VMS
60 # include "os_vms.pro"
61 # endif
62 # ifdef __BEOS__
63 # include "os_beos.pro"
64 # endif
65 # ifdef RISCOS
66 # include "os_riscos.pro"
67 # endif
68 # ifdef __QNX__
69 # include "os_qnx.pro"
70 # endif
72 # include "buffer.pro"
73 # include "charset.pro"
74 # ifdef FEAT_CSCOPE
75 # include "if_cscope.pro"
76 # endif
77 # include "diff.pro"
78 # include "digraph.pro"
79 # include "edit.pro"
80 # include "eval.pro"
81 # include "ex_cmds.pro"
82 # include "ex_cmds2.pro"
83 # include "ex_docmd.pro"
84 # include "ex_eval.pro"
85 # include "ex_getln.pro"
86 # include "fileio.pro"
87 # include "fold.pro"
88 # include "getchar.pro"
89 # ifdef FEAT_HANGULIN
90 # include "hangulin.pro"
91 # endif
92 # include "hardcopy.pro"
93 # include "hashtab.pro"
94 # include "main.pro"
95 # include "mark.pro"
96 # include "memfile.pro"
97 # include "memline.pro"
98 # ifdef FEAT_MENU
99 # include "menu.pro"
100 # endif
102 # if !defined MESSAGE_FILE || defined(HAVE_STDARG_H)
103 /* These prototypes cannot be produced automatically and conflict with
104 * the old-style prototypes in message.c. */
106 # ifdef __BORLANDC__
107 _RTLENTRYF
108 # endif
109 smsg __ARGS((char_u *, ...));
111 # ifdef __BORLANDC__
112 _RTLENTRYF
113 # endif
114 smsg_attr __ARGS((int, char_u *, ...));
116 # ifdef __BORLANDC__
117 _RTLENTRYF
118 # endif
119 vim_snprintf __ARGS((char *, size_t, char *, ...));
120 # if defined(HAVE_STDARG_H)
121 int vim_vsnprintf(char *str, size_t str_m, char *fmt, va_list ap, typval_T *tvs);
122 # endif
123 # endif
125 # include "message.pro"
126 # include "misc1.pro"
127 # include "misc2.pro"
128 #ifndef HAVE_STRPBRK /* not generated automatically from misc2.c */
129 char_u *vim_strpbrk __ARGS((char_u *s, char_u *charset));
130 #endif
131 #ifndef HAVE_QSORT
132 /* Use our own qsort(), don't define the prototype when not used. */
133 void qsort __ARGS((void *base, size_t elm_count, size_t elm_size, int (*cmp)(const void *, const void *)));
134 #endif
135 # include "move.pro"
136 # if defined(FEAT_MBYTE) || defined(FEAT_XIM) || defined(FEAT_KEYMAP) \
137 || defined(FEAT_POSTSCRIPT)
138 # include "mbyte.pro"
139 # endif
140 # include "normal.pro"
141 # include "ops.pro"
142 # include "option.pro"
143 # include "popupmnu.pro"
144 # ifdef FEAT_QUICKFIX
145 # include "quickfix.pro"
146 # endif
147 # include "regexp.pro"
148 # include "screen.pro"
149 # include "search.pro"
150 # include "spell.pro"
151 # include "syntax.pro"
152 # include "tag.pro"
153 # include "term.pro"
154 # if defined(HAVE_TGETENT) && (defined(AMIGA) || defined(VMS))
155 # include "termlib.pro"
156 # endif
157 # include "ui.pro"
158 # include "undo.pro"
159 # include "version.pro"
160 # include "window.pro"
162 # ifdef FEAT_LUA
163 # include "if_lua.pro"
164 # endif
166 # ifdef FEAT_MZSCHEME
167 # include "if_mzsch.pro"
168 # endif
170 # ifdef FEAT_PYTHON
171 # include "if_python.pro"
172 # endif
174 # ifdef FEAT_ECL
175 # include "if_ecl.pro"
176 # endif
178 # ifdef FEAT_TCL
179 # include "if_tcl.pro"
180 # endif
182 # ifdef FEAT_RUBY
183 # include "if_ruby.pro"
184 # endif
186 # ifdef FEAT_GUI
187 # include "gui.pro"
188 # if defined(UNIX) || defined(MACOS)
189 # include "pty.pro"
190 # endif
191 # if !defined(HAVE_SETENV) && !defined(HAVE_PUTENV) && !defined(VMS)
192 extern int putenv __ARGS((const char *string)); /* from pty.c */
193 # ifdef USE_VIMPTY_GETENV
194 extern char_u *vimpty_getenv __ARGS((const char_u *string)); /* from pty.c */
195 # endif
196 # endif
197 # ifdef FEAT_GUI_W16
198 # include "gui_w16.pro"
199 # endif
200 /* Ugly solution for "BalloonEval" not being defined while it's used in
201 * the prototypes. */
202 # ifndef FEAT_BEVAL
203 # define BalloonEval int
204 # endif
205 # ifdef FEAT_GUI_W32
206 # include "gui_w32.pro"
207 # endif
208 # ifdef FEAT_GUI_GTK
209 # include "gui_gtk.pro"
210 # include "gui_gtk_x11.pro"
211 # endif
212 # ifdef FEAT_GUI_MOTIF
213 # include "gui_motif.pro"
214 # include "gui_xmdlg.pro"
215 # endif
216 # ifdef FEAT_GUI_ATHENA
217 # include "gui_athena.pro"
218 # ifdef FEAT_BROWSE
219 extern char *vim_SelFile __ARGS((Widget toplevel, char *prompt, char *init_path, int (*show_entry)(), int x, int y, guicolor_T fg, guicolor_T bg, guicolor_T scroll_fg, guicolor_T scroll_bg));
220 # endif
221 # endif
222 # ifdef FEAT_GUI_MAC
223 # include "gui_mac.pro"
224 # endif
225 # ifdef FEAT_GUI_X11
226 # include "gui_x11.pro"
227 # endif
228 # ifdef RISCOS
229 # include "gui_riscos.pro"
230 # endif
231 # ifdef FEAT_GUI_PHOTON
232 # include "gui_photon.pro"
233 # endif
234 # ifdef FEAT_SUN_WORKSHOP
235 # include "workshop.pro"
236 # endif
237 # ifdef FEAT_NETBEANS_INTG
238 # include "netbeans.pro"
239 # endif
240 # endif /* FEAT_GUI */
242 # ifdef FEAT_OLE
243 # include "if_ole.pro"
244 # endif
245 # if defined(FEAT_CLIENTSERVER) && defined(FEAT_X11)
246 # include "if_xcmdsrv.pro"
247 # endif
250 * The perl include files pollute the namespace, therefore proto.h must be
251 * included before the perl include files. But then CV is not defined, which
252 * is used in if_perl.pro. To get around this, the perl prototype files are
253 * not included here for the perl files. Use a dummy define for CV for the
254 * other files.
256 #if defined(FEAT_PERL) && !defined(IN_PERL_FILE)
257 # define CV void
258 # ifdef __BORLANDC__
259 #pragma option -pc
260 # endif
261 # include "if_perl.pro"
262 # ifdef __BORLANDC__
263 #pragma option -p.
264 # endif
265 # include "if_perlsfio.pro"
266 #endif
268 #ifdef MACOS_CONVERT
269 # include "os_mac_conv.pro"
270 #endif
272 #ifdef __BORLANDC__
273 # define _PROTO_H
274 #endif
275 #endif /* !PROTO && !NOPROTO */