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