Fix some more windowlist glitches
[screen-lua.git] / src / extern.h
blob8cc9a516f751569804e9a2107c47728521d312e1
1 /* Copyright (c) 1993-2002
2 * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
3 * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
4 * Copyright (c) 1987 Oliver Laumann
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
9 * any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program (see the file COPYING); if not, write to the
18 * Free Software Foundation, Inc.,
19 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
21 ****************************************************************
22 * $Id$ FAU
25 #if !defined(__GNUC__) || __GNUC__ < 2
26 #undef __attribute__
27 #define __attribute__(x)
28 #endif
30 /* screen.c */
31 extern int main __P((int, char **));
32 extern sigret_t SigHup __P(SIGPROTOARG);
33 extern void eexit __P((int));
34 extern void Detach __P((int));
35 extern void Hangup __P((void));
36 extern void Kill __P((int, int));
37 #ifdef USEVARARGS
38 extern void Msg __P((int, char *, ...)) __attribute__((format(printf, 2, 3)));
39 extern void Panic __P((int, char *, ...)) __attribute__((format(printf, 2, 3)));
40 #else
41 extern void Msg __P(());
42 extern void Panic __P(());
43 #endif
44 extern void Finit __P((int));
45 extern void MakeNewEnv __P((void));
46 extern char *MakeWinMsg __P((char *, struct win *, int));
47 extern char *MakeWinMsgEv __P((char *, struct win *, int, int, struct event *, int));
48 extern void PutWinMsg __P((char *, int, int));
49 extern void WindowDied __P((struct win *, int, int));
50 extern void setbacktick __P((int, int, int, char **));
52 /* ansi.c */
53 extern void ResetAnsiState __P((struct win *));
54 extern void ResetWindow __P((struct win *));
55 extern void ResetCharsets __P((struct win *));
56 extern void WriteString __P((struct win *, char *, int));
57 extern void ChangeAKA __P((struct win *, char *, int));
58 extern void SetCharsets __P((struct win *, char *));
59 extern int GetAnsiStatus __P((struct win *, char *));
60 extern void WNewAutoFlow __P((struct win *, int));
61 extern void WBell __P((struct win *, int));
62 extern void WMsg __P((struct win *, int, char *));
63 extern void WChangeSize __P((struct win *, int, int));
64 extern void WindowChanged __P((struct win *, int));
65 extern int MFindUsedLine __P((struct win *, int, int));
67 /* fileio.c */
68 extern int StartRc __P((char *, int));
69 extern void FinishRc __P((char *));
70 extern void RcLine __P((char *, int));
71 extern FILE *secfopen __P((char *, char *));
72 extern int secopen __P((char *, int, int));
73 extern void WriteFile __P((struct acluser *, char *, int));
74 extern char *ReadFile __P((char *, int *));
75 extern void KillBuffers __P((void));
76 extern int printpipe __P((struct win *, char *));
77 extern int readpipe __P((char **));
78 extern void RunBlanker __P((char **));
79 extern void do_source __P((char *));
81 /* tty.c */
82 extern int OpenTTY __P((char *, char *));
83 extern void InitTTY __P((struct mode *, int));
84 extern void GetTTY __P((int, struct mode *));
85 extern void SetTTY __P((int, struct mode *));
86 extern void SetMode __P((struct mode *, struct mode *, int, int));
87 extern void SetFlow __P((int));
88 extern void SendBreak __P((struct win *, int, int));
89 extern int TtyGrabConsole __P((int, int, char *));
90 extern char *TtyGetModemStatus __P((int, char *));
91 #ifdef DEBUG
92 extern void DebugTTY __P((struct mode *));
93 #endif /* DEBUG */
94 extern int fgtty __P((int));
95 extern void brktty __P((int));
96 extern struct baud_values *lookup_baud __P((int bps));
97 extern int SetBaud __P((struct mode *, int, int));
98 extern int SttyMode __P((struct mode *, char *));
101 /* mark.c */
102 extern int GetHistory __P((void));
103 extern void MarkRoutine __P((void));
104 extern void revto_line __P((int, int, int));
105 extern void revto __P((int, int));
106 extern int InMark __P((void));
107 extern void MakePaster __P((struct paster *, char *, int, int));
108 extern void FreePaster __P((struct paster *));
110 /* search.c */
111 extern void Search __P((int));
112 extern void ISearch __P((int));
114 /* input.c */
115 extern void inp_setprompt __P((char *, char *));
116 extern void Input __P((char *, int, int, void (*)(char *, int, char *), char *, int));
117 extern int InInput __P((void));
119 /* help.c */
120 extern void exit_with_usage __P((char *, char *, char *));
121 extern void display_help __P((char *, struct action *));
122 extern void display_copyright __P((void));
123 extern void display_displays __P((void));
124 extern void display_bindkey __P((char *, struct action *));
125 extern void display_wlist __P((int, int, struct win *));
126 extern int InWList __P((void));
127 extern void WListUpdatecv __P((struct canvas *, struct win *));
128 extern void WListLinkChanged __P((void));
129 #ifdef ZMODEM
130 extern void ZmodemPage __P((void));
131 #endif
133 /* window.c */
134 extern int MakeWindow __P((struct NewWindow *));
135 extern int RemakeWindow __P((struct win *));
136 extern void FreeWindow __P((struct win *));
137 #ifdef PSEUDOS
138 extern int winexec __P((char **));
139 extern void FreePseudowin __P((struct win *));
140 #endif
141 extern void nwin_compose __P((struct NewWindow *, struct NewWindow *, struct NewWindow *));
142 extern int DoStartLog __P((struct win *, char *, int));
143 extern int ReleaseAutoWritelock __P((struct display *, struct win *));
144 extern int ObtainAutoWritelock __P((struct display *, struct win *));
145 extern void CloseDevice __P((struct win *));
146 #ifdef ZMODEM
147 extern void zmodem_abort __P((struct win *, struct display *));
148 #endif
149 extern void execvpe __P((char *, char **, char **));
151 /* utmp.c */
152 #ifdef UTMPOK
153 extern void InitUtmp __P((void));
154 extern void RemoveLoginSlot __P((void));
155 extern void RestoreLoginSlot __P((void));
156 extern int SetUtmp __P((struct win *));
157 extern int RemoveUtmp __P((struct win *));
158 #endif /* UTMPOK */
159 extern void SlotToggle __P((int));
160 #ifdef USRLIMIT
161 extern int CountUsers __P((void));
162 #endif
163 #ifdef CAREFULUTMP
164 extern void CarefulUtmp __P((void));
165 #else
166 # define CarefulUtmp() /* nothing */
167 #endif /* CAREFULUTMP */
170 /* loadav.c */
171 #ifdef LOADAV
172 extern void InitLoadav __P((void));
173 extern void AddLoadav __P((char *));
174 #endif
176 /* pty.c */
177 extern int OpenPTY __P((char **));
178 extern void InitPTY __P((int));
180 /* process.c */
181 extern void InitKeytab __P((void));
182 extern void ProcessInput __P((char *, int));
183 #ifdef MAPKEYS
184 extern void ProcessInput2 __P((char *, int));
185 #endif
186 extern void DoProcess __P((struct win *, char **, int *, struct paster *));
187 extern void DoAction __P((struct action *, int));
188 extern int FindCommnr __P((char *));
189 extern void DoCommand __P((char **, int *));
190 extern void Activate __P((int));
191 extern void KillWindow __P((struct win *));
192 extern void SetForeWindow __P((struct win *));
193 extern int Parse __P((char *, int, char **, int *));
194 extern void SetEscape __P((struct acluser *, int, int));
195 extern void DoScreen __P((char *, char **));
196 extern int IsNumColon __P((char *, int, char *, int));
197 extern void ShowWindows __P((int));
198 extern char *AddWindows __P((char *, int, int, int));
199 extern char *AddWindowFlags __P((char *, int, struct win *));
200 extern char *AddOtherUsers __P((char *, int, struct win *));
201 extern int WindowByNoN __P((char *));
202 extern struct win *FindNiceWindow __P((struct win *, char *));
203 #ifdef COPY_PASTE
204 extern int CompileKeys __P((char *, int, unsigned char *));
205 #endif
206 #ifdef RXVT_OSC
207 extern void RefreshXtermOSC __P((void));
208 #endif
209 extern int ParseSaveStr __P((struct action *act, char **));
210 extern int ParseNum __P((struct action *act, int *));
211 extern int ParseSwitch __P((struct action *, int *));
212 extern int ParseAttrColor __P((char *, char *, int));
213 extern void ApplyAttrColor __P((int, struct mchar *));
214 extern void SwitchWindow __P((int));
215 extern int StuffKey __P((int));
217 /* termcap.c */
218 extern int InitTermcap __P((int, int));
219 extern char *MakeTermcap __P((int));
220 extern char *gettermcapstring __P((char *));
221 #ifdef MAPKEYS
222 extern int remap __P((int, int));
223 extern void CheckEscape __P((void));
224 #endif
225 extern int CreateTransTable __P((char *));
226 extern void FreeTransTable __P((void));
228 /* attacher.c */
229 extern int Attach __P((int));
230 extern void Attacher __P((void));
231 extern sigret_t AttacherFinit __P(SIGPROTOARG);
232 extern void SendCmdMessage __P((char *, char *, char **));
234 /* display.c */
235 extern struct display *MakeDisplay __P((char *, char *, char *, int, int, struct mode *));
236 extern void FreeDisplay __P((void));
237 extern void DefProcess __P((char **, int *));
238 extern void DefRedisplayLine __P((int, int, int, int));
239 extern void DefClearLine __P((int, int, int, int));
240 extern int DefRewrite __P((int, int, int, struct mchar *, int));
241 extern int DefResize __P((int, int));
242 extern void DefRestore __P((void));
243 extern void AddCStr __P((char *));
244 extern void AddCStr2 __P((char *, int));
245 extern void InitTerm __P((int));
246 extern void FinitTerm __P((void));
247 extern void PUTCHAR __P((int));
248 extern void PUTCHARLP __P((int));
249 extern void ClearAll __P((void));
250 extern void ClearArea __P((int, int, int, int, int, int, int, int));
251 extern void ClearLine __P((struct mline *, int, int, int, int));
252 extern void RefreshAll __P((int));
253 extern void RefreshArea __P((int, int, int, int, int));
254 extern void RefreshLine __P((int, int, int, int));
255 extern void Redisplay __P((int));
256 extern void RedisplayDisplays __P((int));
257 extern void ShowHStatus __P((char *));
258 extern void RefreshHStatus __P((void));
259 extern void DisplayLine __P((struct mline *, struct mline *, int, int, int));
260 extern void GotoPos __P((int, int));
261 extern int CalcCost __P((char *));
262 extern void ScrollH __P((int, int, int, int, int, struct mline *));
263 extern void ScrollV __P((int, int, int, int, int, int));
264 extern void PutChar __P((struct mchar *, int, int));
265 extern void InsChar __P((struct mchar *, int, int, int, struct mline *));
266 extern void WrapChar __P((struct mchar *, int, int, int, int, int, int, int));
267 extern void ChangeScrollRegion __P((int, int));
268 extern void InsertMode __P((int));
269 extern void KeypadMode __P((int));
270 extern void CursorkeysMode __P((int));
271 extern void ReverseVideo __P((int));
272 extern void CursorVisibility __P((int));
273 extern void MouseMode __P((int));
274 extern void SetFont __P((int));
275 extern void SetAttr __P((int));
276 extern void SetColor __P((int, int));
277 extern void SetRendition __P((struct mchar *));
278 extern void SetRenditionMline __P((struct mline *, int));
279 extern void MakeStatus __P((char *));
280 extern void RemoveStatus __P((void));
281 extern int ResizeDisplay __P((int, int));
282 extern void AddStr __P((char *));
283 extern void AddStrn __P((char *, int));
284 extern void Flush __P((void));
285 extern void freetty __P((void));
286 extern void Resize_obuf __P((void));
287 #ifdef AUTO_NUKE
288 extern void NukePending __P((void));
289 #endif
290 extern void SetCanvasWindow __P((struct canvas *, struct win *));
291 extern int MakeDefaultCanvas __P((void));
292 extern int AddCanvas __P((int));
293 extern void RemCanvas __P((void));
294 extern void OneCanvas __P((void));
295 extern void ResizeCanvas __P((struct canvas *));
296 extern void RecreateCanvasChain __P((void));
297 extern int RethinkDisplayViewports __P((void));
298 extern void RethinkViewportOffsets __P((struct canvas *));
299 extern int CountCanvasPerp __P((struct canvas *));
300 extern void EqualizeCanvas __P((struct canvas *, int));
301 #ifdef RXVT_OSC
302 extern void ClearAllXtermOSC __P((void));
303 extern void SetXtermOSC __P((int, char *));
304 #endif
305 #ifdef COLOR
306 extern int color256to16 __P((int));
307 # ifdef COLORS256
308 extern int color256to88 __P((int));
309 # endif
310 #endif
311 extern void ResetIdle __P((void));
312 extern void KillBlanker __P((void));
313 extern void DisplaySleep1000 __P((int, int));
314 extern void AutosaveLayout __P((struct layout *));
315 extern void LoadLayout __P((struct layout *, struct canvas *));
316 extern void NewLayout __P((char *, int));
317 extern void SaveLayout __P((char *, struct canvas *));
318 extern void ShowLayouts __P((int));
319 extern struct layout *FindLayout __P((char *));
321 /* resize.c */
322 extern int ChangeWindowSize __P((struct win *, int, int, int));
323 extern void ChangeScreenSize __P((int, int, int));
324 extern void CheckScreenSize __P((int));
325 extern char *xrealloc __P((char *, int));
326 extern void ResizeLayersToCanvases __P((void));
327 extern void ResizeLayer __P((struct layer *, int, int, struct display *));
328 extern int MayResizeLayer __P((struct layer *));
329 extern void FreeAltScreen __P((struct win *));
330 extern void EnterAltScreen __P((struct win *));
331 extern void LeaveAltScreen __P((struct win *));
333 /* sched.c */
334 extern void evenq __P((struct event *));
335 extern void evdeq __P((struct event *));
336 extern void SetTimeout __P((struct event *, int));
337 extern void sched __P((void));
339 /* socket.c */
340 extern int FindSocket __P((int *, int *, int *, char *));
341 extern int MakeClientSocket __P((int));
342 extern int MakeServerSocket __P((void));
343 extern int RecoverSocket __P((void));
344 extern int chsock __P((void));
345 extern void ReceiveMsg __P((void));
346 extern void SendCreateMsg __P((char *, struct NewWindow *));
347 extern int SendErrorMsg __P((char *, char *));
348 extern int SendAttachMsg __P((int, struct msg *, int));
350 /* misc.c */
351 extern char *SaveStr __P((const char *));
352 extern char *SaveStrn __P((const char *, int));
353 extern char *InStr __P((char *, const char *));
354 #ifndef HAVE_STRERROR
355 extern char *strerror __P((int));
356 #endif
357 extern void centerline __P((char *, int));
358 extern void leftline __P((char *, int));
359 extern char *Filename __P((char *));
360 extern char *stripdev __P((char *));
361 #ifdef NEED_OWN_BCOPY
362 extern void xbcopy __P((char *, char *, int));
363 #endif
364 extern void bclear __P((char *, int));
365 extern void closeallfiles __P((int));
366 extern int UserContext __P((void));
367 extern void UserReturn __P((int));
368 extern int UserStatus __P((void));
369 #if defined(POSIX) || defined(hpux)
370 extern void (*xsignal __P((int, void (*)SIGPROTOARG))) __P(SIGPROTOARG);
371 #endif
372 #ifndef HAVE_RENAME
373 extern int rename __P((char *, char *));
374 #endif
375 #if defined(HAVE_SETEUID) || defined(HAVE_SETREUID)
376 extern void xseteuid __P((int));
377 extern void xsetegid __P((int));
378 #endif
379 extern int AddXChar __P((char *, int));
380 extern int AddXChars __P((char *, int, char *));
381 extern void xsetenv __P((char *, char *));
382 extern void sleep1000 __P((int));
383 #ifdef DEBUG
384 extern void opendebug __P((int, int));
385 #endif
386 #ifdef USEVARARGS
387 # ifndef HAVE_VSNPRINTF
388 extern int xvsnprintf __P((char *, int, char *, va_list));
389 # endif
390 #else
391 extern int xsnprintf __P(());
392 #endif
395 /* acl.c */
396 #ifdef MULTIUSER
397 extern int AclCheckPermWin __P((struct acluser *, int, struct win *));
398 extern int AclCheckPermCmd __P((struct acluser *, int, struct comm *));
399 extern int AclSetPerm __P((struct acluser *, struct acluser *, char *, char *));
400 extern int AclUmask __P((struct acluser *, char *, char **));
401 extern int UsersAcl __P((struct acluser *, int, char **));
402 extern void AclWinSwap __P((int, int));
403 extern int NewWindowAcl __P((struct win *, struct acluser *));
404 extern void FreeWindowAcl __P((struct win *));
405 extern char *DoSu __P((struct acluser **, char *, char *, char *));
406 extern int AclLinkUser __P((char *, char *));
407 #endif /* MULTIUSER */
408 extern int UserFreeCopyBuffer __P((struct acluser *));
409 extern struct acluser **FindUserPtr __P((char *));
410 extern int UserAdd __P((char *, char *, struct acluser **));
411 extern int UserDel __P((char *, struct acluser **));
414 /* braile.c */
415 #ifdef HAVE_BRAILLE
416 extern void InitBraille __P((void));
417 extern void RefreshBraille __P((void));
418 extern void DoBrailleAction __P((struct action *, int));
419 extern void BGotoPos __P((struct layer *, int, int));
420 extern void BPutChar __P((struct layer *, struct mchar *, int, int));
421 extern void BPutStr __P((struct layer *, char *, int, struct mchar *, int, int));
422 extern void BCDisplayLine __P((struct layer *, struct mline *, int, int, int, int));
423 #endif
428 /* layer.c */
429 extern void LGotoPos __P((struct layer *, int, int));
430 extern void LPutChar __P((struct layer *, struct mchar *, int, int));
431 extern void LInsChar __P((struct layer *, struct mchar *, int, int, struct mline *));
432 extern void LPutStr __P((struct layer *, char *, int, struct mchar *, int, int));
433 extern void LPutWinMsg __P((struct layer *, char *, int, struct mchar *, int, int));
434 extern void LScrollH __P((struct layer *, int, int, int, int, int, struct mline *));
435 extern void LScrollV __P((struct layer *, int, int, int, int));
436 extern void LClearAll __P((struct layer *, int));
437 extern void LClearArea __P((struct layer *, int, int, int, int, int, int));
438 extern void LClearLine __P((struct layer *, int, int, int, int, struct mline *));
439 extern void LRefreshAll __P((struct layer *, int));
440 extern void LCDisplayLine __P((struct layer *, struct mline *, int, int, int, int));
441 extern void LCDisplayLineWrap __P((struct layer *, struct mline *, int, int, int, int));
442 extern void LSetRendition __P((struct layer *, struct mchar *));
443 extern void LWrapChar __P((struct layer *, struct mchar *, int, int, int, int));
444 extern void LCursorVisibility __P((struct layer *, int));
445 extern void LSetFlow __P((struct layer *, int));
446 extern void LKeypadMode __P((struct layer *, int));
447 extern void LCursorkeysMode __P((struct layer *, int));
448 extern void LMouseMode __P((struct layer *, int));
449 #ifdef USEVARARGS
450 extern void LMsg __P((int, char *, ...)) __attribute__((format(printf, 2, 3)));
451 #else
452 extern void LMsg __P(());
453 #endif
454 extern void KillLayerChain __P((struct layer *));
455 extern int InitOverlayPage __P((int, struct LayFuncs *, int));
456 extern void ExitOverlayPage __P((void));
458 /* teln.c */
459 #ifdef BUILTIN_TELNET
460 extern int TelOpen __P((char **));
461 extern int TelConnect __P((struct win *));
462 extern int TelIsline __P((struct win *p));
463 extern void TelProcessLine __P((char **, int *));
464 extern int DoTelnet __P((char *, int *, int));
465 extern int TelIn __P((struct win *, char *, int, int));
466 extern void TelBreak __P((struct win *));
467 extern void TelWindowSize __P((struct win *));
468 extern void TelStatus __P((struct win *, char *, int));
469 #endif
471 /* nethack.c */
472 extern char *DoNLS __P((char *));
474 /* encoding.c */
475 #ifdef ENCODINGS
476 # ifdef UTF8
477 extern void InitBuiltinTabs __P((void));
478 extern struct mchar *recode_mchar __P((struct mchar *, int, int));
479 extern struct mline *recode_mline __P((struct mline *, int, int, int));
480 extern int FromUtf8 __P((int, int *));
481 extern void AddUtf8 __P((int));
482 extern int ToUtf8 __P((char *, int));
483 extern int ToUtf8_comb __P((char *, int));
484 extern int utf8_isdouble __P((int));
485 extern int utf8_iscomb __P((int));
486 extern void utf8_handle_comb __P((int, struct mchar *));
487 extern int ContainsSpecialDeffont __P((struct mline *, int, int, int));
488 extern int LoadFontTranslation __P((int, char *));
489 extern void LoadFontTranslationsForEncoding __P((int));
490 # endif /* UTF8 */
491 extern void WinSwitchEncoding __P((struct win *, int));
492 extern int FindEncoding __P((char *));
493 extern char *EncodingName __P((int));
494 extern int EncodingDefFont __P((int));
495 extern void ResetEncoding __P((struct win *));
496 extern int CanEncodeFont __P((int, int));
497 extern int DecodeChar __P((int, int, int *));
498 extern int RecodeBuf __P((unsigned char *, int, int, int, unsigned char *));
499 # ifdef DW_CHARS
500 extern int PrepareEncodedChar __P((int));
501 # endif
502 #endif
503 extern int EncodeChar __P((char *, int, int, int *));