00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #if !defined(__GNUC__) || __GNUC__ < 2
00026 #undef __attribute__
00027 #define __attribute__(x)
00028 #endif
00029
00030
00031 extern int main __P((int, char **));
00032 extern sigret_t SigHup __P(SIGPROTOARG);
00033 extern void eexit __P((int));
00034 extern void Detach __P((int));
00035 extern void Hangup __P((void));
00036 extern void Kill __P((int, int));
00037 #ifdef USEVARARGS
00038 extern void Msg __P((int, char *, ...)) __attribute__((format(printf, 2, 3)));
00039 extern void Panic __P((int, char *, ...)) __attribute__((format(printf, 2, 3)));
00040 #else
00041 extern void Msg __P(());
00042 extern void Panic __P(());
00043 #endif
00044 extern void Finit __P((int));
00045 extern void MakeNewEnv __P((void));
00046 extern char *MakeWinMsg __P((char *, struct win *, int));
00047 extern char *MakeWinMsgEv __P((char *, struct win *, int, int, struct event *, int));
00048 extern int PutWinMsg __P((char *, int, int));
00049 extern void WindowDied __P((struct win *));
00050 extern void setbacktick __P((int, int, int, char **));
00051
00052
00053 extern void ResetAnsiState __P((struct win *));
00054 extern void ResetWindow __P((struct win *));
00055 extern void ResetCharsets __P((struct win *));
00056 extern void WriteString __P((struct win *, char *, int));
00057 extern void ChangeAKA __P((struct win *, char *, int));
00058 extern void SetCharsets __P((struct win *, char *));
00059 extern int GetAnsiStatus __P((struct win *, char *));
00060 extern void WNewAutoFlow __P((struct win *, int));
00061 extern void WBell __P((struct win *, int));
00062 extern void WMsg __P((struct win *, int, char *));
00063 extern void WChangeSize __P((struct win *, int, int));
00064 extern void WindowChanged __P((struct win *, int));
00065 extern int MFindUsedLine __P((struct win *, int, int));
00066
00067
00068 extern void StartRc __P((char *));
00069 extern void FinishRc __P((char *));
00070 extern void RcLine __P((char *, int));
00071 extern FILE *secfopen __P((char *, char *));
00072 extern int secopen __P((char *, int, int));
00073 extern void WriteFile __P((struct acluser *, char *, int));
00074 extern char *ReadFile __P((char *, int *));
00075 extern void KillBuffers __P((void));
00076 extern int printpipe __P((struct win *, char *));
00077 extern int readpipe __P((char **));
00078 extern void RunBlanker __P((char **));
00079 extern void do_source __P((char *));
00080
00081
00082 extern int OpenTTY __P((char *, char *));
00083 extern void InitTTY __P((struct mode *, int));
00084 extern void GetTTY __P((int, struct mode *));
00085 extern void SetTTY __P((int, struct mode *));
00086 extern void SetMode __P((struct mode *, struct mode *, int, int));
00087 extern void SetFlow __P((int));
00088 extern void SendBreak __P((struct win *, int, int));
00089 extern int TtyGrabConsole __P((int, int, char *));
00090 extern char *TtyGetModemStatus __P((int, char *));
00091 #ifdef DEBUG
00092 extern void DebugTTY __P((struct mode *));
00093 #endif
00094 extern int fgtty __P((int));
00095 extern void brktty __P((int));
00096 extern struct baud_values *lookup_baud __P((int bps));
00097 extern int SetBaud __P((struct mode *, int, int));
00098 extern int SttyMode __P((struct mode *, char *));
00099
00100
00101
00102 extern int GetHistory __P((void));
00103 extern void MarkRoutine __P((void));
00104 extern void revto_line __P((int, int, int));
00105 extern void revto __P((int, int));
00106 extern int InMark __P((void));
00107 extern void MakePaster __P((struct paster *, char *, int, int));
00108 extern void FreePaster __P((struct paster *));
00109
00110
00111 extern void Search __P((int));
00112 extern void ISearch __P((int));
00113
00114
00115 extern void inp_setprompt __P((char *, char *));
00116 extern void Input __P((char *, int, int, void (*)(char *, int, char *), char *));
00117 extern int InInput __P((void));
00118
00119
00120 extern void exit_with_usage __P((char *, char *, char *));
00121 extern void display_help __P((char *, struct action *));
00122 extern void display_copyright __P((void));
00123 extern void display_displays __P((void));
00124 extern void display_bindkey __P((char *, struct action *));
00125 extern void display_wlist __P((int, int));
00126 extern int InWList __P((void));
00127 extern void WListUpdatecv __P((struct canvas *, struct win *));
00128 extern void WListLinkChanged __P((void));
00129 #ifdef ZMODEM
00130 extern void ZmodemPage __P((void));
00131 #endif
00132
00133
00134 extern int MakeWindow __P((struct NewWindow *));
00135 extern int RemakeWindow __P((struct win *));
00136 extern void FreeWindow __P((struct win *));
00137 #ifdef PSEUDOS
00138 extern int winexec __P((char **));
00139 extern void FreePseudowin __P((struct win *));
00140 #endif
00141 extern void nwin_compose __P((struct NewWindow *, struct NewWindow *, struct NewWindow *));
00142 extern int DoStartLog __P((struct win *, char *, int));
00143 extern int ReleaseAutoWritelock __P((struct display *, struct win *));
00144 extern int ObtainAutoWritelock __P((struct display *, struct win *));
00145 extern void CloseDevice __P((struct win *));
00146 #ifdef ZMODEM
00147 extern void zmodem_abort __P((struct win *, struct display *));
00148 #endif
00149 extern void execvpe __P((char *, char **, char **));
00150
00151
00152 #ifdef UTMPOK
00153 extern void InitUtmp __P((void));
00154 extern void RemoveLoginSlot __P((void));
00155 extern void RestoreLoginSlot __P((void));
00156 extern int SetUtmp __P((struct win *));
00157 extern int RemoveUtmp __P((struct win *));
00158 #endif
00159 extern void SlotToggle __P((int));
00160 #ifdef USRLIMIT
00161 extern int CountUsers __P((void));
00162 #endif
00163 #ifdef CAREFULUTMP
00164 extern void CarefulUtmp __P((void));
00165 #else
00166 # define CarefulUtmp()
00167 #endif
00168
00169
00170
00171 #ifdef LOADAV
00172 extern void InitLoadav __P((void));
00173 extern void AddLoadav __P((char *));
00174 #endif
00175
00176
00177 extern int OpenPTY __P((char **));
00178 extern void InitPTY __P((int));
00179
00180
00181 extern void InitKeytab __P((void));
00182 extern void ProcessInput __P((char *, int));
00183 #ifdef MAPKEYS
00184 extern void ProcessInput2 __P((char *, int));
00185 #endif
00186 extern void DoProcess __P((struct win *, char **, int *, struct paster *));
00187 extern void DoAction __P((struct action *, int));
00188 extern int FindCommnr __P((char *));
00189 extern void DoCommand __P((char **, int *));
00190 extern void Activate __P((int));
00191 extern void KillWindow __P((struct win *));
00192 extern void SetForeWindow __P((struct win *));
00193 extern int Parse __P((char *, int, char **, int *));
00194 extern void SetEscape __P((struct acluser *, int, int));
00195 extern void DoScreen __P((char *, char **));
00196 extern int IsNumColon __P((char *, int, char *, int));
00197 extern void ShowWindows __P((int));
00198 extern char *AddWindows __P((char *, int, int, int));
00199 extern char *AddWindowFlags __P((char *, int, struct win *));
00200 extern char *AddOtherUsers __P((char *, int, struct win *));
00201 extern int WindowByNoN __P((char *));
00202 extern struct win *FindNiceWindow __P((struct win *, char *));
00203 #ifdef COPY_PASTE
00204 extern int CompileKeys __P((char *, int, unsigned char *));
00205 #endif
00206 #ifdef RXVT_OSC
00207 extern void RefreshXtermOSC __P((void));
00208 #endif
00209 extern int ParseSaveStr __P((struct action *act, char **));
00210 extern int ParseNum __P((struct action *act, int *));
00211 extern int ParseSwitch __P((struct action *, int *));
00212 extern int ParseAttrColor __P((char *, char *, int));
00213 extern void ApplyAttrColor __P((int, struct mchar *));
00214 extern void SwitchWindow __P((int));
00215 extern int StuffKey __P((int));
00216
00217
00218 extern int InitTermcap __P((int, int));
00219 extern char *MakeTermcap __P((int));
00220 extern char *gettermcapstring __P((char *));
00221 #ifdef MAPKEYS
00222 extern int remap __P((int, int));
00223 extern void CheckEscape __P((void));
00224 #endif
00225 extern int CreateTransTable __P((char *));
00226 extern void FreeTransTable __P((void));
00227
00228
00229 extern int Attach __P((int));
00230 extern void Attacher __P((void));
00231 extern sigret_t AttacherFinit __P(SIGPROTOARG);
00232 extern void SendCmdMessage __P((char *, char *, char **));
00233
00234
00235 extern struct display *MakeDisplay __P((char *, char *, char *, int, int, struct mode *));
00236 extern void FreeDisplay __P((void));
00237 extern void DefProcess __P((char **, int *));
00238 extern void DefRedisplayLine __P((int, int, int, int));
00239 extern void DefClearLine __P((int, int, int, int));
00240 extern int DefRewrite __P((int, int, int, struct mchar *, int));
00241 extern int DefResize __P((int, int));
00242 extern void DefRestore __P((void));
00243 extern void AddCStr __P((char *));
00244 extern void AddCStr2 __P((char *, int));
00245 extern void InitTerm __P((int));
00246 extern void FinitTerm __P((void));
00247 extern void PUTCHAR __P((int));
00248 extern void PUTCHARLP __P((int));
00249 extern void ClearAll __P((void));
00250 extern void ClearArea __P((int, int, int, int, int, int, int, int));
00251 extern void ClearLine __P((struct mline *, int, int, int, int));
00252 extern void RefreshAll __P((int));
00253 extern void RefreshArea __P((int, int, int, int, int));
00254 extern void RefreshLine __P((int, int, int, int));
00255 extern void Redisplay __P((int));
00256 extern void RedisplayDisplays __P((int));
00257 extern void ShowHStatus __P((char *));
00258 extern void RefreshHStatus __P((void));
00259 extern void DisplayLine __P((struct mline *, struct mline *, int, int, int));
00260 extern void GotoPos __P((int, int));
00261 extern int CalcCost __P((char *));
00262 extern void ScrollH __P((int, int, int, int, int, struct mline *));
00263 extern void ScrollV __P((int, int, int, int, int, int));
00264 extern void PutChar __P((struct mchar *, int, int));
00265 extern void InsChar __P((struct mchar *, int, int, int, struct mline *));
00266 extern void WrapChar __P((struct mchar *, int, int, int, int, int, int, int));
00267 extern void ChangeScrollRegion __P((int, int));
00268 extern void InsertMode __P((int));
00269 extern void KeypadMode __P((int));
00270 extern void CursorkeysMode __P((int));
00271 extern void ReverseVideo __P((int));
00272 extern void CursorVisibility __P((int));
00273 extern void MouseMode __P((int));
00274 extern void SetFont __P((int));
00275 extern void SetAttr __P((int));
00276 extern void SetColor __P((int, int));
00277 extern void SetRendition __P((struct mchar *));
00278 extern void SetRenditionMline __P((struct mline *, int));
00279 extern void MakeStatus __P((char *));
00280 extern void RemoveStatus __P((void));
00281 extern int ResizeDisplay __P((int, int));
00282 extern void AddStr __P((char *));
00283 extern void AddStrn __P((char *, int));
00284 extern void Flush __P((void));
00285 extern void freetty __P((void));
00286 extern void Resize_obuf __P((void));
00287 #ifdef AUTO_NUKE
00288 extern void NukePending __P((void));
00289 #endif
00290 extern void SetCanvasWindow __P((struct canvas *, struct win *));
00291 extern int MakeDefaultCanvas __P((void));
00292 extern int AddCanvas __P((void));
00293 extern void RemCanvas __P((void));
00294 extern void OneCanvas __P((void));
00295 extern int RethinkDisplayViewports __P((void));
00296 extern void RethinkViewportOffsets __P((struct canvas *));
00297 #ifdef RXVT_OSC
00298 extern void ClearAllXtermOSC __P((void));
00299 extern void SetXtermOSC __P((int, char *));
00300 #endif
00301 #ifdef COLOR
00302 extern int color256to16 __P((int));
00303 # ifdef COLORS256
00304 extern int color256to88 __P((int));
00305 # endif
00306 #endif
00307 extern void ResetIdle __P((void));
00308 extern void KillBlanker __P((void));
00309 extern void DisplaySleep1000 __P((int, int));
00310
00311
00312 extern int ChangeWindowSize __P((struct win *, int, int, int));
00313 extern void ChangeScreenSize __P((int, int, int));
00314 extern void CheckScreenSize __P((int));
00315 extern char *xrealloc __P((char *, int));
00316 extern void ResizeLayersToCanvases __P((void));
00317 extern void ResizeLayer __P((struct layer *, int, int, struct display *));
00318 extern int MayResizeLayer __P((struct layer *));
00319 extern void FreeAltScreen __P((struct win *));
00320 extern void EnterAltScreen __P((struct win *));
00321 extern void LeaveAltScreen __P((struct win *));
00322
00323
00324 extern void evenq __P((struct event *));
00325 extern void evdeq __P((struct event *));
00326 extern void SetTimeout __P((struct event *, int));
00327 extern void sched __P((void));
00328
00329
00330 extern int FindSocket __P((int *, int *, int *, char *));
00331 extern int MakeClientSocket __P((int));
00332 extern int MakeServerSocket __P((void));
00333 extern int RecoverSocket __P((void));
00334 extern int chsock __P((void));
00335 extern void ReceiveMsg __P((void));
00336 extern void SendCreateMsg __P((char *, struct NewWindow *));
00337 extern int SendErrorMsg __P((char *, char *));
00338
00339
00340 extern char *SaveStr __P((const char *));
00341 extern char *SaveStrn __P((const char *, int));
00342 extern char *InStr __P((char *, const char *));
00343 #ifndef HAVE_STRERROR
00344 extern char *strerror __P((int));
00345 #endif
00346 extern void centerline __P((char *, int));
00347 extern void leftline __P((char *, int));
00348 extern char *Filename __P((char *));
00349 extern char *stripdev __P((char *));
00350 #ifdef NEED_OWN_BCOPY
00351 extern void xbcopy __P((char *, char *, int));
00352 #endif
00353 extern void bclear __P((char *, int));
00354 extern void closeallfiles __P((int));
00355 extern int UserContext __P((void));
00356 extern void UserReturn __P((int));
00357 extern int UserStatus __P((void));
00358 #if defined(POSIX) || defined(hpux)
00359 extern void (*xsignal __P((int, void (*)SIGPROTOARG))) __P(SIGPROTOARG);
00360 #endif
00361 #ifndef HAVE_RENAME
00362 extern int rename __P((char *, char *));
00363 #endif
00364 #if defined(HAVE_SETEUID) || defined(HAVE_SETREUID)
00365 extern void xseteuid __P((int));
00366 extern void xsetegid __P((int));
00367 #endif
00368 extern int AddXChar __P((char *, int));
00369 extern int AddXChars __P((char *, int, char *));
00370 extern void xsetenv __P((char *, char *));
00371 extern void sleep1000 __P((int));
00372 #ifdef DEBUG
00373 extern void opendebug __P((int, int));
00374 #endif
00375 #ifdef USEVARARGS
00376 # ifndef HAVE_VSNPRINTF
00377 extern int xvsnprintf __P((char *, int, char *, va_list));
00378 # endif
00379 #else
00380 extern int xsnprintf __P(());
00381 #endif
00382
00383
00384
00385 #ifdef MULTIUSER
00386 extern int AclCheckPermWin __P((struct acluser *, int, struct win *));
00387 extern int AclCheckPermCmd __P((struct acluser *, int, struct comm *));
00388 extern int AclSetPerm __P((struct acluser *, struct acluser *, char *, char *));
00389 extern int AclUmask __P((struct acluser *, char *, char **));
00390 extern int UsersAcl __P((struct acluser *, int, char **));
00391 extern void AclWinSwap __P((int, int));
00392 extern int NewWindowAcl __P((struct win *, struct acluser *));
00393 extern void FreeWindowAcl __P((struct win *));
00394 extern char *DoSu __P((struct acluser **, char *, char *, char *));
00395 extern int AclLinkUser __P((char *, char *));
00396 #endif
00397 extern int UserFreeCopyBuffer __P((struct acluser *));
00398 extern struct acluser **FindUserPtr __P((char *));
00399 extern int UserAdd __P((char *, char *, struct acluser **));
00400 extern int UserDel __P((char *, struct acluser **));
00401
00402
00403
00404 #ifdef HAVE_BRAILLE
00405 extern void InitBraille __P((void));
00406 extern void RefreshBraille __P((void));
00407 extern void DoBrailleAction __P((struct action *, int));
00408 extern void BGotoPos __P((struct layer *, int, int));
00409 extern void BPutChar __P((struct layer *, struct mchar *, int, int));
00410 extern void BPutStr __P((struct layer *, char *, int, struct mchar *, int, int));
00411 extern void BCDisplayLine __P((struct layer *, struct mline *, int, int, int, int));
00412 #endif
00413
00414
00415
00416
00417
00418 extern void LGotoPos __P((struct layer *, int, int));
00419 extern void LPutChar __P((struct layer *, struct mchar *, int, int));
00420 extern void LInsChar __P((struct layer *, struct mchar *, int, int, struct mline *));
00421 extern void LPutStr __P((struct layer *, char *, int, struct mchar *, int, int));
00422 extern void LPutWinMsg __P((struct layer *, char *, int, struct mchar *, int, int));
00423 extern void LScrollH __P((struct layer *, int, int, int, int, int, struct mline *));
00424 extern void LScrollV __P((struct layer *, int, int, int, int));
00425 extern void LClearAll __P((struct layer *, int));
00426 extern void LClearArea __P((struct layer *, int, int, int, int, int, int));
00427 extern void LClearLine __P((struct layer *, int, int, int, int, struct mline *));
00428 extern void LRefreshAll __P((struct layer *, int));
00429 extern void LCDisplayLine __P((struct layer *, struct mline *, int, int, int, int));
00430 extern void LCDisplayLineWrap __P((struct layer *, struct mline *, int, int, int, int));
00431 extern void LSetRendition __P((struct layer *, struct mchar *));
00432 extern void LWrapChar __P((struct layer *, struct mchar *, int, int, int, int));
00433 extern void LCursorVisibility __P((struct layer *, int));
00434 extern void LSetFlow __P((struct layer *, int));
00435 extern void LKeypadMode __P((struct layer *, int));
00436 extern void LCursorkeysMode __P((struct layer *, int));
00437 extern void LMouseMode __P((struct layer *, int));
00438 #ifdef USEVARARGS
00439 extern void LMsg __P((int, char *, ...)) __attribute__((format(printf, 2, 3)));
00440 #else
00441 extern void LMsg __P(());
00442 #endif
00443 extern void KillLayerChain __P((struct layer *));
00444 extern int InitOverlayPage __P((int, struct LayFuncs *, int));
00445 extern void ExitOverlayPage __P((void));
00446
00447
00448 #ifdef BUILTIN_TELNET
00449 extern int TelOpen __P((char **));
00450 extern int TelConnect __P((struct win *));
00451 extern int TelIsline __P((struct win *p));
00452 extern void TelProcessLine __P((char **, int *));
00453 extern int DoTelnet __P((char *, int *, int));
00454 extern int TelIn __P((struct win *, char *, int, int));
00455 extern void TelBreak __P((struct win *));
00456 extern void TelWindowSize __P((struct win *));
00457 extern void TelStatus __P((struct win *, char *, int));
00458 #endif
00459
00460
00461 extern char *DoNLS __P((char *));
00462
00463
00464 #ifdef ENCODINGS
00465 # ifdef UTF8
00466 extern void InitBuiltinTabs __P((void));
00467 extern struct mchar *recode_mchar __P((struct mchar *, int, int));
00468 extern struct mline *recode_mline __P((struct mline *, int, int, int));
00469 extern int FromUtf8 __P((int, int *));
00470 extern void AddUtf8 __P((int));
00471 extern int ToUtf8 __P((char *, int));
00472 extern int ToUtf8_comb __P((char *, int));
00473 extern int utf8_isdouble __P((int));
00474 extern int utf8_iscomb __P((int));
00475 extern void utf8_handle_comb __P((int, struct mchar *));
00476 extern int ContainsSpecialDeffont __P((struct mline *, int, int, int));
00477 extern int LoadFontTranslation __P((int, char *));
00478 extern void LoadFontTranslationsForEncoding __P((int));
00479 # endif
00480 extern void WinSwitchEncoding __P((struct win *, int));
00481 extern int FindEncoding __P((char *));
00482 extern char *EncodingName __P((int));
00483 extern int EncodingDefFont __P((int));
00484 extern void ResetEncoding __P((struct win *));
00485 extern int CanEncodeFont __P((int, int));
00486 extern int DecodeChar __P((int, int, int *));
00487 extern int RecodeBuf __P((unsigned char *, int, int, int, unsigned char *));
00488 # ifdef DW_CHARS
00489 extern int PrepareEncodedChar __P((int));
00490 # endif
00491 #endif
00492 extern int EncodeChar __P((char *, int, int, int *));