Merge branch 'ical'
[alpine.git] / pico / efunc.h
blob2e6e0490b2649eb7a080e932f0190d870d466152
1 /*
2 * $Id: efunc.h 807 2007-11-09 01:21:33Z hubert@u.washington.edu $
4 * ========================================================================
5 * Copyright 2006-2007 University of Washington
6 * Copyright 2013-2017 Eduardo Chappa
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * ========================================================================
16 * Program: Pine's composer and pico's function declarations
19 /* EFUNC.H: MicroEMACS function declarations and names
21 This file list all the C code functions used by MicroEMACS
22 and the names to use to bind keys to them. To add functions,
23 declare it here in both the extern function list and the name
24 binding table.
26 Update History:
28 Daniel Lawrence
31 #ifndef EFUNC_H
32 #define EFUNC_H
35 /* External function declarations */
36 /* attach.c */
37 extern int AskAttach(char *, size_t, LMLIST **);
38 extern int SyncAttach(void);
39 extern int intag(UCS *, int);
40 extern char *prettysz(off_t);
41 extern int AttachError(void);
42 extern char *QuoteAttach(char *, size_t);
43 extern int getccol(int);
45 /* basic.c */
46 extern int gotobol(int, int);
47 extern int backchar(int, int);
48 extern int gotoeol(int, int);
49 extern int forwchar(int, int);
50 extern int gotoline(int, int);
51 extern int gotobob(int, int);
52 extern int gotoeob(int, int);
53 extern int forwline(int, int);
54 extern int backline(int, int);
55 extern int gotobop(int, int);
56 extern int gotoeop(int, int);
57 extern int forwpage(int, int);
58 extern int backpage(int, int);
59 extern int scrollupline(int, int);
60 extern int scrolldownline(int, int);
61 extern int scrollto(int, int);
62 extern int setmark(int, int);
63 extern int swapmark(int, int);
64 extern int setimark(int, int);
65 extern int swapimark(int, int);
66 extern int mousepress(int, int);
67 extern int toggle_xterm_mouse(int, int);
68 extern void swap_mark_and_dot_if_mark_comes_first(void);
69 extern int backchar_no_header_editor(int, int);
70 extern int getgoal(struct LINE *);
72 /* bind.c */
73 extern UCS normalize_cmd(UCS c, UCS list[][2], int sc);
74 extern int whelp(int, int);
75 extern int wscrollw(int, int, char **, int);
76 extern int normal(int, int (*)[2], int);
77 extern void rebindfunc(int (*)(int, int),int (*)(int, int));
78 extern int bindtokey(UCS c, int (*f)(int, int));
80 /* browse.c */
81 extern int FileBrowse(char *, size_t, char *, size_t, char *, size_t, int, LMLIST **);
82 extern int ResizeBrowser(void);
83 extern void set_browser_title(char *);
84 extern void zotlmlist(LMLIST *);
85 extern int time_to_check(void);
86 extern int LikelyASCII(char *);
88 /* buffer.c */
89 extern int anycb(void);
90 extern struct BUFFER *bfind(char *, int, int);
91 extern int bclear(struct BUFFER *);
92 extern int packbuf(char **, int *, int);
93 extern void readbuf(char **);
95 /* composer.c */
96 extern int InitMailHeader(struct pico_struct *);
97 extern int ResizeHeader(void);
98 extern int HeaderEditor(int, int);
99 extern void PaintHeader(int, int);
100 extern void ArrangeHeader(void);
101 extern int ToggleHeader(int);
102 extern int HeaderLen(void);
103 extern int UpdateHeader(int);
104 extern int entry_line(int, int);
105 extern int call_builder(struct headerentry *, int *, char **);
106 extern void call_expander(void);
107 extern void ShowPrompt(void);
108 extern int packheader(void);
109 extern void zotheader(void);
110 extern void display_for_send(void);
111 extern VARS_TO_SAVE *save_pico_state(void);
112 extern void restore_pico_state(VARS_TO_SAVE *);
113 extern void free_pico_state(VARS_TO_SAVE *);
114 extern void HeaderPaintCursor(void);
115 extern void PaintBody(int);
116 extern int AppendAttachment(char *, char *, char *);
118 /* display.c */
119 extern int vtinit(void);
120 extern int vtterminalinfo(int);
121 extern void vttidy(void);
122 extern void update(void);
123 extern void modeline(struct WINDOW *);
124 extern void movecursor(int, int);
125 extern void clearcursor(void);
126 extern void mlerase(void);
127 extern char *speller_choice(char **, int *);
128 extern int mlchoose(UCS *, EXTRAKEYS *);
129 extern int mlyesno_utf8(char *, int);
130 extern int mlyesno(UCS *, int);
131 extern int mlreply_utf8(char *, char *, int, int, EXTRAKEYS *);
132 extern int mlreply(UCS *, UCS *, int, int, EXTRAKEYS *);
133 extern int mlreplyd_utf8(char *, char *, int, int, EXTRAKEYS *);
134 extern int mlreplyd(UCS *, UCS *, int, int, EXTRAKEYS *);
135 extern int mlwrite_utf8(char *, void *);
136 extern int mlwrite(UCS *, void *);
137 extern void emlwwrite(char *, EML *);
138 extern void emlwrite(char *, EML *);
139 extern void emlwrite_ucs4(UCS *, EML *);
140 extern void unknown_command(UCS);
141 extern void scrolldown(struct WINDOW *, int, int);
142 extern void scrollup(struct WINDOW *, int, int);
143 extern int doton(int *, unsigned int *);
144 extern int resize_pico(int, int);
145 extern void zotdisplay(void);
146 extern void pputc(UCS c, int a);
147 extern void pputs(UCS *s, int a);
148 extern void pputs_utf8(char *s, int a);
149 extern void peeol(void);
150 extern CELL *pscr(int, int);
151 extern void pclear(int, int);
152 extern int pinsert(CELL);
153 extern int pdel(void);
154 extern void wstripe(int, int, char *, int);
155 extern void wkeyhelp(KEYMENU *);
156 extern void get_cursor(int *, int *);
157 extern unsigned vcellwidth_a_to_b(int row, int a, int b);
158 extern int index_from_col(int row, int col);
160 /* file.c */
161 extern int fileread(int, int);
162 extern int insfile(int, int);
163 extern int readin(char *, int, int);
164 extern int filewrite(int, int);
165 extern int filesave(int, int);
166 extern int writeout(char *, int);
167 extern char *writetmp(int, char *);
168 extern int filename(int, int);
169 extern int in_oper_tree(char *);
170 extern int ifile(char *);
172 /* fileio.c */
173 extern int ffropen(char *);
174 extern int ffputline(CELL *, int);
175 extern int ffgetline(UCS *, size_t, size_t *, int);
177 /* line.c */
178 extern struct LINE *lalloc(int used);
179 extern void lfree(struct LINE *);
180 extern void lchange(int);
181 extern int linsert(int n, UCS c);
182 extern int geninsert(LINE **dotp, int *doto, LINE *linep, UCS c, int attb, int n, long *lines);
183 extern int lnewline(void);
184 extern int ldelete(long, int (*)(UCS));
185 extern int lisblank(struct LINE *);
186 extern void kdelete(void);
187 extern int kinsert(UCS);
188 extern long kremove(int);
189 extern int ksize(void);
190 extern void fdelete(void);
191 extern int finsert(UCS);
192 extern long fremove(int);
193 extern void set_last_region_added(REGION *);
194 extern REGION *get_last_region_added(void);
196 /* os.c */
197 extern int o_insert(UCS);
198 extern int o_delete(void);
200 /* pico.c */
201 extern int pico(struct pico_struct *pm);
202 extern void edinit(char *);
203 extern int execute(UCS c, int f, int n);
204 extern int quickexit(int, int);
205 extern int abort_composer(int, int);
206 extern int suspend_composer(int, int);
207 extern int wquit(int, int);
208 extern int ctrlg(int, int);
209 extern int rdonly(void);
210 extern int pico_help(char **, char *, int);
211 extern void zotedit(void);
212 #ifdef _WINDOWS
213 int composer_file_drop(int, int, char *);
214 int pico_cursor(int, long);
215 #endif
217 /* random.c */
218 extern int showcpos(int, int);
219 extern int tab(int, int);
220 extern int newline(int, int);
221 extern int forwdel(int, int);
222 extern int backdel(int, int);
223 extern int killtext(int, int);
224 extern int yank(int, int);
226 /* region.c */
227 extern int killregion(int, int);
228 extern int deleteregion(int, int);
229 extern int markregion(int);
230 extern int getregion(REGION *, LINE *, int);
231 extern void unmarkbuffer(void);
233 /* search.c */
234 extern int forwsearch(int, int);
235 extern int readpattern(char *, int, int);
236 extern int forscan(int *, UCS *, int, LINE *, int, int);
237 extern void chword(UCS *, UCS *, int);
239 /* spell.c */
240 #ifdef SPELLER
241 extern int spell(int, int);
242 #endif
244 /* window.c */
245 extern int pico_refresh(int, int);
246 extern void redraw_pico_for_callback(void);
248 /* word.c */
249 extern int wrapword(void);
250 extern int backword(int, int);
251 extern int forwword(int, int);
252 extern int fillpara(int, int);
253 extern int fillbuf(int, int);
254 extern int inword(void);
255 extern int quote_match(UCS *, LINE *, UCS *, size_t);
256 extern int ucs4_isalnum(UCS);
257 extern int ucs4_isalpha(UCS);
258 extern int ucs4_isspace(UCS);
259 extern int ucs4_ispunct(UCS);
261 #endif /* EFUNC_H */