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) 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 # include "winclip.pro" 51 # endif 52 # ifdef WIN3264 53 # include "os_win32.pro" 54 # include "os_mswin.pro" 55 # include "winclip.pro" 56 # if (defined(__GNUC__) && !defined(__MINGW32__)) \ 57 || (defined(__BORLANDC__) && __BORLANDC__ < 0x502) 58 extern int _stricoll __ARGS((char *a, char *b)); 59 # endif 60 # endif 61 # ifdef VMS 62 # include "os_vms.pro" 63 # endif 64 # ifdef __BEOS__ 65 # include "os_beos.pro" 66 # endif 67 # ifdef __QNX__ 68 # include "os_qnx.pro" 69 # endif 70 71 # ifdef FEAT_CRYPT 72 # include "blowfish.pro" 73 # include "crypt.pro" 74 # include "crypt_zip.pro" 75 # endif 76 # include "buffer.pro" 77 # include "charset.pro" 78 # ifdef FEAT_CSCOPE 79 # include "if_cscope.pro" 80 # endif 81 # include "diff.pro" 82 # include "digraph.pro" 83 # include "edit.pro" 84 # include "eval.pro" 85 # include "ex_cmds.pro" 86 # include "ex_cmds2.pro" 87 # include "ex_docmd.pro" 88 # include "ex_eval.pro" 89 # include "ex_getln.pro" 90 # include "fileio.pro" 91 # include "fold.pro" 92 # include "getchar.pro" 93 # ifdef FEAT_HANGULIN 94 # include "hangulin.pro" 95 # endif 96 # include "hardcopy.pro" 97 # include "hashtab.pro" 98 # include "main.pro" 99 # include "mark.pro" 100 # include "memfile.pro" 101 # include "memline.pro" 102 # ifdef FEAT_MENU 103 # include "menu.pro" 104 # endif 105 106 # if !defined MESSAGE_FILE || defined(HAVE_STDARG_H) 107 /* These prototypes cannot be produced automatically and conflict with 108 * the old-style prototypes in message.c. */ 109 int 110 # ifdef __BORLANDC__ 111 _RTLENTRYF 112 # endif 113 smsg __ARGS((char_u *, ...)); 114 115 int 116 # ifdef __BORLANDC__ 117 _RTLENTRYF 118 # endif 119 smsg_attr __ARGS((int, char_u *, ...)); 120 121 int 122 # ifdef __BORLANDC__ 123 _RTLENTRYF 124 # endif 125 vim_snprintf_add __ARGS((char *, size_t, char *, ...)); 126 127 int 128 # ifdef __BORLANDC__ 129 _RTLENTRYF 130 # endif 131 vim_snprintf __ARGS((char *, size_t, char *, ...)); 132 133 # if defined(HAVE_STDARG_H) 134 int vim_vsnprintf(char *str, size_t str_m, char *fmt, va_list ap, typval_T *tvs); 135 # endif 136 # endif 137 138 # include "message.pro" 139 # include "misc1.pro" 140 # include "misc2.pro" 141 #ifndef HAVE_STRPBRK /* not generated automatically from misc2.c */ 142 char_u *vim_strpbrk __ARGS((char_u *s, char_u *charset)); 143 #endif 144 #ifndef HAVE_QSORT 145 /* Use our own qsort(), don't define the prototype when not used. */ 146 void qsort __ARGS((void *base, size_t elm_count, size_t elm_size, int (*cmp)(const void *, const void *))); 147 #endif 148 # include "move.pro" 149 # if defined(FEAT_MBYTE) || defined(FEAT_XIM) || defined(FEAT_KEYMAP) \ 150 || defined(FEAT_POSTSCRIPT) 151 # include "mbyte.pro" 152 # endif 153 # include "normal.pro" 154 # include "ops.pro" 155 # include "option.pro" 156 # include "popupmnu.pro" 157 # ifdef FEAT_QUICKFIX 158 # include "quickfix.pro" 159 # endif 160 # include "regexp.pro" 161 # include "screen.pro" 162 # if defined(FEAT_CRYPT) || defined(FEAT_PERSISTENT_UNDO) 163 # include "sha256.pro" 164 # endif 165 # include "search.pro" 166 # include "spell.pro" 167 # include "syntax.pro" 168 # include "tag.pro" 169 # include "term.pro" 170 # if defined(HAVE_TGETENT) && (defined(AMIGA) || defined(VMS)) 171 # include "termlib.pro" 172 # endif 173 # include "ui.pro" 174 # include "undo.pro" 175 # include "version.pro" 176 # include "window.pro" 177 178 # ifdef FEAT_LUA 179 # include "if_lua.pro" 180 # endif 181 182 # ifdef FEAT_MZSCHEME 183 # include "if_mzsch.pro" 184 # endif 185 186 # ifdef FEAT_PYTHON 187 # include "if_python.pro" 188 # endif 189 190 # ifdef FEAT_PYTHON3 191 # include "if_python3.pro" 192 # endif 193 194 # ifdef FEAT_TCL 195 # include "if_tcl.pro" 196 # endif 197 198 # ifdef FEAT_RUBY 199 # include "if_ruby.pro" 200 # endif 201 202 /* Ugly solution for "BalloonEval" not being defined while it's used in some 203 * .pro files. */ 204 # ifndef FEAT_BEVAL 205 # define BalloonEval int 206 # endif 207 208 # ifdef FEAT_NETBEANS_INTG 209 # include "netbeans.pro" 210 # endif 211 212 # ifdef FEAT_GUI 213 # include "gui.pro" 214 # if defined(UNIX) || defined(MACOS) 215 # include "pty.pro" 216 # endif 217 # if !defined(HAVE_SETENV) && !defined(HAVE_PUTENV) && !defined(VMS) 218 extern int putenv __ARGS((const char *string)); /* from pty.c */ 219 # ifdef USE_VIMPTY_GETENV 220 extern char_u *vimpty_getenv __ARGS((const char_u *string)); /* from pty.c */ 221 # endif 222 # endif 223 # ifdef FEAT_GUI_W16 224 # include "gui_w16.pro" 225 # endif 226 # ifdef FEAT_GUI_W32 227 # include "gui_w32.pro" 228 # endif 229 # ifdef FEAT_GUI_GTK 230 # include "gui_gtk.pro" 231 # include "gui_gtk_x11.pro" 232 # endif 233 # ifdef FEAT_GUI_MOTIF 234 # include "gui_motif.pro" 235 # include "gui_xmdlg.pro" 236 # endif 237 # ifdef FEAT_GUI_ATHENA 238 # include "gui_athena.pro" 239 # ifdef FEAT_BROWSE 240 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)); 241 # endif 242 # endif 243 # ifdef FEAT_GUI_MAC 244 # include "gui_mac.pro" 245 # endif 246 # ifdef FEAT_GUI_X11 247 # include "gui_x11.pro" 248 # endif 249 # ifdef FEAT_GUI_PHOTON 250 # include "gui_photon.pro" 251 # endif 252 # ifdef FEAT_SUN_WORKSHOP 253 # include "workshop.pro" 254 # endif 255 # endif /* FEAT_GUI */ 256 257 # ifdef FEAT_OLE 258 # include "if_ole.pro" 259 # endif 260 # if defined(FEAT_CLIENTSERVER) && defined(FEAT_X11) 261 # include "if_xcmdsrv.pro" 262 # endif 263 264 /* 265 * The perl include files pollute the namespace, therefore proto.h must be 266 * included before the perl include files. But then CV is not defined, which 267 * is used in if_perl.pro. To get around this, the perl prototype files are 268 * not included here for the perl files. Use a dummy define for CV for the 269 * other files. 270 */ 271 #if defined(FEAT_PERL) && !defined(IN_PERL_FILE) 272 # define CV void 273 # ifdef __BORLANDC__ 274 #pragma option -pc 275 # endif 276 # include "if_perl.pro" 277 # ifdef __BORLANDC__ 278 #pragma option -p. 279 # endif 280 # include "if_perlsfio.pro" 281 #endif 282 283 #ifdef MACOS_CONVERT 284 # include "os_mac_conv.pro" 285 #endif 286 #if defined(MACOS_X_UNIX) && defined(FEAT_CLIPBOARD) && !defined(FEAT_GUI) 287 /* functions in os_macosx.m */ 288 void clip_mch_lose_selection(VimClipboard *cbd); 289 int clip_mch_own_selection(VimClipboard *cbd); 290 void clip_mch_request_selection(VimClipboard *cbd); 291 void clip_mch_set_selection(VimClipboard *cbd); 292 #endif 293 294 #ifdef __BORLANDC__ 295 # define _PROTO_H 296 #endif 297 #endif /* !PROTO && !NOPROTO */ 298