diff options
Diffstat (limited to '')
-rw-r--r-- | extern.h | 514 |
1 files changed, 514 insertions, 0 deletions
diff --git a/extern.h b/extern.h new file mode 100644 index 0000000..d4e57df --- /dev/null +++ b/extern.h @@ -0,0 +1,514 @@ +/* Copyright (c) 2008, 2009 + * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) + * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) + * Micah Cowan (micah@cowan.name) + * Sadrul Habib Chowdhury (sadrul@users.sourceforge.net) + * Copyright (c) 1993-2002, 2003, 2005, 2006, 2007 + * Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de) + * Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de) + * Copyright (c) 1987 Oliver Laumann + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program (see the file COPYING); if not, see + * https://www.gnu.org/licenses/, or contact Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA + * + **************************************************************** + * $Id$ GNU + */ + +#if !defined(__GNUC__) || __GNUC__ < 2 +#undef __attribute__ +#define __attribute__(x) +#endif + +#include <stdbool.h> + +/* screen.c */ +extern int main __P((int, char **)); +extern sigret_t SigHup __P(SIGPROTOARG); +extern void eexit __P((int)) __attribute__((__noreturn__)); +extern void Detach __P((int)); +extern void Hangup __P((void)); +extern void Kill __P((int, int)); +#ifdef USEVARARGS +extern void Msg __P((int, const char *, ...)) __attribute__((format(printf, 2, 3))); +extern void Panic __P((int, const char *, ...)) __attribute__((format(printf, 2, 3))) __attribute__((__noreturn__)); +extern void QueryMsg __P((int, const char *, ...)) __attribute__((format(printf, 2, 3))); +extern void Dummy __P((int, const char *, ...)) __attribute__((format(printf, 2, 3))); +#else +extern void Msg __P(()); +extern void Panic __P(()); +extern void QueryMsg __P(()); +extern void Dummy __P(()); +#endif +extern void Finit __P((int)); +extern void MakeNewEnv __P((void)); +extern char *MakeWinMsg __P((char *, struct win *, int)); +extern char *MakeWinMsgEv __P((char *, struct win *, int, int, struct event *, int)); +extern int AddWinMsgRend __P((const char *, int)); +extern void PutWinMsg __P((char *, int, int)); +#ifdef BSDWAIT +extern void WindowDied __P((struct win *, union wait, int)); +#else +extern void WindowDied __P((struct win *, int, int)); +#endif +extern void setbacktick __P((int, int, int, char **)); + +/* ansi.c */ +extern void ResetAnsiState __P((struct win *)); +extern void ResetWindow __P((struct win *)); +extern void ResetCharsets __P((struct win *)); +extern void WriteString __P((struct win *, char *, int)); +extern void ChangeAKA __P((struct win *, char *, int)); +extern void SetCharsets __P((struct win *, char *)); +extern int GetAnsiStatus __P((struct win *, char *)); +extern void WNewAutoFlow __P((struct win *, int)); +extern void WBell __P((struct win *, int)); +extern void WMsg __P((struct win *, int, char *)); +extern void WChangeSize __P((struct win *, int, int)); +extern void WindowChanged __P((struct win *, int)); +extern int MFindUsedLine __P((struct win *, int, int)); + +/* fileio.c */ +extern int StartRc __P((char *, int)); +extern void FinishRc __P((char *)); +extern void RcLine __P((char *, int)); +extern FILE *secfopen __P((char *, char *)); +extern int secopen __P((char *, int, int)); +extern void WriteFile __P((struct acluser *, char *, int)); +extern char *ReadFile __P((char *, int *)); +extern void KillBuffers __P((void)); +extern int printpipe __P((struct win *, char *)); +extern int readpipe __P((char **)); +extern void RunBlanker __P((char **)); +extern void do_source __P((char *)); + +/* tty.c */ +extern int OpenTTY __P((char *, char *)); +extern void InitTTY __P((struct mode *, int)); +extern void GetTTY __P((int, struct mode *)); +extern void SetTTY __P((int, struct mode *)); +extern void SetMode __P((struct mode *, struct mode *, int, int)); +extern void SetFlow __P((int)); +extern void SendBreak __P((struct win *, int, int)); +extern int TtyGrabConsole __P((int, int, char *)); +extern char *TtyGetModemStatus __P((int, char *)); +#ifdef DEBUG +extern void DebugTTY __P((struct mode *)); +#endif /* DEBUG */ +extern int fgtty __P((int)); +extern void brktty __P((int)); +extern struct baud_values *lookup_baud __P((int bps)); +extern int SetBaud __P((struct mode *, int, int)); +extern int SttyMode __P((struct mode *, char *)); +extern int CheckTtyname __P((char *)); +extern char *GetPtsPathOrSymlink __P((int)); + +/* mark.c */ +extern int GetHistory __P((void)); +extern void MarkRoutine __P((void)); +extern void revto_line __P((int, int, int)); +extern void revto __P((int, int)); +extern int InMark __P((void)); +extern void MakePaster __P((struct paster *, char *, int, int)); +extern void FreePaster __P((struct paster *)); + +/* search.c */ +extern void Search __P((int)); +extern void ISearch __P((int)); + +/* input.c */ +extern void inp_setprompt __P((char *, char *)); +extern void Input __P((char *, int, int, void (*)(char *, int, char *), char *, int)); +extern int InInput __P((void)); + +/* help.c */ +extern void exit_with_usage __P((char *, char *, char *)); +extern void display_help __P((char *, struct action *)); +extern void display_copyright __P((void)); +extern void display_displays __P((void)); +extern void display_bindkey __P((char *, struct action *)); +extern int InWList __P((void)); +extern void WListUpdatecv __P((struct canvas *, struct win *)); +extern void WListLinkChanged __P((void)); +#ifdef ZMODEM +extern void ZmodemPage __P((void)); +#endif + +/* window.c */ +extern int MakeWindow __P((struct NewWindow *)); +extern int RemakeWindow __P((struct win *)); +extern void FreeWindow __P((struct win *)); +#ifdef PSEUDOS +extern int winexec __P((char **)); +extern void FreePseudowin __P((struct win *)); +#endif +extern void nwin_compose __P((struct NewWindow *, struct NewWindow *, struct NewWindow *)); +extern int DoStartLog __P((struct win *, char *, int)); +extern int ReleaseAutoWritelock __P((struct display *, struct win *)); +extern int ObtainAutoWritelock __P((struct display *, struct win *)); +extern void CloseDevice __P((struct win *)); +#ifdef ZMODEM +extern void zmodem_abort __P((struct win *, struct display *)); +#endif +#ifndef HAVE_EXECVPE +extern void execvpe __P((char *, char **, char **)); +#endif + +/* utmp.c */ +#ifdef UTMPOK +extern void InitUtmp __P((void)); +extern void RemoveLoginSlot __P((void)); +extern void RestoreLoginSlot __P((void)); +extern int SetUtmp __P((struct win *)); +extern int RemoveUtmp __P((struct win *)); +#endif /* UTMPOK */ +extern void SlotToggle __P((int)); +#ifdef USRLIMIT +extern int CountUsers __P((void)); +#endif +#ifdef CAREFULUTMP +extern void CarefulUtmp __P((void)); +#else +# define CarefulUtmp() /* nothing */ +#endif /* CAREFULUTMP */ + + +/* loadav.c */ +#ifdef LOADAV +extern void InitLoadav __P((void)); +extern void AddLoadav __P((char *)); +#endif + +/* pty.c */ +extern int OpenPTY __P((char **)); +extern void InitPTY __P((int)); + +/* process.c */ +extern void InitKeytab __P((void)); +extern void ProcessInput __P((char *, int)); +#ifdef MAPKEYS +extern void ProcessInput2 __P((char *, int)); +#endif +extern void DoProcess __P((struct win *, char **, int *, struct paster *)); +extern void DoAction __P((struct action *, int)); +extern int FindCommnr __P((const char *)); +extern void DoCommand __P((char **, int *)); +extern void Activate __P((int)); +extern void KillWindow __P((struct win *)); +extern void SetForeWindow __P((struct win *)); +extern int Parse __P((char *, int, char **, int *)); +extern void SetEscape __P((struct acluser *, int, int)); +extern void DoScreen __P((char *, char **)); +extern int IsNumColon __P((char *, int, char *, int)); +extern void ShowWindows __P((int)); +extern char *AddWindows __P((char *, int, int, int)); +extern char *AddWindowFlags __P((char *, int, struct win *)); +extern char *AddOtherUsers __P((char *, int, struct win *)); +extern int WindowByNoN __P((char *)); +extern struct win *FindNiceWindow __P((struct win *, char *)); +#ifdef COPY_PASTE +extern int CompileKeys __P((char *, int, unsigned char *)); +#endif +#ifdef RXVT_OSC +extern void RefreshXtermOSC __P((void)); +#endif +extern int ParseSaveStr __P((struct action *act, char **)); +extern int ParseNum __P((struct action *act, int *)); +extern int ParseSwitch __P((struct action *, int *)); +extern int ParseAttrColor __P((char *, char *, int)); +extern void ApplyAttrColor __P((int, struct mchar *)); +extern void SwitchWindow __P((int)); +extern int StuffKey __P((int)); + +/* termcap.c */ +extern int InitTermcap __P((int, int)); +extern char *MakeTermcap __P((int)); +extern void DumpTermcap __P((int, FILE *)); +extern char *gettermcapstring __P((char *)); +#ifdef MAPKEYS +extern int remap __P((int, int)); +extern void CheckEscape __P((void)); +#endif +extern int CreateTransTable __P((char *)); +extern void FreeTransTable __P((void)); + +/* attacher.c */ +extern int Attach __P((int)); +extern void Attacher __P((void)); +extern sigret_t AttacherFinit __P(SIGPROTOARG); +extern void SendCmdMessage __P((char *, char *, char **, int)); + +/* display.c */ +extern struct display *MakeDisplay __P((char *, char *, char *, int, int, struct mode *)); +extern void FreeDisplay __P((void)); +extern void DefProcess __P((char **, int *)); +extern void DefRedisplayLine __P((int, int, int, int)); +extern void DefClearLine __P((int, int, int, int)); +extern int DefRewrite __P((int, int, int, struct mchar *, int)); +extern int DefResize __P((int, int)); +extern void DefRestore __P((void)); +extern void AddCStr __P((char *)); +extern void AddCStr2 __P((char *, int)); +extern void InitTerm __P((int)); +extern void FinitTerm __P((void)); +extern void PUTCHAR __P((int)); +extern void PUTCHARLP __P((int)); +extern void ClearAll __P((void)); +extern void ClearArea __P((int, int, int, int, int, int, int, int)); +extern void ClearLine __P((struct mline *, int, int, int, int)); +extern void RefreshAll __P((int)); +extern void RefreshArea __P((int, int, int, int, int)); +extern void RefreshLine __P((int, int, int, int)); +extern void Redisplay __P((int)); +extern void RedisplayDisplays __P((int)); +extern void ShowHStatus __P((char *)); +extern void RefreshHStatus __P((void)); +extern void DisplayLine __P((struct mline *, struct mline *, int, int, int)); +extern void GotoPos __P((int, int)); +extern int CalcCost __P((char *)); +extern void ScrollH __P((int, int, int, int, int, struct mline *)); +extern void ScrollV __P((int, int, int, int, int, int)); +extern void PutChar __P((struct mchar *, int, int)); +extern void InsChar __P((struct mchar *, int, int, int, struct mline *)); +extern void WrapChar __P((struct mchar *, int, int, int, int, int, int, int)); +extern void ChangeScrollRegion __P((int, int)); +extern void InsertMode __P((int)); +extern void KeypadMode __P((int)); +extern void CursorkeysMode __P((int)); +extern void ReverseVideo __P((int)); +extern void CursorVisibility __P((int)); +extern void MouseMode __P((int)); +extern void ExtMouseMode __P((int)); +extern void SetFont __P((int)); +extern void SetAttr __P((int)); +extern void SetColor __P((int, int)); +extern void SetRendition __P((struct mchar *)); +extern void SetRenditionMline __P((struct mline *, int)); +extern void MakeStatus __P((char *)); +extern void RemoveStatus __P((void)); +extern int ResizeDisplay __P((int, int)); +extern void AddStr __P((char *)); +extern void AddStrn __P((char *, int)); +extern void Flush __P((int)); +extern void freetty __P((void)); +extern void Resize_obuf __P((void)); +#ifdef AUTO_NUKE +extern void NukePending __P((void)); +#endif +#ifdef RXVT_OSC +extern void ClearAllXtermOSC __P((void)); +extern void SetXtermOSC __P((int, char *, char *)); +#endif +#ifdef COLOR +extern int color256to16 __P((int)); +# ifdef COLORS256 +extern int color256to88 __P((int)); +# endif +#endif +extern void ResetIdle __P((void)); +extern void KillBlanker __P((void)); +extern void DisplaySleep1000 __P((int, int)); + +/* resize.c */ +extern int ChangeWindowSize __P((struct win *, int, int, int)); +extern void ChangeScreenSize __P((int, int, int)); +extern void CheckScreenSize __P((int)); +extern char *xrealloc __P((char *, int)); +extern void ResizeLayersToCanvases __P((void)); +extern void ResizeLayer __P((struct layer *, int, int, struct display *)); +extern int MayResizeLayer __P((struct layer *)); +extern void FreeAltScreen __P((struct win *)); +extern void EnterAltScreen __P((struct win *)); +extern void LeaveAltScreen __P((struct win *)); + +/* sched.c */ +extern void evenq __P((struct event *)); +extern void evdeq __P((struct event *)); +extern void SetTimeout __P((struct event *, int)); +extern void sched __P((void)); + +/* socket.c */ +extern int FindSocket __P((int *, int *, int *, char *, bool *)); +extern int MakeClientSocket __P((int, bool)); +extern int MakeServerSocket __P((bool)); +extern int RecoverSocket __P((void)); +extern int chsock __P((void)); +extern void ReceiveMsg __P((void)); +extern void SendCreateMsg __P((char *, struct NewWindow *)); +extern int SendErrorMsg __P((char *, char *)); +extern int SendAttachMsg __P((int, struct msg *, int)); +extern void ReceiveRaw __P((int)); +extern bool IsSocket __P((const char *)); + +/* misc.c */ +extern char *SaveStr __P((const char *)); +extern char *SaveStrn __P((const char *, int)); +extern char *InStr __P((char *, const char *)); +#ifndef HAVE_STRERROR +extern char *strerror __P((int)); +#endif +extern void centerline __P((char *, int)); +extern void leftline __P((char *, int, struct mchar *)); +extern char *Filename __P((char *)); +extern char *stripdev __P((char *)); +#ifdef NEED_OWN_BCOPY +extern void xbcopy __P((char *, char *, int)); +#endif +extern void bclear __P((char *, int)); +extern void closeallfiles __P((int)); +extern int UserContext __P((void)); +extern void UserReturn __P((int)); +extern int UserStatus __P((void)); +#if defined(POSIX) || defined(hpux) +extern void (*xsignal __P((int, void (*)SIGPROTOARG))) __P(SIGPROTOARG); +#endif +#ifndef HAVE_RENAME +extern int rename __P((char *, char *)); +#endif +#if defined(HAVE_SETEUID) || defined(HAVE_SETREUID) +extern void xseteuid __P((int)); +extern void xsetegid __P((int)); +#endif +extern int AddXChar __P((char *, int)); +extern int AddXChars __P((char *, int, char *)); +extern void xsetenv __P((char *, char *)); +extern void sleep1000 __P((int)); +#ifdef DEBUG +extern void opendebug __P((int, int)); +#endif +#ifdef USEVARARGS +# ifndef HAVE_VSNPRINTF +extern int xvsnprintf __P((char *, int, char *, va_list)); +# endif +#else +extern int xsnprintf __P(()); +#endif + + +/* acl.c */ +#ifdef MULTIUSER +extern int AclCheckPermWin __P((struct acluser *, int, struct win *)); +extern int AclCheckPermCmd __P((struct acluser *, int, struct comm *)); +extern int AclSetPerm __P((struct acluser *, struct acluser *, char *, char *)); +extern int AclUmask __P((struct acluser *, char *, char **)); +extern int UsersAcl __P((struct acluser *, int, char **)); +extern void AclWinSwap __P((int, int)); +extern int NewWindowAcl __P((struct win *, struct acluser *)); +extern void FreeWindowAcl __P((struct win *)); +extern char *DoSu __P((struct acluser **, char *, char *, char *)); +extern int AclLinkUser __P((char *, char *)); +#endif /* MULTIUSER */ +extern int UserFreeCopyBuffer __P((struct acluser *)); +extern struct acluser **FindUserPtr __P((char *)); +extern int UserAdd __P((char *, char *, struct acluser **)); +extern int UserDel __P((char *, struct acluser **)); + + +/* braile.c */ +#ifdef HAVE_BRAILLE +extern void InitBraille __P((void)); +extern void RefreshBraille __P((void)); +extern void DoBrailleAction __P((struct action *, int)); +extern void BGotoPos __P((struct layer *, int, int)); +extern void BPutChar __P((struct layer *, struct mchar *, int, int)); +extern void BPutStr __P((struct layer *, char *, int, struct mchar *, int, int)); +extern void BCDisplayLine __P((struct layer *, struct mline *, int, int, int, int)); +#endif + + + + +/* layer.c */ +extern void LGotoPos __P((struct layer *, int, int)); +extern void LPutChar __P((struct layer *, struct mchar *, int, int)); +extern void LInsChar __P((struct layer *, struct mchar *, int, int, struct mline *)); +extern void LPutStr __P((struct layer *, char *, int, struct mchar *, int, int)); +extern void LPutWinMsg __P((struct layer *, char *, int, struct mchar *, int, int)); +extern void LScrollH __P((struct layer *, int, int, int, int, int, struct mline *)); +extern void LScrollV __P((struct layer *, int, int, int, int)); +extern void LClearAll __P((struct layer *, int)); +extern void LClearArea __P((struct layer *, int, int, int, int, int, int)); +extern void LClearLine __P((struct layer *, int, int, int, int, struct mline *)); +extern void LRefreshAll __P((struct layer *, int)); +extern void LCDisplayLine __P((struct layer *, struct mline *, int, int, int, int)); +extern void LCDisplayLineWrap __P((struct layer *, struct mline *, int, int, int, int)); +extern void LSetRendition __P((struct layer *, struct mchar *)); +extern void LWrapChar __P((struct layer *, struct mchar *, int, int, int, int)); +extern void LCursorVisibility __P((struct layer *, int)); +extern void LSetFlow __P((struct layer *, int)); +extern void LKeypadMode __P((struct layer *, int)); +extern void LCursorkeysMode __P((struct layer *, int)); +extern void LMouseMode __P((struct layer *, int)); +extern void LExtMouseMode __P((struct layer *, int)); +#if defined(USEVARARGS) +extern void LMsg __P((int, const char *, ...)) __attribute__((format(printf, 2, 3))); +#else +extern void LMsg __P(()); +#endif +extern void KillLayerChain __P((struct layer *)); +extern int InitOverlayPage __P((int, struct LayFuncs *, int)); +extern void ExitOverlayPage __P((void)); +extern int LayProcessMouse __P((struct layer *, unsigned char)); +extern void LayProcessMouseSwitch __P((struct layer *, int)); + +/* teln.c */ +#ifdef BUILTIN_TELNET +extern int TelOpenAndConnect __P((struct win *)); +extern int TelIsline __P((struct win *p)); +extern void TelProcessLine __P((char **, int *)); +extern int DoTelnet __P((char *, int *, int)); +extern int TelIn __P((struct win *, char *, int, int)); +extern void TelBreak __P((struct win *)); +extern void TelWindowSize __P((struct win *)); +extern void TelStatus __P((struct win *, char *, int)); +#endif + +/* nethack.c */ +extern const char *DoNLS __P((const char *)); + +/* encoding.c */ +#ifdef ENCODINGS +# ifdef UTF8 +extern void InitBuiltinTabs __P((void)); +extern struct mchar *recode_mchar __P((struct mchar *, int, int)); +extern struct mline *recode_mline __P((struct mline *, int, int, int)); +extern int FromUtf8 __P((int, int *)); +extern void AddUtf8 __P((int)); +extern int ToUtf8 __P((char *, int)); +extern int ToUtf8_comb __P((char *, int)); +extern int utf8_isdouble __P((int)); +extern int utf8_iscomb __P((int)); +extern void utf8_handle_comb __P((int, struct mchar *)); +extern int ContainsSpecialDeffont __P((struct mline *, int, int, int)); +extern int LoadFontTranslation __P((int, char *)); +extern void LoadFontTranslationsForEncoding __P((int)); +# endif /* UTF8 */ +extern void WinSwitchEncoding __P((struct win *, int)); +extern int FindEncoding __P((char *)); +extern char *EncodingName __P((int)); +extern int EncodingDefFont __P((int)); +extern void ResetEncoding __P((struct win *)); +extern int CanEncodeFont __P((int, int)); +extern int DecodeChar __P((int, int, int *)); +extern int RecodeBuf __P((unsigned char *, int, int, int, unsigned char *)); +# ifdef DW_CHARS +extern int PrepareEncodedChar __P((int)); +# endif +#endif +extern int EncodeChar __P((char *, int, int, int *)); + +/* layout.c */ +extern void RemoveLayout __P((struct layout *)); +extern int LayoutDumpCanvas __P((struct canvas *, char *)); |