xref: /vim-8.2.3635/src/proto.h (revision 843ee41e)
1 /* vi:set ts=8 sts=4 sw=4:
2  *
3  * VIM - Vi IMproved	by Bram Moolenaar
4  *
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  */
8 
9 /*
10  * proto.h: include the (automatically generated) function prototypes
11  */
12 
13 /*
14  * Don't include these while generating prototypes.  Prevents problems when
15  * files are missing.
16  */
17 #if !defined(PROTO) && !defined(NOPROTO)
18 
19 /*
20  * Machine-dependent routines.
21  */
22 /* avoid errors in function prototypes */
23 # if !defined(FEAT_X11) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_KDE)
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
34 
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 MACOS
66 #  include "os_mac.pro"
67 # endif
68 # ifdef RISCOS
69 #  include "os_riscos.pro"
70 # endif
71 # ifdef __QNX__
72 #  include "os_qnx.pro"
73 # endif
74 
75 # include "buffer.pro"
76 # include "charset.pro"
77 # ifdef FEAT_CSCOPE
78 #  include "if_cscope.pro"
79 # endif
80 # include "diff.pro"
81 # include "digraph.pro"
82 # include "edit.pro"
83 # include "eval.pro"
84 # include "ex_cmds.pro"
85 # include "ex_cmds2.pro"
86 # include "ex_docmd.pro"
87 # include "ex_eval.pro"
88 # include "ex_getln.pro"
89 # include "fileio.pro"
90 # include "fold.pro"
91 # include "getchar.pro"
92 # ifdef FEAT_HANGULIN
93 #  include "hangulin.pro"
94 # endif
95 # include "main.pro"
96 # include "mark.pro"
97 # if !defined MESSAGE_FILE || defined(HAVE_STDARG_H)
98     /* These prototypes cannot be produced automatically and conflict with
99      * the old-style prototypes in message.c. */
100 int
101 #ifdef __BORLANDC__
102 _RTLENTRYF
103 #endif
104 smsg __ARGS((char_u *, ...));
105 int
106 #ifdef __BORLANDC__
107 _RTLENTRYF
108 #endif
109 smsg_attr __ARGS((int, char_u *, ...));
110 # endif
111 # include "memfile.pro"
112 # include "memline.pro"
113 # ifdef FEAT_MENU
114 #  include "menu.pro"
115 # endif
116 # include "message.pro"
117 # include "misc1.pro"
118 # include "misc2.pro"
119 #ifndef HAVE_STRPBRK	    /* not generated automatically from misc2.c */
120 char_u *vim_strpbrk __ARGS((char_u *s, char_u *charset));
121 #endif
122 #ifndef HAVE_QSORT
123 /* Use our own qsort(), don't define the prototype when not used. */
124 void qsort __ARGS((void *base, size_t elm_count, size_t elm_size, int (*cmp)(const void *, const void *)));
125 #endif
126 # include "move.pro"
127 # if defined(FEAT_MBYTE) || defined(FEAT_XIM) || defined(FEAT_KEYMAP) \
128 	|| defined(FEAT_POSTSCRIPT)
129 #  include "mbyte.pro"
130 # endif
131 # include "normal.pro"
132 # include "ops.pro"
133 # include "option.pro"
134 # include "quickfix.pro"
135 # include "regexp.pro"
136 # include "screen.pro"
137 # include "search.pro"
138 # include "syntax.pro"
139 # include "tag.pro"
140 # include "term.pro"
141 # if defined(HAVE_TGETENT) && (defined(AMIGA) || defined(VMS))
142 #  include "termlib.pro"
143 # endif
144 # include "ui.pro"
145 # include "undo.pro"
146 # include "version.pro"
147 # include "window.pro"
148 
149 # ifdef FEAT_PYTHON
150 #  include "if_python.pro"
151 # endif
152 
153 # ifdef FEAT_TCL
154 #  include "if_tcl.pro"
155 # endif
156 
157 # ifdef FEAT_RUBY
158 #  include "if_ruby.pro"
159 # endif
160 
161 # ifdef FEAT_GUI
162 #  include "gui.pro"
163 #  if defined(UNIX) || defined(MACOS)
164 #   include "pty.pro"
165 #  endif
166 #  if !defined(HAVE_SETENV) && !defined(HAVE_PUTENV) && !defined(VMS)
167 extern int putenv __ARGS((const char *string));		/* from pty.c */
168 #   ifdef USE_VIMPTY_GETENV
169 extern char_u *vimpty_getenv __ARGS((const char_u *string));	/* from pty.c */
170 #   endif
171 #  endif
172 #  ifdef FEAT_GUI_W16
173 #   include "gui_w16.pro"
174 #  endif
175     /* Ugly solution for "BalloonEval" not being defined while it's used in
176      * the prototypes. */
177 #  ifndef FEAT_BEVAL
178 #   define BalloonEval int
179 #  endif
180 #  ifdef FEAT_GUI_W32
181 #   include "gui_w32.pro"
182 #  endif
183 #  ifdef FEAT_GUI_KDE
184 #   include "gui_kde.pro"
185 #   include "gui_kde_x11.pro"
186 #  endif
187 #  ifdef FEAT_GUI_GTK
188 #   include "gui_gtk.pro"
189 #   include "gui_gtk_x11.pro"
190 #  endif
191 #  ifdef FEAT_GUI_MOTIF
192 #   include "gui_motif.pro"
193 #  endif
194 #  ifdef FEAT_GUI_ATHENA
195 #   include "gui_athena.pro"
196 #   ifdef FEAT_BROWSE
197 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));
198 #   endif
199 #  endif
200 #  ifdef FEAT_GUI_BEOS
201 #   include "gui_beos.pro"
202 #  endif
203 #  ifdef FEAT_GUI_MAC
204 #   include "gui_mac.pro"
205 #  endif
206 #  ifdef FEAT_GUI_X11
207 #   include "gui_x11.pro"
208 #  endif
209 #  if defined(FEAT_GUI_AMIGA)
210 #    include "gui_amiga.pro"
211 #  endif
212 #  ifdef RISCOS
213 #   include "gui_riscos.pro"
214 #  endif
215 #  ifdef FEAT_GUI_PHOTON
216 #   include "gui_photon.pro"
217 #  endif
218 #  ifdef FEAT_SUN_WORKSHOP
219 #   include "workshop.pro"
220 #  endif
221 #  ifdef FEAT_NETBEANS_INTG
222 #   include "netbeans.pro"
223 #  endif
224 # endif	/* FEAT_GUI */
225 
226 # ifdef FEAT_OLE
227 #  include "if_ole.pro"
228 # endif
229 # if defined(FEAT_CLIENTSERVER) && defined(FEAT_X11)
230 #  include "if_xcmdsrv.pro"
231 # endif
232 
233 /*
234  * The perl include files pollute the namespace, therfore proto.h must be
235  * included before the perl include files.  But then CV is not defined, which
236  * is used in if_perl.pro.  To get around this, the perl prototype files are
237  * not included here for the perl files.  Use a dummy define for CV for the
238  * other files.
239  */
240 #if defined(FEAT_PERL) && !defined(IN_PERL_FILE)
241 # define CV void
242 # ifdef __BORLANDC__
243 #  pragma option -pc
244 # endif
245 # include "if_perl.pro"
246 # ifdef __BORLANDC__
247 #  pragma option -p.
248 # endif
249 # include "if_perlsfio.pro"
250 #endif
251 
252 #ifdef __BORLANDC__
253 # define _PROTO_H
254 #endif
255 #endif /* !PROTO && !NOPROTO */
256