home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / vile-src.zip / vile-8.1 / proto.h < prev    next >
C/C++ Source or Header  |  1998-09-29  |  39KB  |  1,284 lines

  1. /*
  2.  *   This file was automatically generated by cextract version 1.2.
  3.  *   Manual editing now recommended, since I've done a whole lot of it.
  4.  *
  5.  *   Created: Thu May 14 15:44:40 1992
  6.  *
  7.  * $Header: /usr/build/vile/vile/RCS/proto.h,v 1.304 1998/09/29 23:43:58 tom Exp $
  8.  *
  9.  */
  10.  
  11. #ifndef VILE_PROTO_H
  12. #define VILE_PROTO_H 1
  13.  
  14. #if !CHECK_PROTOTYPES
  15. extern int main (int argc, char **argv);
  16. #endif
  17.  
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21.  
  22. extern SIGT catchintr (int ACTUAL_SIG_ARGS);
  23. extern char *strend (const char *s);
  24. extern char *strncpy0 (char *t, const char *f, SIZE_T l);
  25. extern int call_cmdfunc(const CMDFUNC *p, int f, int n);
  26. extern int no_memory (const char *s);
  27. extern int rdonly (void);
  28. extern int writeall (int f, int n, int promptuser, int leaving, int autowriting);
  29. extern void charinit (void);
  30. extern void do_repeats (int *cp, int *fp, int *np);
  31. extern void not_interrupted (void);
  32. extern void setup_handler (int sig, void (*disp) (int ACTUAL_SIG_ARGS));
  33. extern void tidy_exit (int code);
  34.  
  35. #ifndef interrupted
  36. extern int interrupted (void);
  37. #endif
  38.  
  39. #ifndef strmalloc
  40. extern char *strmalloc (const char *s);
  41. #endif
  42.  
  43. #if OPT_RAMSIZE
  44. extern char *reallocate (char *mp, unsigned nbytes);
  45. extern char *allocate (unsigned nbytes);
  46. extern void release (char *mp);
  47. #endif
  48.  
  49. /* screen-drivers */
  50. #if OPT_XTERM >= 3
  51. extern int xterm_mouse_t (int f, int n);
  52. extern int xterm_mouse_T (int f, int n);
  53. #endif
  54.  
  55. #if OPT_PERL
  56. /* perl.xs (perl.c) */
  57. extern    void    perl_default_region(void);
  58. extern    void    perl_free_handle(void *);
  59. extern    void    perl_free_callback(char *);
  60. #if OPT_NAMEBST
  61. extern    int    perl_call_sub(void *, int, int, int);
  62. extern    void    perl_free_sub(void *);
  63. #endif
  64.  
  65. /* api.c */
  66. extern void api_free_private(void *);
  67. /* There are others as well, but the rest are found in api.h */
  68. #endif
  69.  
  70. /* basic.c */
  71. extern int firstchar (LINEPTR lp);
  72. extern int getgoal (LINEPTR dlp);
  73. extern int gonmmark (int c);
  74. extern int lastchar (LINEPTR lp);
  75. extern int next_column (int c, int col);
  76. extern int next_sw(int col);
  77. extern int nextchar (LINEPTR lp, int off);
  78. extern int setmark (void);
  79. extern void swapmark (void);
  80.  
  81. #if OPT_MOUSE
  82. extern    int setcursor (int row, int col);
  83. extern    int setwmark (int row, int col);
  84. #endif
  85.  
  86. #if SMALLER    /* cancel 'neproto.h' */
  87. extern int gotobob (int f, int n);
  88. extern int gotoeob (int f, int n);
  89. #endif
  90.  
  91. /* bind.c */
  92. extern char *flook (char *fname, UINT hflag);
  93. extern char *kbd_engl (const char *prompt, char *buffer);
  94. extern char *kcod2pstr (int c, char *seq);
  95. extern const CMDFUNC *engl2fnc (const char *fname);
  96. extern const CMDFUNC *kcod2fnc (int c);
  97. extern int fnc2kcod (const CMDFUNC *);
  98. extern int kbd_complete (int case_insensitive, int c, char *buf, unsigned *pos, const char *table, SIZE_T size_entry);
  99. extern int kbd_engl_stat (const char *prompt, char *buffer, int stated);
  100. extern int kbd_length (void);
  101. extern int kcod2escape_seq (int c, char *ptr);
  102. extern int no_such_function (const char *fname);
  103. extern void kbd_alarm (void);
  104. extern void kbd_erase (void);
  105. extern void kbd_erase_to_end (int column);
  106. extern void kbd_init (void);
  107. extern void kbd_putc (int c);
  108. extern void kbd_puts (const char *s);
  109. extern void kbd_unquery (void);
  110. extern void popdown_completions (void);
  111.  
  112. #if DISP_X11
  113. extern char *fnc2pstr (const CMDFUNC *f);
  114. #endif
  115.  
  116. #if OPT_EVAL
  117. extern const char *prc2engl (const char *skey);
  118. #endif
  119.  
  120. #if OPT_MENUS
  121. extern char *give_accelerator ( char * );
  122. #endif
  123.  
  124. #if OPT_NAMEBST
  125. extern int delete_namebst(const char *name, int release);
  126. extern int insert_namebst(const char *name, const CMDFUNC *cmd, int ro);
  127. extern int rename_namebst(const char *oldname, const char *newname);
  128. extern int search_namebst(const char *name);
  129. extern void build_namebst(const NTAB *nametbl, int lo, int hi);
  130. #endif
  131.  
  132. /* buffer.c */
  133. BUFFER *make_bp (const char *fname, UINT flags);
  134. extern BUFFER *bfind (const char *bname, UINT bflag);
  135. extern BUFFER *find_alt (void);
  136. extern BUFFER *find_any_buffer (const char *name);
  137. extern BUFFER *find_b_file (const char *fname);
  138. extern BUFFER *find_b_hist(int number);
  139. extern BUFFER *find_b_name (const char *name);
  140. extern BUFFER *find_bp (BUFFER *bp1);
  141. extern BUFFER *getfile2bp (const char *fname, int ok_to_ask, int cmdline);
  142. extern WINDOW *bp2any_wp (BUFFER *bp);
  143. extern char *add_brackets(char *dst, const char *src);
  144. extern char *hist_lookup ( int c );
  145. extern char *strip_brackets(char *dst, const char *src);
  146. extern int add_line_at (BUFFER *bp, LINEPTR prevp, const char *text, int len);
  147. extern int addline (BUFFER *bp, const char *text, int len);
  148. extern int any_changed_buf (BUFFER **bpp);
  149. extern int any_unread_buf (BUFFER **bpp);
  150. extern int bclear (BUFFER *bp);
  151. extern int bsizes (BUFFER *bp);
  152. extern int delink_bp (BUFFER *bp);
  153. extern int popupbuff (BUFFER *bp);
  154. extern int shiftwid_val (BUFFER *bp);
  155. extern int swbuffer (BUFFER *bp);
  156. extern int swbuffer_lfl (BUFFER *bp, int lockfl);
  157. extern int tabstop_val (BUFFER *bp);
  158. extern int zotbuf (BUFFER *bp);
  159. extern int renamebuffer(BUFFER *rbp, char *bufname);
  160. extern int zotwp (BUFFER *bp);
  161. extern void chg_buff (BUFFER *bp, USHORT flag);
  162. extern void imply_alt (char *fname, int copy, int lockfl);
  163. extern void make_current (BUFFER *nbp);
  164. extern void set_bname (BUFFER *bp, const char *name);
  165. extern void sortlistbuffers (void);
  166. extern void unchg_buff (BUFFER *bp, USHORT flag);
  167. extern void undispbuff (BUFFER *bp, WINDOW *wp);
  168.  
  169. #if BEFORE
  170. extern char *get_bname (BUFFER *bp);
  171. #endif
  172.  
  173. #if !OPT_MAJORMODE
  174. extern int has_C_suffix (BUFFER *bp);
  175. #endif
  176.  
  177. #if OPT_UPBUFF
  178. void updatelistbuffers (void);
  179. void update_scratch (const char *name, int (*func)(BUFFER *));
  180. #else
  181. #define updatelistbuffers()
  182. #define update_scratch(name, func)
  183. #endif
  184.  
  185. /* crypt.c */
  186. #if    OPT_ENCRYPT
  187. extern    int    ue_makekey (char *key, UINT len);
  188. extern    void    ue_crypt (char *bptr, UINT len);
  189. #endif    /* OPT_ENCRYPT */
  190.  
  191. /* csrch.c */
  192.  
  193. /* display.c */
  194. extern char *lsprintf (char *buf, const char *fmt, ...);
  195. extern int col_limit (WINDOW *wp);
  196. extern int im_waiting (int flag);
  197. extern int mk_to_vcol (MARK mark, int expanded, int base);
  198. extern int nu_width (WINDOW *wp);
  199. extern int offs2col (WINDOW *wp, LINEPTR lp, C_NUM offset);
  200. extern int update (int force);
  201. extern int video_alloc (VIDEO **vpp);
  202. extern int vtinit (void);
  203. extern void bottomleft (void);
  204. extern void bprintf (const char *fmt, ...);
  205. extern void bputc (int c);
  206. extern void dbgwrite (const char *fmt, ...);
  207. extern void hilite (int row, int colfrom, int colto, int on);
  208. extern void kbd_flush (void);
  209. extern void kbd_openup (void);
  210. extern void kbd_overlay(const char *s);
  211. extern void mlerase (void);
  212. extern void mlerror (const char *s);
  213. extern void mlforce (const char *fmt, ...);
  214. extern void mlprompt (const char *fmt, ...);
  215. extern void mlsavec (int c);
  216. extern void mlwarn (const char *fmt, ...);
  217. extern void mlwrite (const char *fmt, ...);
  218. extern void movecursor (int row, int col);
  219. extern void newscreensize (int h, int w);
  220. extern void upmode (void);
  221.  
  222. #if !DISP_X11
  223. extern void getscreensize (int *widthp, int *heightp);
  224. #if defined(SIGWINCH)
  225. extern SIGT sizesignal (int ACTUAL_SIG_ARGS);
  226. #endif
  227. #endif
  228.  
  229. #if defined(SIGWINCH) || OPT_WORKING
  230. extern void beginDisplay (void);
  231. extern void endofDisplay (void);
  232. #endif
  233.  
  234. #ifdef WMDLINEWRAP
  235. extern int line_height (WINDOW *wp, LINEPTR lp);
  236. #else
  237. #define line_height(wp,lp) 1
  238. #endif
  239.  
  240. #if defined(WMDLINEWRAP) || OPT_MOUSE
  241. extern WINDOW *row2window (int row);
  242. extern int col2offs (WINDOW *wp, LINEPTR lp, C_NUM col);
  243. #endif
  244.  
  245. #if OPT_WORKING
  246. extern SIGT imworking (int ACTUAL_SIG_ARGS);
  247. #endif
  248.  
  249. #if OPT_PSCREEN
  250. extern    OUTC_DCL psc_putchar    (OUTC_ARGS);
  251. extern    void    psc_eeol    (void);
  252. extern    void    psc_eeop    (void);
  253. extern    void    psc_flush    (void);
  254. extern    void    psc_move    (int row, int col);
  255. extern    void    psc_rev        (UINT huh);
  256. #endif    /* OPT_PSCREEN */
  257.  
  258. /* djhandl.c */
  259. #if CC_DJGPP
  260. extern unsigned long was_ctrl_c_hit (void);
  261. extern void want_ctrl_c (int yes);
  262. extern void clear_hard_error (void);
  263. extern void hard_error_catch_setup (void);
  264. extern void hard_error_teardown (void);
  265. extern int did_hard_error_occur (void);
  266. #endif
  267.  
  268. /* eval.c */
  269. extern char *get_shell(void);
  270. extern char *l_itoa (int i);
  271. extern char *mklower (char *str);
  272. extern char *mktrimmed (char *str);
  273. extern const char *skip_cblanks (const char *str);
  274. extern const char *skip_cstring (const char *str);
  275. extern const char *skip_ctext (const char *str);
  276. extern int absol (int x);
  277. extern int is_falsem (const char *val);
  278. extern int is_truem (const char *val);
  279.  
  280. #ifdef const
  281. #define skip_blanks(s) skip_cblanks(s)
  282. #define skip_string(s) skip_cstring(s)
  283. #define skip_text(s) skip_ctext(s)
  284. #else
  285. extern char *skip_blanks (char *str);
  286. extern char *skip_string (char *str);
  287. extern char *skip_text (char *str);
  288. #endif
  289.  
  290. #if OPT_EVAL
  291. extern LINEPTR label2lp (BUFFER *bp, const char *label);
  292. extern char *gtenv (const char *vname);
  293. extern int   set_variable (const char *name);
  294. extern int   stenv(const char *name, const char *value);
  295. #endif
  296.  
  297. #if OPT_EVAL || DISP_X11
  298. extern int stol (const char *val);
  299. #endif
  300.  
  301. #if OPT_EVAL || OPT_COLOR
  302. extern int set_palette (const char *value);
  303. #endif
  304.  
  305. #if OPT_EVAL || !SMALLER
  306. extern char *mkupper (char *str);
  307. #endif
  308.  
  309. #if OPT_COLOR
  310. extern void set_ctrans (const char *value);
  311. #endif
  312.  
  313. /* exec.c */
  314. extern int do_source (char *fname, int n, int optional);
  315. extern int dobuf (BUFFER *bp);
  316. extern int docmd (char *cline, int execflag, int f, int n);
  317. extern int dofile (char *fname);
  318. extern int end_named_cmd (void);
  319. extern int execute (const CMDFUNC *execfunc, int f, int n);
  320. extern int more_named_cmd (void);
  321.  
  322. #if OPT_PROCEDURES
  323. extern int run_procedure (const char *name);
  324. #endif
  325.  
  326. /* file.c */
  327. extern SIGT imdying (int ACTUAL_SIG_ARGS);
  328. extern int bp2readin (BUFFER *bp, int lockfl);
  329. extern int getfile (char *fname, int lockfl);
  330. extern int ifile (char *fname, int belowthisline, FILE *haveffp);
  331. extern int kwrite (char *fn, int msgf);
  332. extern int no_such_file (const char *fname);
  333. extern int readin (char *fname, int lockfl, BUFFER *bp, int mflg);
  334. extern int same_fname (char *fname, BUFFER *bp, int lengthen);
  335. extern int slowreadf (BUFFER *bp, int *nlinep);
  336. extern int writeout (const char *fn, BUFFER *bp, int forced, int msgf);
  337. extern int writeregion (void);
  338. extern time_t file_modified (char *path);
  339. extern void makename (char *bname, const char *fname);
  340. extern void markWFMODE (BUFFER *bp);
  341. extern void set_last_file_edited(const char *);
  342. extern void unqname (char *name);
  343.  
  344. #ifdef MDCHK_MODTIME
  345. extern int ask_shouldchange (BUFFER *bp);
  346. extern int check_modtime (BUFFER *bp, char *fn);
  347. extern int check_visible_modtimes (void);
  348. extern int get_modtime (BUFFER *bp, time_t *the_time);
  349. extern void set_modtime (BUFFER *bp, char *fn);
  350. #endif
  351.  
  352. #if OPT_ENCRYPT
  353. extern int resetkey (BUFFER *bp, const char *fname);
  354. #endif
  355.  
  356. #if SMALLER    /* cancel neproto.h */
  357. extern int filesave (int f, int n);
  358. #endif
  359.  
  360. /* filec.c */
  361. extern char *filec_expand (void);
  362. extern int mlreply_dir (const char *prompt, TBUFF **buf, char *result);
  363. extern int mlreply_file (const char *prompt, TBUFF **buf, int flag, char *result);
  364.  
  365. #if COMPLETE_FILES || COMPLETE_DIRS
  366. extern int path_completion (DONE_ARGS);
  367. extern void init_filec(const char *buffer_name);
  368. #endif
  369.  
  370. /* fileio.c */
  371. extern int ffaccess (char *fn, int mode);
  372. extern int ffclose (void);
  373. extern int ffexists (char *p);
  374. extern int ffhasdata (void);
  375. extern int ffputc (int c);
  376. extern int ffputline (const char *buf, int nbuf, const char *ending);
  377. extern int ffronly (char *fn);
  378. extern int ffropen (char *fn);
  379. extern int ffwopen (char *fn, int forced);
  380. extern off_t ffsize (void);
  381.  
  382. #if !(SYS_MSDOS || SYS_WIN31)
  383. extern int ffread (char *buf, long len);
  384. extern void ffseek (long n);
  385. extern void ffrewind (void);
  386. #endif
  387.  
  388. /* finderr.c */
  389. #if OPT_FINDERR
  390. extern void set_febuff (const char *name);
  391. #endif
  392.  
  393. /* glob.c */
  394. extern    char **    glob_free   (char **list_of_items);
  395. extern    char **    glob_string (char *item);
  396. extern    int    doglob (char *path);
  397. extern    int    glob_length (char **list_of_items);
  398.  
  399. #if !SYS_UNIX
  400. extern    int    glob_needed (char **list_of_items);
  401. extern    void    expand_wild_args (int *argcp, char ***argvp);
  402. #endif
  403.  
  404. /* globals.c */
  405.  
  406. /* history.c */
  407. #if OPT_HISTORY
  408. extern    int    edithistory (TBUFF **buffer, unsigned *position, int *given, UINT options, int (*func)(EOL_ARGS), int eolchar);
  409. extern    void    hst_append (TBUFF *cmd, int glue);
  410. extern    void    hst_append_s (char *cmd, int glue);
  411. extern    void    hst_flush (void);
  412. extern    void    hst_glue (int c);
  413. extern    void    hst_init (int c);
  414. extern    void    hst_remove (const char *cmd);
  415. #else
  416. #define    hst_append(p,c)
  417. #define    hst_append_s(p,c)
  418. #define    hst_flush()
  419. #define    hst_glue(c)
  420. #define    hst_init(c)
  421. #define    hst_remove(p)
  422. #endif
  423.  
  424. /* ibmpc.c */
  425. #if SYS_MSDOS || SYS_OS2 || SYS_WINNT
  426. extern    VIDEO *    scread (VIDEO *vp, int row);
  427. extern    void    scwrite (int row, int col, int nchar, const char *outstr, VIDEO_ATTR *attrstr, int forg, int bacg);
  428. #endif
  429.  
  430. /* input.c */
  431. extern int dotcmdbegin (void);
  432. extern int dotcmdfinish (void);
  433. extern int end_string (void);
  434. extern int eol_history(EOL_ARGS);
  435. extern int get_recorded_char (int eatit);
  436. extern int is_edit_char (int c);
  437. extern int kbd_delimiter (void);
  438. extern int kbd_is_pushed_back (void);
  439. extern int kbd_replaying (int match);
  440. extern int kbd_reply (const char *prompt, TBUFF **extbuf, int (*efunc)(EOL_ARGS), int eolchar, UINT options, int (*cfunc)(DONE_ARGS));
  441. extern int kbd_seq (void);
  442. extern int kbd_seq_nomap (void);
  443. extern int kbd_show_response (TBUFF **dst, char *src, unsigned bufn, int eolchar, UINT options);
  444. extern int kbd_string (const char *prompt, char *extbuf, unsigned bufn, int eolchar, UINT options, int (*func)(DONE_ARGS));
  445. extern int kbm_started (int macnum, int force);
  446. extern int keystroke (void);
  447. extern int keystroke8 (void);
  448. extern int keystroke_avail (void);
  449. extern int keystroke_raw8 (void);
  450. extern int mapped_keystroke (void);
  451. extern int mlquickask (const char *prompt, const char *respchars, int *cp);
  452. extern int mlreply (const char *prompt, char *buf, UINT bufn);
  453. extern int mlreply_no_bs (const char *prompt, char *buf, UINT bufn);
  454. extern int mlreply_no_opts (const char *prompt, char *buf, UINT bufn);
  455. extern int mlreply_reg (const char *prompt, char *cbuf, int *retp, int at_dft);
  456. extern int mlreply_reg_count (int state, int *retp, int *next);
  457. extern int mlyesno (const char *prompt);
  458. extern int no_completion (DONE_ARGS);
  459. extern int screen_string (char *buf, int bufn, CHARTYPE inclchartype);
  460. extern int start_kbm (int n, int macnum, ITBUFF *ptr);
  461. extern int tgetc (int quoted);
  462. extern int tgetc_avail (void);
  463. extern void dotcmdstop (void);
  464. extern void incr_dot_kregnum (void);
  465. extern void kbd_kill_response (TBUFF *buf, unsigned *position, int c);
  466. extern void kbd_pushback (TBUFF *buf, int skip);
  467. extern void set_end_string (int c);
  468. extern void tungetc(int c);
  469. extern void unkeystroke (int c);
  470.  
  471. #if COMPLETE_FILES
  472. extern int shell_complete (DONE_ARGS);
  473. #else
  474. #define shell_complete no_completion
  475. #endif
  476.  
  477. /* insert.c */
  478. extern int indentlen (LINEPTR lp);
  479. extern int ins (void);
  480. extern int ins_mode (WINDOW *wp);
  481. extern int inschar (int c, int *backsp_limit_p);
  482. extern int previndent (int *bracefp);
  483.  
  484. #if OPT_EVAL
  485. extern char *current_modename (void);
  486. #endif
  487.  
  488. #if SMALLER    /* cancel 'neproto.h' */
  489. extern int newline (int f, int n);
  490. extern int wrapword (int f, int n);
  491. #endif
  492.  
  493. /* isearch.c */
  494. #if SMALLER    /* cancel 'neproto.h' */
  495. extern int forwhunt (int f, int n);
  496. extern int backhunt (int f, int n);
  497. #endif
  498.  
  499. /* itbuff.c */
  500. ALLOC_T     itb_length (ITBUFF *p);
  501. ITBUFF * itb_alloc (ITBUFF **p, ALLOC_T n);
  502. ITBUFF * itb_append (ITBUFF **p, int c);
  503. ITBUFF * itb_bappend (ITBUFF **, const char *s, ALLOC_T len);
  504. ITBUFF * itb_copy (ITBUFF **d, ITBUFF *s);
  505. ITBUFF * itb_init (ITBUFF **p, int c);
  506. ITBUFF * itb_sappend (ITBUFF **, const char *s);
  507. int     itb_get (ITBUFF *p, ALLOC_T n);
  508. int     itb_last (ITBUFF *p);
  509. int     itb_more (ITBUFF *p);
  510. int     itb_next (ITBUFF *p);
  511. int     itb_peek (ITBUFF *p);
  512. int *     itb_values (ITBUFF *p);
  513. void     itb_first (ITBUFF *p);
  514. void     itb_free (ITBUFF **p);
  515. void     itb_stuff (ITBUFF *p, int c);
  516.  
  517. #if NEEDED
  518. ITBUFF * itb_insert (ITBUFF **p, int c);
  519. void     itb_delete (ITBUFF *p, ALLOC_T cnt);
  520. void     itb_unnext (ITBUFF *p);
  521. void     itb_unput (ITBUFF *p);
  522. #endif
  523.  
  524. /* lckfiles.c */
  525. #if OPT_LCKFILES
  526. extern int set_lock (const char *fname, char *who, int n);
  527. extern void release_lock (const char *fname);
  528. #endif
  529.  
  530. /* line.c */
  531. extern LINEPTR lalloc (int used, BUFFER *bp);
  532. extern int do_report (L_NUM value);
  533. extern int index2reg (int c);
  534. extern int index2ukb (int inx);
  535. extern int kinsert (int c);
  536. extern int kinsertlater (int c);
  537. extern int ldelete (long n, int kflag);
  538. extern int linsert (int n, int c);
  539. extern int lnewline (void);
  540. extern int lstrinsert (const char *s, int len);
  541. extern int reg2index (int c);
  542. extern void kdone (void);
  543. extern void kregcirculate (int killing);
  544. extern void ksetup (void);
  545. extern void lfree (LINEPTR lp, BUFFER *bp);
  546. extern void lremove (BUFFER *bp, LINEPTR lp);
  547. extern void ltextfree (LINEPTR lp, BUFFER *bp);
  548.  
  549. #if OPT_EVAL
  550. extern char * getctext (CHARTYPE type);
  551. extern int putctext (CHARTYPE type, const char *iline);
  552. #endif
  553.  
  554. #if SMALLER    /* cancel neproto.h */
  555. extern int insspace (int f, int n);
  556. #endif
  557.  
  558. /* map.c */
  559. extern int mapped_c (int remap, int raw);
  560. extern int mapped_c_avail (void);
  561. extern int mapped_ungotc_avail(void);
  562. extern int sysmapped_c (void);
  563. extern int sysmapped_c_avail (void);
  564. extern void abbr_check (int *backsp_limit_p);
  565. extern void addtosysmap (const char *seq, int seqlen, int code);
  566. extern void mapungetc (int c);
  567.  
  568. /* menu.c */
  569. #if OPT_MENUS
  570. extern int parse_menu (const char *rc_filename);
  571. #if NEED_X_INCLUDES
  572. extern void do_menu ( Widget menub );
  573. #endif
  574. #endif
  575.  
  576. /* msgs.c */
  577. #if OPT_POPUP_MSGS
  578. void msg_putc (int c);
  579. void popup_msgs (void);
  580. void purge_msgs (void);
  581. #endif
  582.  
  583. /* modes.c */
  584. extern REGEXVAL *new_regexval (const char *pattern, int magic);
  585. extern char *string_mode_val (VALARGS *args);
  586. extern int adjvalueset (const char *cp, int setting, int global, VALARGS *args);
  587. extern int find_mode (const char *mode, int global, VALARGS *args);
  588. extern int mode_eol (EOL_ARGS);
  589. extern int set_mode_value(const char *cp, int setting, int global, VALARGS *args, const char *rp);
  590. extern int string_to_number (const char *from, int *np);
  591. extern void copy_mvals (int maximum, struct VAL *dst, struct VAL *src);
  592. extern void free_local_vals (const struct VALNAMES *names, struct VAL *gbl, struct VAL *val);
  593.  
  594. #if OPT_EVAL || OPT_COLOR
  595. extern int set_ncolors(int ncolors);
  596. #endif
  597.  
  598. #if OPT_EVAL || OPT_MAJORMODE
  599. extern int is_varmode ( const char *name );
  600. extern const char *const * list_of_modes (void);
  601. #endif
  602.  
  603. #if OPT_MAJORMODE
  604. extern int alloc_mode(const char *name, int predef);
  605. extern void set_majormode_rexp(const char *name, int n, const char *pat);
  606. extern void set_submode_val(const char *name, int n, int value);
  607. extern void setm_by_suffix (BUFFER *bp);
  608. extern void setm_by_preamble (BUFFER *bp);
  609. #else
  610. #define setm_by_suffix(bp) fix_cmode(bp, (global_b_val(MDCMOD) && has_C_suffix(bp)))
  611. #define setm_by_preamble(bp) /* nothing */
  612. #endif
  613.  
  614. #if OPT_UPBUFF
  615. extern void save_vals (int maximum, struct VAL *gbl, struct VAL *dst, struct VAL *src);
  616. #endif
  617.  
  618. /* npopen.c */
  619. #if SYS_UNIX || SYS_MSDOS || SYS_WIN31 || SYS_OS2 || SYS_WINNT
  620. extern FILE * npopen (char *cmd, const char *type);
  621. extern void npclose (FILE *fp);
  622. extern int inout_popen (FILE **fr, FILE **fw, char *cmd);
  623. extern int softfork (void);
  624. #endif
  625.  
  626. #if SYS_UNIX || SYS_OS2 || SYS_WINNT
  627. extern int system_SHELL (char *cmd);
  628. #endif
  629.  
  630. #if SYS_MSDOS || SYS_WIN31 || SYS_WINNT || (SYS_OS2 && CC_CSETPP) || TEST_DOS_PIPES
  631. extern void npflush (void);
  632. #endif
  633.  
  634. /* ntconio.c */
  635. #if DISP_NTCONS
  636. extern void ntcons_reopen(void);
  637. #endif
  638.  
  639. /* oneliner.c */
  640. extern int llineregion (void);
  641. extern int plineregion (void);
  642. extern int pplineregion (void);
  643. extern int subst_again_region (void);
  644. extern int substregion (void);
  645.  
  646. /* opers.c */
  647. extern int vile_op (int f, int n, OpsFunc fn, const char *str);
  648.  
  649. /* path.c */
  650. extern char * is_appendname (char *fn);
  651. extern char * last_slash (char *fn);
  652. extern char * lengthen_path (char *path);
  653. extern char * pathcat (char *dst, const char *path, char *leaf);
  654. extern char * pathleaf (char *path);
  655. extern char * shorten_path (char *path, int keep_cwd);
  656. extern int is_directory (char *path);
  657. extern int is_internalname (const char *fn);
  658. extern int is_pathname (char *path);
  659. extern int is_scratchname (const char *fn);
  660. extern int maybe_pathname (char *fn);
  661.  
  662. #if OPT_MSDOS_PATH
  663. extern char * is_msdos_drive (char *path);
  664. extern char * sl_to_bsl (const char *p);
  665. #endif
  666.  
  667. #ifndef bsl_to_sl_inplace
  668. extern void bsl_to_sl_inplace (char *p);
  669. #endif
  670.  
  671. #if OPT_PATHLOOKUP && (SYS_UNIX||SYS_VMS||OPT_MSDOS_PATH)
  672. extern const char *parse_pathlist (const char *list, char *result);
  673. #endif
  674.  
  675. #if OPT_CASELESS && SYS_OS2
  676. extern int is_case_preserving (const char *name);
  677. #endif
  678.  
  679. #if OPT_VMS_PATH
  680. extern char * strip_version (char *path);
  681. extern char * unix_pathleaf (char *path);
  682. extern char * vms_pathleaf (char *path);
  683. extern int is_vms_pathname (const char *path, int option);
  684. #endif
  685.  
  686. #if SYS_UNIX
  687. extern char * home_path (char *path);
  688. #endif
  689.  
  690. /* random.c */
  691. extern L_NUM line_count (BUFFER *the_buffer);
  692. extern L_NUM line_no (BUFFER *the_buffer, LINEPTR the_line);
  693. extern char * current_directory (int force);
  694. extern int fmatchindent (int c);
  695. extern int getccol (int bflg);
  696. extern int getcol (MARK mark, int actual);
  697. extern int getoff (C_NUM goal, C_NUM *rcolp);
  698. extern int gocol (int n);
  699. extern int is_user_fence (int ch, int *sdirp);
  700. extern int line_report (L_NUM before);
  701. extern int liststuff (const char *name, int appendit, void (*)(LIST_ARGS), int iarg, void *vargp);
  702. extern int set_directory (const char *dir);
  703. extern void catnap (int milli, int watchinput);
  704. extern void ch_fname (BUFFER *bp, const char *fname);
  705. extern void set_rdonly (BUFFER *bp, const char *name, int mode);
  706.  
  707. #if OPT_EVAL
  708. extern L_NUM getcline (void);
  709. extern char * previous_directory (void);
  710. #endif
  711.  
  712. #if SYS_MSDOS || SYS_OS2 || SYS_WINNT
  713. extern const char * curr_dir_on_drive (int drive);
  714. extern int curdrive (void);
  715. extern int setdrive (int d);
  716. extern void update_dos_drv_dir (char * cwd);
  717. # if CC_WATCOM
  718.      extern int dos_crit_handler (unsigned deverror, unsigned errcode, unsigned *devhdr);
  719. # else
  720.      extern void dos_crit_handler (void);
  721. # endif
  722. # if OPT_MS_MOUSE
  723.      extern int ms_exists (void);
  724.      extern void ms_processing (void);
  725. # endif
  726. #endif
  727.  
  728. /* regexp.c */
  729. extern regexp * regcomp (char *origexp, int magic);
  730. extern int regexec (regexp *prog, char *string, char *stringend, int startoff, int endoff);
  731. extern int lregexec (regexp *prog, LINEPTR lp, int startoff, int endoff);
  732.  
  733. /* region.c */
  734. typedef int (*DORGNLINES)(int (*)(REGN_ARGS), void *, int);
  735.  
  736. extern int        blank_region (void);
  737. extern int        cryptregion (void);
  738. extern int        detab_region (void);
  739. extern int        detabline (void *flagp, int l, int r);
  740. extern int        entab_region (void);
  741. extern int        entabline (void *flagp, int l, int r);
  742. extern int        flipregion (void);
  743. extern DORGNLINES get_do_lines_rgn(void);
  744. extern int        get_fl_region (REGION *rp);
  745. extern int        getregion (REGION *rp);
  746. extern int        killregion (void);
  747. extern int        killregionmaybesave (int save);
  748. extern int        lowerregion (void);
  749. extern int        openregion (void);
  750. extern int        shiftlregion (void);
  751. extern int        shiftrregion (void);
  752. extern int        stringrect (void);
  753. extern int        trim_region (void);
  754. extern int        trimline (void *flagp, int l, int r);
  755. extern int        upperregion (void);
  756. extern int        yankregion (void);
  757.  
  758. #if NEEDED
  759. extern int charprocreg (int (*)(int));
  760. #endif
  761.  
  762. /* search.c */
  763. extern int findpat (int f, int n, regexp *exp, int direc);
  764. extern int fsearch (int f, int n, int marking, int fromscreen);
  765. extern int readpattern (const char *prompt, char *apat, regexp **srchexpp, int c, int fromscreen);
  766. extern int scanner (regexp *exp, int direct, int wrapok, int *wrappedp);
  767. extern void attrib_matches (void);
  768. extern void regerror (const char *s);
  769. extern void scanboundry (int wrapok, MARK dot, int dir);
  770.  
  771. #if OPT_EVAL || UNUSED
  772. extern int eq (int bc, int pc);
  773. #endif
  774.  
  775. #if OPT_HILITEMATCH
  776. void clobber_save_curbp(BUFFER *bp);
  777. #endif
  778.  
  779. /* select.c */
  780. #if OPT_SELECTIONS
  781. extern    int    assign_attr_id    (void);
  782. extern    int    attribute_cntl_a_seqs_in_region(REGION *rp, REGIONSHAPE shape);
  783. extern    int    attributeregion (void);
  784. extern    int    attributeregion_in_region(REGION *rp, REGIONSHAPE shape,
  785.                                 VIDEO_ATTR vattr, char *hc);
  786. extern    int    sel_begin    (void);
  787. extern    int    sel_extend    (int wiping, int include_dot);
  788. extern    int    sel_setshape    (REGIONSHAPE shape);
  789. extern    void    find_release_attr (BUFFER *bp, REGION *rp);
  790. extern    void    free_attrib    (BUFFER *bp, AREGION *ap);
  791. extern    void    free_attribs    (BUFFER *bp);
  792. extern    void    sel_reassert_ownership (BUFFER *bp);
  793. extern    void    sel_release    (void);
  794. #if OPT_MOUSE
  795. extern    int    on_mouse_click    (int button, int y, int x);
  796. #endif
  797. #if OPT_PERL || OPT_TCL
  798. extern    BUFFER *get_selection_buffer_and_region(AREGION *arp);
  799. #endif /* OPT_PERL || OPT_TCL */
  800. #if OPT_SEL_YANK
  801. extern    int    sel_yank    (int reg);
  802. extern    int    sel_attached    (void);
  803. extern    BUFFER *sel_buffer    (void);
  804. #endif
  805. #endif /* OPT_SELECTIONS */
  806.  
  807. /* spawn.c */
  808. #if OPT_SHELL
  809. extern SIGT rtfrmshell (int ACTUAL_SIG_ARGS);
  810. extern void pressreturn (void);
  811. extern int filterregion (void);
  812. #else
  813. #define pressreturn() (void)keystroke()
  814. #endif
  815.  
  816. /* tags.c */
  817. #if OPT_TAGS
  818. extern int cmdlinetag (const char *t);
  819. #endif /* OPT_TAGS */
  820.  
  821. /* tbuff.c */
  822. ALLOC_T    tb_length (TBUFF *p);
  823. TBUFF *    tb_alloc (TBUFF **p, ALLOC_T n);
  824. TBUFF *    tb_append (TBUFF **p, int c);
  825. TBUFF *    tb_bappend (TBUFF **p, const char *s, ALLOC_T len);
  826. TBUFF *    tb_copy (TBUFF **d, TBUFF *s);
  827. TBUFF *    tb_init (TBUFF **p, int c);
  828. TBUFF *    tb_insert (TBUFF **p, ALLOC_T n, int c);
  829. TBUFF *    tb_put (TBUFF **p, ALLOC_T n, int c);
  830. TBUFF *    tb_sappend (TBUFF **p, const char *s);
  831. TBUFF *    tb_scopy (TBUFF **p, const char *s);
  832. TBUFF *    tb_string (const char *s);
  833. char *    tb_values (TBUFF *p);
  834. int    tb_get (TBUFF *p, ALLOC_T n);
  835. int    tb_more (TBUFF *p);
  836. int    tb_next (TBUFF *p);
  837. int    tb_peek (TBUFF *p);
  838. void    tb_first (TBUFF *p);
  839. void    tb_free (TBUFF **p);
  840. void    tb_stuff (TBUFF *p, int c);
  841. void    tb_unnext (TBUFF *p);
  842. void    tb_unput (TBUFF *p);
  843.  
  844. /* termio.c */
  845. extern OUTC_DCL ttputc (OUTC_ARGS);
  846. extern int open_terminal (TERM *termp);
  847. extern int ttgetc (void);
  848. extern int tttypahead (void);
  849. extern void null_t_icursor (int c);
  850. extern void null_t_pflush (void);
  851. extern void null_t_scroll (int f, int t, int n);
  852. extern void null_t_setback (int b);
  853. extern void null_t_setfor (int f);
  854. extern void null_t_setpal (const char *p);
  855. extern void null_t_title (char *t);
  856. extern int  null_t_watchfd (int fd, WATCHTYPE type, long *idp);
  857. extern void null_t_unwatchfd (int fd, long id);
  858. extern void ttclean (int f);
  859. extern void ttclose (void);
  860. extern void ttflush (void);
  861. extern void ttopen (void);
  862. extern void ttunclean (void);
  863.  
  864. /* undo.c */
  865. extern void copy_for_undo (LINEPTR lp);
  866. extern void dumpuline (LINEPTR lp);
  867. extern void freeundostacks (BUFFER *bp, int both);
  868. extern void mayneedundo (void);
  869. extern void nounmodifiable (BUFFER *bp);
  870. extern void tag_for_undo (LINEPTR lp);
  871. extern void toss_to_undo (LINEPTR lp);
  872.  
  873. /* version.c */
  874. extern const char * getversion (void);
  875. extern const char * non_filename (void);
  876. extern void print_usage (void);
  877.  
  878. /* vms2unix.c */
  879. #if OPT_VMS_PATH
  880. extern    char *    is_vms_dirtype    (char *path);
  881. extern    char *    is_vms_rootdir    (char *path);
  882. extern    char *    unix2vms_path   (char *dst, const char *src);
  883. extern    char *    vms2unix_path   (char *dst, const char *src);
  884. extern    char *    vms_path2dir    (const char *src);
  885. extern    void    vms_dir2path    (char *path);
  886. #endif
  887.  
  888. /* vmspipe.c */
  889. #if SYS_VMS
  890. extern FILE *vms_rpipe (const char *cmd, int fd, const char *input_file);
  891. #endif
  892.  
  893. /* w32isms */
  894. #if SYS_WINNT
  895.  
  896. #define W32_SYS_ERROR  NOERROR
  897.  
  898. typedef struct fontstr_options_struct
  899. {
  900.     unsigned long size;      /* Font's point size.                     */
  901.     int           bold;      /* Boolean -> T, user wants bold weight.  */
  902.     int           italic;    /* Boolean -> T, user wants italic style. */
  903.     char          face[256]; /* Font face requested by user.  If no face
  904.                               * specified, face[0] == '\0';
  905.                               */
  906. } FONTSTR_OPTIONS;
  907.  
  908. typedef struct oleauto_options_struct
  909. {
  910.     int  invisible;     /* Boolean, T -> server invisible at startup        */
  911.     int  multiple;      /* Boolean, T -> multiple server instances possible */
  912.     int  rows, cols;    /* Size of winvile at startup, 0 if unspecified     */
  913.     char *fontstr;      /* Ptr to font specification (see parse_font_str()),
  914.                          * fall back on default font if NULL.
  915.                          */
  916. } OLEAUTO_OPTIONS;
  917.  
  918. extern void disp_win32_error(ULONG errcode, void *hwnd);
  919. extern char *fmt_win32_error(ULONG errcode, char **buf, ULONG buflen);
  920. extern int  is_win95(void);
  921. extern int  is_winnt(void);
  922. extern char *mk_shell_cmd_str(char *cmd, int *allocd_mem, int prepend_shc);
  923. extern char *ntwinio_current_font(void);
  924. extern int  ntwinio_font_frm_str(const char *fontstr, int use_mb);
  925. extern void ntwinio_oleauto_reg(void);
  926. extern void oleauto_exit(int code);
  927. extern int  oleauto_init(OLEAUTO_OPTIONS *opts);
  928. extern int  oleauto_register(OLEAUTO_OPTIONS *opts);
  929. extern int  oleauto_unregister(void);
  930. extern int  parse_font_str(const char *fontstr, FONTSTR_OPTIONS *results);
  931. extern void restore_console_title(void);
  932. extern void set_console_title(const char *title);
  933. extern int  stdin_data_available(void);
  934. extern int  w32_inout_popen(FILE **fr, FILE **fw, char *cmd);
  935. extern void w32_keybrd_reopen(int pressret);
  936. extern void w32_npclose(FILE *fp);
  937. extern int  w32_system(const char *cmd);
  938. extern int  w32_system_winvile(const char *cmd);
  939. extern void *winvile_hwnd(void);
  940. #endif
  941.  
  942. /* watchfd.c */
  943. extern int watchfd(int fd, WATCHTYPE type, char *callback);
  944. extern void unwatchfd(int fd);
  945. extern void dowatchcallback(int fd);
  946.  
  947. /* window.c */
  948. extern WINDOW * wpopup (void);
  949. extern int delwp (WINDOW *thewp);
  950. extern int set_curwp (WINDOW *wp);
  951. extern void copy_traits (W_TRAITS *dst, W_TRAITS *src);
  952. extern void shrinkwrap (void);
  953. extern void winit (int screen);
  954.  
  955. #if OPT_EVAL
  956. extern int getwpos (void);
  957. #endif
  958.  
  959. #if SMALLER    /* cancel neproto.h */
  960. extern int reposition (int f, int n);
  961. extern int resize (int f, int n);
  962. #endif
  963.  
  964. #if OPT_SEL_YANK || OPT_PERL
  965. extern WINDOW * push_fake_win(BUFFER *bp);
  966. extern BUFFER * pop_fake_win(WINDOW *oldwp);
  967. #endif
  968.  
  969. /* word.c */
  970. extern const char * token (const char *src, char *tok, int eolchar);
  971. extern const char * tokval (const char *tokn);
  972. extern int ffgetline (int *lenp);
  973. extern int formatregion (void);
  974. extern int isendviwordf (void);
  975. extern int isendwordf (void);
  976. extern int isnewviwordb (void);
  977. extern int isnewviwordf (void);
  978. extern int isnewwordb (void);
  979. extern int isnewwordf (void);
  980. extern int joinregion (void);
  981. extern int macarg (char *tok);
  982. extern int macliteralarg (TBUFF **tok);
  983. extern int macroize (TBUFF **p, TBUFF *src, int skip);
  984. extern int toktyp (const char *tokn);
  985. extern void fmatch (int rch);
  986. extern void setchartype (void);
  987.  
  988. /* x11.c */
  989. #if DISP_X11
  990. extern    char *    x_current_fontname    (void);
  991. extern    char *    x_get_icon_name (void);
  992. extern    char *    x_get_window_name (void);
  993. extern    int    x_setfont        (const char *fname);
  994. extern    int    x_typahead        (int milli);
  995. extern    void    x_move_events        (void);
  996. extern    void    x_preparse_args        (int *pargc, char ***pargv);
  997. extern    void    x_set_icon_name (const char *name);
  998. extern    void    x_set_window_name (const char *name);
  999.  
  1000. #if XTOOLKIT
  1001. extern    void    own_selection        (void);
  1002. #else    /* !XTOOLKIT */
  1003. extern    void    x_set_rv        (void);
  1004. extern    void    x_setname        (char *name);
  1005. extern    void    x_set_wm_title        (char *name);
  1006. extern    void    x_setforeground        (char *colorname);
  1007. extern    void    x_setbackground        (char *colorname);
  1008. extern  void    x_set_geometry        (char *g);
  1009. extern    void    x_set_dpy        (char *dn);
  1010. extern    int    x_key_events_ready    (void);
  1011. #endif    /* !XTOOKIT */
  1012.  
  1013. #if OPT_MENUS
  1014. extern    int    x_menu_height        (void);
  1015. #endif
  1016.  
  1017. #if OPT_MENUS_COLORED  
  1018. extern    int    x_menu_background    (void);
  1019. extern    int    x_menu_foreground    (void);
  1020. #endif /* OPT_MENUS_COLORED */
  1021.  
  1022. #if OPT_WORKING
  1023. extern    void    x_working        (void);
  1024. #endif
  1025.  
  1026. extern    int    gui_isprint        (int ch);
  1027. #endif    /* DISP_X11 */
  1028.  
  1029. #if DISP_X11 || DISP_NTWIN
  1030. extern    void    gui_resize        (int cols, int rows);
  1031. #endif
  1032.  
  1033. #if DISP_NTWIN
  1034. extern    void    gui_version(char *program);
  1035. extern    void    gui_usage(char *program, const char *const *options, size_t length);
  1036. #endif
  1037.  
  1038. #if OPT_SCROLLBARS
  1039. extern    void    gui_update_scrollbar    (WINDOW *uwp);
  1040. #endif
  1041.  
  1042. #if NO_LEAKS
  1043. extern    void    bind_leaks (void);
  1044. extern    void    bp_leaks (void);
  1045. extern    void    ev_leaks (void);
  1046. extern    void    itb_leaks (void);
  1047. extern    void    kbs_leaks (void);
  1048. extern    void    map_leaks (void);
  1049. extern    void    mode_leaks (void);
  1050. extern    void    onel_leaks (void);
  1051. extern    void    path_leaks (void);
  1052. extern    void    tags_leaks (void);
  1053. extern    void    tb_leaks (void);
  1054. extern    void    vt_leaks (void);
  1055. extern    void    wp_leaks (void);
  1056.  
  1057. #if DISP_X11
  1058. extern    void    x11_leaks        (void);
  1059. #endif
  1060.  
  1061. #endif /* NO_LEAKS */
  1062.  
  1063. #if SYS_UNIX
  1064. #if MISSING_EXTERN__FILBUF
  1065. extern    int    _filbuf    (FILE *fp);
  1066. #endif
  1067. #if MISSING_EXTERN__FLSBUF
  1068. extern    int    _flsbuf    (int n, FILE *fp);
  1069. #endif
  1070. #if MISSING_EXTERN_ACCESS
  1071. extern    int    access    (const char *path, int mode);
  1072. #endif
  1073. #if MISSING_EXTERN_ALARM
  1074. extern    UINT    alarm    (UINT secs);
  1075. #endif
  1076. #if MISSING_EXTERN_ATOI
  1077. extern int    atoi    (const char *s);
  1078. #endif
  1079. #if MISSING_EXTERN_BZERO
  1080. extern    void    bzero    (char *b, int n);
  1081. #endif
  1082. #if MISSING_EXTERN_CHDIR
  1083. extern    int    chdir    (const char *path);
  1084. #endif
  1085. #if MISSING_EXTERN_CLOSE
  1086. extern    int    close    (int fd);
  1087. #endif
  1088. #if MISSING_EXTERN_DUP
  1089. extern    int    dup    (int fd);
  1090. #endif
  1091. #if MISSING_EXTERN_EXECLP
  1092. extern    int    execlp    (const char *path, ...);
  1093. #endif
  1094. #if MISSING_EXTERN_FCLOSE
  1095. extern    int    fclose    (FILE *fp);
  1096. #endif
  1097. #if MISSING_EXTERN_FCLOSE
  1098. extern    int    fflush    (FILE *fp);
  1099. #endif
  1100. #if MISSING_EXTERN_FGETC
  1101. extern    int    fgetc    (FILE *fp);
  1102. #endif
  1103. #if MISSING_EXTERN_FILENO && !defined(fileno)
  1104. extern    int    fileno    (FILE *fp);
  1105. #endif
  1106. #if MISSING_EXTERN_FORK
  1107. extern    int    fork    (void);
  1108. #endif
  1109. #if MISSING_EXTERN_FPRINTF
  1110. extern    int    fprintf    (FILE *fp, const char *fmt, ...);
  1111. #endif
  1112. #if MISSING_EXTERN_FPUTC
  1113. extern    int    fputc    (int c, FILE *fp);
  1114. #endif
  1115. #if MISSING_EXTERN_FPUTS
  1116. extern    int    fputs    (const char *s, FILE *fp);
  1117. #endif
  1118. #if MISSING_EXTERN_FREAD
  1119. extern    int    fread    (char *ptr, SIZE_T size, SIZE_T nmemb, FILE *fp);
  1120. #endif
  1121. #if MISSING_EXTERN_FREE
  1122. extern void    free    (void *ptr);
  1123. #endif
  1124. #if MISSING_EXTERN_FSEEK
  1125. extern    int    fseek    (FILE *fp, long offset, int whence);
  1126. #endif
  1127. #if MISSING_EXTERN_FWRITE
  1128. extern    int    fwrite    (const char *ptr, SIZE_T size, SIZE_T nmemb, FILE *fp);
  1129. #endif
  1130. #if MISSING_EXTERN_GETCWD && HAVE_GETCWD
  1131. extern    char *    getcwd (char *buffer, int len);
  1132. #endif
  1133. #if MISSING_EXTERN_GETENV
  1134. extern    char *    getenv    (const char *name);
  1135. #endif
  1136. #if MISSING_EXTERN_GETPASS
  1137. extern    char *    getpass    (const char *prompt);
  1138. #endif
  1139. #if MISSING_EXTERN_GETHOSTNAME && HAVE_GETHOSTNAME
  1140. extern    int    gethostname (char *name, int len);
  1141. #endif
  1142. #if MISSING_EXTERN_GETPGRP
  1143. extern    int    getpgrp    (int pid);
  1144. #endif
  1145. #if MISSING_EXTERN_GETPID
  1146. extern    int    getpid    (void);
  1147. #endif
  1148. #if MISSING_EXTERN_GETUID
  1149. extern    int    getuid    (void);
  1150. #endif
  1151. #if MISSING_EXTERN_GETWD && HAVE_GETWD
  1152. extern    char *    getwd    (char *buffer);
  1153. #endif
  1154. #if MISSING_EXTERN_IOCTL
  1155. extern    int    ioctl    (int fd, ULONG mask, caddr_t ptr);
  1156. #endif
  1157. #if MISSING_EXTERN_ISATTY
  1158. extern    int    isatty    (int fd);
  1159. #endif
  1160. #if MISSING_EXTERN_KILL
  1161. extern    int    kill    (int pid, int sig);
  1162. #endif
  1163. #if MISSING_EXTERN_KILLPG && HAVE_KILLPG
  1164. extern    int    killpg    (int pgrp, int sig);
  1165. #endif
  1166. #if MISSING_EXTERN_LINK && HAVE_LINK
  1167. extern    int    link    (const char *, const char *);
  1168. #endif
  1169. #if MISSING_EXTERN_LONGJMP
  1170. extern    void    longjmp    (jmp_buf env, int val);
  1171. #endif
  1172. #if MISSING_EXTERN_LSTAT
  1173. extern    int    lstat (const char *path, struct stat *sb);
  1174. #endif
  1175. #if MISSING_EXTERN_MEMSET
  1176. extern    void *    memset    (void *dst, int ch, size_t n);
  1177. #endif
  1178. #if MISSING_EXTERN_MKDIR && HAVE_MKDIR
  1179. extern    int    mkdir    (const char *path, int mode);
  1180. #endif
  1181. #if MISSING_EXTERN_MKTEMP
  1182. extern    char *    mktemp (char *template);
  1183. #endif
  1184. #if MISSING_EXTERN_OPEN
  1185. extern    int    open    (char *path, int flags);
  1186. #endif
  1187. #if MISSING_EXTERN_PERROR
  1188. extern    void    perror    (const char *s);
  1189. #endif
  1190. #if MISSING_EXTERN_PIPE
  1191. extern    int    pipe    (int filedes[2]);
  1192. #endif
  1193. #if MISSING_EXTERN_PRINTF
  1194. extern    int    printf    (const char *fmt, ...);
  1195. #endif
  1196. #if MISSING_EXTERN_PUTS
  1197. extern    int    puts    (const char *s);
  1198. #endif
  1199. #if MISSING_EXTERN_QSORT
  1200. #if ANSI_QSORT
  1201. extern void qsort (void *base, size_t nmemb, size_t size, int (*compar)(const void *a, const void *b);
  1202. #else
  1203. extern void qsort (void *base, size_t nmemb, size_t size, int (*compar)(char **a, char **b);
  1204. #endif
  1205. #endif
  1206. #if MISSING_EXTERN_READ
  1207. extern    int    read    (int fd, char *buffer, SIZE_T size);
  1208. #endif
  1209. #if MISSING_EXTERN_READLINK
  1210. extern    int    readlink (const char *path, char *buffer, size_t size);
  1211. #endif
  1212. #if MISSING_EXTERN_SELECT && HAVE_SELECT
  1213. extern    int    select    (int numfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
  1214. #endif
  1215. #if MISSING_EXTERN_SETBUF
  1216. extern    void    setbuf    (FILE *fp, char *buffer);
  1217. #endif
  1218. #if MISSING_EXTERN_SETBUFFER
  1219. extern    void    setbuffer (FILE *fp, char *buffer, int size);
  1220. #endif
  1221. #if MISSING_EXTERN_SETITIMER && HAVE_SETITIMER
  1222. extern    int    setitimer (int which, const struct itimerval *value, struct itimerval *ovalue);
  1223. #endif
  1224. #if MISSING_EXTERN_SETJMP && !defined(setjmp)
  1225. extern    int    setjmp    (jmp_buf env);
  1226. #endif
  1227. #if MISSING_EXTERN_SETPGRP
  1228. #if SETPGRP_VOID
  1229. extern    pid_t    setpgrp    (void);
  1230. #else
  1231. extern    int    setpgrp    (int pid, int pgid);
  1232. #endif
  1233. #endif
  1234. #if MISSING_EXTERN_SETSID
  1235. extern    pid_t    setsid    (void);
  1236. #endif
  1237. #if MISSING_EXTERN_SETVBUF
  1238. #if SETVBUF_REVERSED
  1239. extern    int    setvbuf (FILE *fp, int mode, char *buffer, size_t size);
  1240. #else
  1241. extern    int    setvbuf (FILE *fp, char *buffer, int mode, size_t size);
  1242. #endif
  1243. #endif
  1244. #if MISSING_EXTERN_SLEEP
  1245. extern    int    sleep    (UINT secs);
  1246. #endif
  1247. #if MISSING_EXTERN_SSCANF
  1248. extern    int    sscanf    (const char *src, const char *fmt, ...);
  1249. #endif
  1250. #if MISSING_EXTERN_STRERROR
  1251. extern    char *    strerror (int code);
  1252. #endif
  1253. #if MISSING_EXTERN_STRTOL
  1254. extern    long    strtol    (const char *nptr, char **endptr, int base);
  1255. #endif
  1256. #if MISSING_EXTERN_SYSTEM
  1257. extern    int    system    (const char *cmd);
  1258. #endif
  1259. #if MISSING_EXTERN_TIME
  1260. extern    time_t    time    (time_t *t);
  1261. #endif
  1262. #if MISSING_EXTERN_UNLINK
  1263. extern    int    unlink    (char *path);
  1264. #endif
  1265. #if MISSING_EXTERN_UTIME && HAVE_UTIME
  1266. extern    int    utime    (const char *path, const struct utimbuf *t);
  1267. #endif
  1268. #if MISSING_EXTERN_UTIMES && HAVE_UTIMES
  1269. extern    int    utimes    (const char *path, struct timeval *t);
  1270. #endif
  1271. #if MISSING_EXTERN_WAIT
  1272. extern    int    wait    (int *sb);
  1273. #endif
  1274. #if MISSING_EXTERN_WRITE
  1275. extern    int    write    (int fd, const char *buffer, int size);
  1276. #endif
  1277. #endif
  1278.  
  1279. #ifdef __cplusplus
  1280. }
  1281. #endif
  1282.  
  1283. #endif /* VILE_PROTO_H */
  1284.