home *** CD-ROM | disk | FTP | other *** search
/ vsiftp.vmssoftware.com / VSIPUBLIC@vsiftp.vmssoftware.com.tar / FREEWARE / FREEWARE40.ZIP / pine / pico / efunc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-06  |  16.0 KB  |  478 lines

  1. /*
  2.  * $Id: efunc.h,v 4.6 1993/11/08 23:10:36 mikes Exp $
  3.  *
  4.  * Program:    Pine's composer and pico's function declarations
  5.  *
  6.  *
  7.  * Michael Seibel
  8.  * Networks and Distributed Computing
  9.  * Computing and Communications
  10.  * University of Washington
  11.  * Administration Builiding, AG-44
  12.  * Seattle, Washington, 98195, USA
  13.  * Internet: mikes@cac.washington.edu
  14.  *
  15.  * Please address all bugs and comments to "pine-bugs@cac.washington.edu"
  16.  *
  17.  * Copyright 1991-1993  University of Washington
  18.  *
  19.  *  Permission to use, copy, modify, and distribute this software and its
  20.  * documentation for any purpose and without fee to the University of
  21.  * Washington is hereby granted, provided that the above copyright notice
  22.  * appears in all copies and that both the above copyright notice and this
  23.  * permission notice appear in supporting documentation, and that the name
  24.  * of the University of Washington not be used in advertising or publicity
  25.  * pertaining to distribution of the software without specific, written
  26.  * prior permission.  This software is made available "as is", and
  27.  * THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
  28.  * WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
  29.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN
  30.  * NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL,
  31.  * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
  32.  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT
  33.  * (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION
  34.  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  35.  *
  36.  * Pine and Pico are trademarks of the University of Washington.
  37.  * No commercial use of these trademarks may be made without prior
  38.  * written permission of the University of Washington.
  39.  *
  40.  */
  41. /*    EFUNC.H:    MicroEMACS function declarations and names
  42.  
  43.         This file list all the C code functions used by MicroEMACS
  44.     and the names to use to bind keys to them. To add functions,
  45.     declare it here in both the extern function list and the name
  46.     binding table.
  47.  
  48.     Update History:
  49.  
  50.     Daniel Lawrence
  51. */
  52.  
  53. #ifndef    EFUNC_H
  54. #define    EFUNC_H
  55.  
  56.  
  57. /*    External function declarations        */
  58. #ifdef    ANSI
  59. /* attach.c */
  60. extern    int AskAttach(char *, char *, char *);
  61. extern    int SyncAttach(void);
  62. extern    int intag(char *, int);
  63. extern    char *prettysz(long);
  64. extern  int AttachError(void);
  65.  
  66. /* basic.c */
  67. extern    int gotobol(int, int);
  68. extern    int call_backchar(int, int);
  69. extern    int gotoeol(int, int);
  70. extern    int call_forwchar(int, int);
  71. extern    int gotoline(int, int);
  72. extern    int gotobob(int, int);
  73. extern    int gotoeob(int, int);
  74. extern    int forwline(int, int);
  75. extern    int backline(int, int);
  76. extern    int gotobop(int, int);
  77. extern    int gotoeop(int, int);
  78. extern    int forwpage(int, int);
  79. extern    int backpage(int, int);
  80. extern    int setmark(int, int);
  81. extern    int swapmark(int, int);
  82. extern    int setimark(int, int);
  83. extern    int swapimark(int, int);
  84.  
  85. /* bind.c */
  86. extern    int whelp(int, int);
  87. extern    int wscrollw(int, int, char **,int);
  88. extern    int normal(int, int (*)[2],int);
  89. extern    int rebindfunc(int (*a)(int, int),int (*)(int, int));
  90.  
  91. /* browse.c */
  92. extern    int FileBrowse(char *, char *, char *);
  93. extern    int ResizeBrowser(void);
  94.  
  95. /* buffer.c */
  96. extern    int anycb(void);
  97. extern    struct BUFFER *bfind(char *, int, int);
  98. extern    int bclear(struct BUFFER *);
  99. extern    int packbuf(char **, int *, int);
  100. extern    int readbuf(char **);
  101.  
  102. /* composer.c */
  103. extern    int InitMailHeader(struct pico_struct *);
  104. extern    int ResizeHeader(void);
  105. extern    int HeaderEditor(int, int);
  106. extern    void PaintHeader(int, int);
  107. extern    int ArrangeHeader(void);
  108. extern    int ToggleHeader(int);
  109. extern    int HeaderLen(void);
  110. static    struct hdr_line *next_line(int *, struct hdr_line *);
  111. static    struct hdr_line *prev_line(int *, struct hdr_line *);
  112. extern    int UpdateHeader(void);
  113. extern    int entry_line(int, int);
  114. extern    int resolve_niks(int);
  115. extern    int ShowPrompt(void);
  116. extern    int packheader(void);
  117. extern    int zotheader(void);
  118.  
  119. /* display.c */
  120. extern    int vtinit(void);
  121. extern    int vttidy(void);
  122. extern    int update(void);
  123. extern    int modeline(struct WINDOW *);
  124. extern    int movecursor(int, int);
  125. extern    int mlerase(void);
  126. extern    int mlyesno(char *, int);
  127. extern    int mlreply(char *, char *, int, int);
  128. extern    int mlreplyd(char *, char *, int, int);
  129. extern    void emlwrite(char *, void *);
  130. extern    int mlwrite(char *, void *);
  131. extern    int scrolldown(struct WINDOW *, int, int);
  132. extern    int scrollup(struct WINDOW *, int, int);
  133. extern    int pprints(int, int);
  134. extern    int doton(int *, unsigned int *);
  135. extern    int resize_pico(int, int);
  136. extern    int zotdisplay(void);
  137. extern    int pputc(int, int);
  138. extern    int pputs(char *, int);
  139. extern    int peeol(void);
  140. extern    CELL *pscr(int, int);
  141. extern    int pclear(int, int);
  142. extern    int pinsert(CELL);
  143. extern    int pdel(void);
  144. extern    void wstripe(int, int, char *, int);
  145. extern    int wkeyhelp(char *, char *);
  146.  
  147. /* file.c */
  148. extern    int fileread(int, int);
  149. extern    int insfile(int, int);
  150. extern    int readin(char *, int);
  151. extern    int filewrite(int, int);
  152. extern    int filesave(int, int);
  153. extern    int writeout(char *);
  154. extern    char *writetmp(int, int);
  155. extern    int filename(int, int);
  156.  
  157. /* fileio.c */
  158. extern    int ffropen(char *);
  159. extern    int ffputline(CELL *, int);
  160. extern    int ffgetline(char *, int);
  161.  
  162. /* line.c */
  163. extern    struct LINE *lalloc(int);
  164. extern    int lfree(struct LINE *);
  165. extern    int lchange(int);
  166. extern    int linsert(int, int);
  167. extern    int geninsert(LINE **, short *, LINE *, int, int, int);
  168. extern    int lnewline(void);
  169. extern    int ldelete(int, int);
  170. extern    int kdelete(void);
  171. extern    int kinsert(int);
  172. extern    int kremove(int);
  173. #ifdef HEBREW
  174. extern int      toggle_language(void);      /* toggle between Hebrew/English*/
  175. extern int      toggle_ed(void);      /* toggle between Hebrew/English*/
  176. #endif
  177.  
  178. /* osdep.c */
  179. extern    int ttopen(void);
  180. extern    int ttclose(void);
  181. extern    int ttisslow(void);
  182. extern    int ttputc(int);
  183. extern    int ttflush(void);
  184. extern    int ttgetc(void);
  185. extern    int ttgetwinsz(void);
  186. extern    int GetKey(void);
  187. #ifdef    JOB_CONTROL
  188. extern    int alt_editor(int, int);
  189. extern    int bktoshell(void);
  190. #endif
  191. extern    int fallowc(int);
  192. extern    int fexist(char *, char *, long *);
  193. extern    int isdir(char *, long *);
  194. extern    char *gethomedir(int *);
  195. extern    int homeless(char *);
  196. extern    char *errstr(int);
  197. extern    char *getfnames(char *, int *);
  198. extern    void fioperr(int, char *);
  199. extern    int fixpath(char *, int);
  200. extern    int compresspath(char *, char *, int);
  201. extern    void tmpname(char *);
  202. extern    void makename(char *, char *);
  203. extern    int copy(char *, char *);
  204. extern    int ffwopen(char *);
  205. extern    int ffclose(void);
  206. extern    FILE *P_open(char *);
  207. extern    int P_close(FILE *);
  208. extern    int worthit(int *);
  209. extern    int o_insert(char);
  210. extern    int o_delete(void);
  211. extern    int pico_new_mail(void);
  212. extern    int time_to_check(void);
  213. extern    int sstrcasecmp(const void *, const void *);
  214. #ifdef    DOS
  215. extern    int register_mfunc(unsigned long (*)(int,int,int),int,int,int,int);
  216. extern    void clear_mfunc(void);
  217. extern    unsigned long pico_mouse(int, int, int);
  218. #endif
  219.  
  220. /* pico.c */
  221. extern    int pico(struct pico_struct *);
  222. extern    int edinit(char *);
  223. extern    int execute(int, int, int);
  224. extern    int quickexit(int, int);
  225. extern    int abort_composer(int, int);
  226. extern    int suspend_composer(int, int);
  227. extern    int wquit(int, int);
  228. extern    int ctrlg(int, int);
  229. extern    int rdonly(void);
  230. extern    int pico_help(char **, char *, int);
  231. extern    int zotedit(void);
  232.  
  233. /* random.c */
  234. extern    int setfillcol(int, int);
  235. extern    int showcpos(int, int);
  236. extern    int tab(int, int);
  237. extern    int newline(int, int);
  238. extern    int forwdel(int, int);
  239. extern    int backdel(int, int);
  240. extern    int killtext(int, int);
  241. extern    int yank(int, int);
  242.  
  243. /* region.c */
  244. extern    int killregion(int, int);
  245. extern    int markregion(int);
  246.  
  247. /* search.c */
  248. extern    int forwsearch(int, int);
  249. extern    int readpattern(char *);
  250. extern    int forscan(int *, char *, int);
  251.  
  252. /* spell.c */
  253. #ifdef    SPELLER
  254. extern    int spell(int, int);
  255. #endif
  256.  
  257. /* window.c */
  258. extern    int refresh(int, int);
  259.  
  260. /* word.c */
  261. extern    int wrapword(void);
  262. extern    int backword(int, int);
  263. extern    int forwword(int, int);
  264. extern    int fillpara(int, int);
  265. extern    int inword(void);
  266.  
  267. #else
  268. /* attach.c */
  269. extern    int AskAttach();
  270. extern    int SyncAttach();
  271. extern    int intag();
  272. extern    char *prettysz();
  273. extern  int AttachError();
  274.  
  275. /* basic.c */
  276. extern    int gotobol();
  277. extern    int call_backchar();
  278. extern    int gotoeol();
  279. extern    int call_forwchar();
  280. extern    int gotoline();
  281. extern    int gotobob();
  282. extern    int gotoeob();
  283. extern    int forwline();
  284. extern    int backline();
  285. extern    int gotobop();
  286. extern    int gotoeop();
  287. extern    int forwpage();
  288. extern    int backpage();
  289. extern    int setmark();
  290. extern    int swapmark();
  291. extern    int setimark();
  292. extern    int swapimark();
  293.  
  294. /* bind.c */
  295. extern    int whelp();
  296. extern    int wscrollw();
  297. extern    int normal();
  298. extern    int rebindfunc();
  299.  
  300. /* browse.c */
  301. extern    int FileBrowse();
  302. extern    int ResizeBrowser();
  303.  
  304. /* buffer.c */
  305. extern    int anycb();
  306. extern    struct BUFFER *bfind();
  307. extern    int bclear();
  308. extern    int packbuf();
  309. extern    int readbuf();
  310.  
  311. /* composer.c */
  312. extern    int InitMailHeader();
  313. extern    int ResizeHeader();
  314. extern    int HeaderEditor();
  315. extern    void PaintHeader();
  316. extern    int ArrangeHeader();
  317. extern    int ToggleHeader();
  318. extern    int HeaderLen();
  319. static    struct hdr_line *next_line();
  320. static    struct hdr_line *prev_line();
  321. extern    int UpdateHeader();
  322. extern    int entry_line();
  323. extern    int resolve_niks();
  324. extern    int ShowPrompt();
  325. extern    int packheader();
  326. extern    int zotheader();
  327.  
  328. /* display.c */
  329. extern    int vtinit();
  330. extern    int vttidy();
  331. extern    int update();
  332. extern    int modeline();
  333. extern    int movecursor();
  334. extern    int mlerase();
  335. extern    int mlyesno();
  336. extern    int mlreply();
  337. extern    int mlreplyd();
  338. extern    void emlwrite();
  339. extern    int mlwrite();
  340. extern    int scrolldown();
  341. extern    int scrollup();
  342. extern    int pprints();
  343. extern    int doton();
  344. extern    int resize_pico();
  345. extern    int zotdisplay();
  346. extern    int pputc();
  347. extern    int pputs();
  348. extern    int peeol();
  349. extern    CELL *pscr();
  350. extern    int pclear();
  351. extern    int pinsert();
  352. extern    int pdel();
  353. extern    void wstripe();
  354. extern    int wkeyhelp();
  355.  
  356. /* file.c */
  357. extern    int fileread();
  358. extern    int insfile();
  359. extern    int readin();
  360. extern    int filewrite();
  361. extern    int filesave();
  362. extern    int writeout();
  363. extern    char *writetmp();
  364. extern    int filename();
  365.  
  366. /* fileio.c */
  367. extern    int ffropen();
  368. extern    int ffputline();
  369. extern    int ffgetline();
  370.  
  371. /* line.c */
  372. extern    struct LINE *lalloc();
  373. extern    int lfree();
  374. extern    int lchange();
  375. extern    int linsert();
  376. extern    int geninsert();
  377. extern    int lnewline();
  378. extern    int ldelete();
  379. extern    int kdelete();
  380. extern    int kinsert();
  381. extern    int kremove();
  382. #ifdef HEBREW
  383. extern int  toggle_language(); 
  384. extern int  toggle_ed();
  385. #endif
  386.  
  387. /* osdep.c */
  388. extern    int ttopen();
  389. extern    int ttclose();
  390. extern    int ttisslow();
  391. extern    int ttputc();
  392. extern    int ttflush();
  393. extern    int ttgetc();
  394. extern    int ttgetwinsz();
  395. extern    int GetKey();
  396. #ifdef    JOB_CONTROL
  397. extern    int alt_editor();
  398. extern    int bktoshell();
  399. #endif
  400. extern    int fallowc();
  401. extern    int fexist();
  402. extern    int isdir();
  403. extern    char *gethomedir();
  404. extern    int homeless();
  405. extern    char *errstr();
  406. extern    char *getfnames();
  407. extern    void fioperr();
  408. extern    int fixpath();
  409. extern    int compresspath();
  410. extern    void tmpname();
  411. extern    void makename();
  412. extern    int copy();
  413. extern    int ffwopen();
  414. extern    int ffclose();
  415. extern    FILE *P_open();
  416. extern    int P_close();
  417. extern    int worthit();
  418. extern    int o_insert();
  419. extern    int o_delete();
  420. extern    int pico_new_mail();
  421. extern    int time_to_check();
  422. extern    int sstrcasecmp();
  423. #ifdef    DOS
  424. extern    int register_mfunc();
  425. extern    void clear_mfunc();
  426. extern    unsigned long pico_mouse();
  427. #endif
  428.  
  429. /* pico.c */
  430. extern    int pico();
  431. extern    int edinit();
  432. extern    int execute();
  433. extern    int quickexit();
  434. extern    int abort_composer();
  435. extern    int suspend_composer();
  436. extern    int wquit();
  437. extern    int ctrlg();
  438. extern    int rdonly();
  439. extern    int pico_help();
  440. extern    int zotedit();
  441.  
  442. /* random.c */
  443. extern    int setfillcol();
  444. extern    int showcpos();
  445. extern    int tab();
  446. extern    int newline();
  447. extern    int forwdel();
  448. extern    int backdel();
  449. extern    int killtext();
  450. extern    int yank();
  451.  
  452. /* region.c */
  453. extern    int killregion();
  454. extern    int markregion();
  455.  
  456. /* search.c */
  457. extern    int forwsearch();
  458. extern    int readpattern();
  459. extern    int forscan();
  460.  
  461. /* spell.c */
  462. #ifdef    SPELLER
  463. extern    int spell();
  464. #endif
  465.  
  466. /* window.c */
  467. extern    int refresh();
  468.  
  469. /* word.c */
  470. extern    int wrapword();
  471. extern    int backword();
  472. extern    int forwword();
  473. extern    int fillpara();
  474. extern    int inword();
  475.  
  476. #endif    /* ANSI */
  477. #endif    /* EFUNC_H */