1*65359Sbostic /*************************************************************************** 2*65359Sbostic * This program is Copyright (C) 1986, 1987, 1988 by Jonathan Payne. JOVE * 3*65359Sbostic * is provided to you without charge, and with no warranty. You may give * 4*65359Sbostic * away copies of JOVE, including sources, provided that this notice is * 5*65359Sbostic * included in all the files. * 6*65359Sbostic ***************************************************************************/ 7*65359Sbostic 8*65359Sbostic extern char 9*65359Sbostic /* proc.c */ 10*65359Sbostic *MakeName proto((char *command)), 11*65359Sbostic 12*65359Sbostic /* ask.c */ 13*65359Sbostic *ask_file proto((const char *prmt, char *def, char *buf)), 14*65359Sbostic *ask proto((char *, char *, ...)), 15*65359Sbostic *do_ask proto((char *, bool (*) proto((int)), char *, const char *, ...)); 16*65359Sbostic 17*65359Sbostic extern int 18*65359Sbostic yes_or_no_p proto((char *, ...)); 19*65359Sbostic 20*65359Sbostic extern void 21*65359Sbostic minib_add proto((char *str, bool movedown)); 22*65359Sbostic 23*65359Sbostic extern void 24*65359Sbostic isprocbuf proto((char *bufname)), 25*65359Sbostic DoAutoExec proto((char *new, char *old)); 26*65359Sbostic 27*65359Sbostic extern void 28*65359Sbostic /* extend.c */ 29*65359Sbostic vpr_aux proto((const struct variable *, char *, size_t)), 30*65359Sbostic 31*65359Sbostic /* proc.c */ 32*65359Sbostic #ifndef MSDOS 33*65359Sbostic dowait proto((int pid, int *status)), 34*65359Sbostic #endif 35*65359Sbostic get_FL_info proto((char *, char *)), 36*65359Sbostic ChkErrorLines proto((void)), 37*65359Sbostic ErrFree proto((void)); 38*65359Sbostic 39*65359Sbostic extern SIGRESULT 40*65359Sbostic /* jove.c */ 41*65359Sbostic finish proto((int code)); /* doesn't return at all! */ 42*65359Sbostic 43*65359Sbostic extern int 44*65359Sbostic /* ctype.h */ 45*65359Sbostic ismword proto((int c)), 46*65359Sbostic 47*65359Sbostic /* proc.c */ 48*65359Sbostic UnixToBuf proto((char *, char *, bool, int, bool, ...)), 49*65359Sbostic 50*65359Sbostic /* extend.c */ 51*65359Sbostic addgetc proto((void)), 52*65359Sbostic ask_int proto((char *prompt, int base)), 53*65359Sbostic chr_to_int proto((char *cp, int base, int allints, int *result)), 54*65359Sbostic complete proto((char **possible, const char *prompt, int flags)), 55*65359Sbostic 56*65359Sbostic /* jove.c */ 57*65359Sbostic #ifdef MAC 58*65359Sbostic win_reshape proto((int /*junk*/)), 59*65359Sbostic #endif 60*65359Sbostic charp proto((void)), 61*65359Sbostic getch proto((void)), 62*65359Sbostic jgetchar proto((void)), 63*65359Sbostic getrawinchar proto((void)); 64*65359Sbostic 65*65359Sbostic #ifdef LOAD_AV 66*65359Sbostic extern int 67*65359Sbostic get_la proto((void)); /* integer, units of .01 */ 68*65359Sbostic 69*65359Sbostic extern void 70*65359Sbostic closekmem proto((void)); 71*65359Sbostic #endif /* LOAD_AV */ 72*65359Sbostic 73*65359Sbostic extern bool 74*65359Sbostic joverc proto((char *file)); 75*65359Sbostic 76*65359Sbostic extern void 77*65359Sbostic raw_scream proto((const char *)), 78*65359Sbostic error proto((const char *, ...)), 79*65359Sbostic complain proto((const char *, ...)), 80*65359Sbostic raw_complain proto((const char *, ...)), 81*65359Sbostic confirm proto((const char *, ...)), 82*65359Sbostic ttyset proto((bool n)), 83*65359Sbostic tty_reset proto ((void)), 84*65359Sbostic Ungetc proto((int c)); 85*65359Sbostic 86*65359Sbostic 87*65359Sbostic #ifdef IBMPC 88*65359Sbostic extern bool 89*65359Sbostic rawkey_ready proto((void)); 90*65359Sbostic extern char 91*65359Sbostic switchar proto((void)); 92*65359Sbostic #endif 93*65359Sbostic 94*65359Sbostic extern Bufpos 95*65359Sbostic /* insert.c */ 96*65359Sbostic *DoYank proto((struct line *fline, int fchar, struct line *tline, int tchar, struct line *atline, int atchar, struct buffer *whatbuf)); 97*65359Sbostic 98*65359Sbostic extern void 99*65359Sbostic LineInsert proto((int num)); 100*65359Sbostic 101*65359Sbostic /* c.c */ 102*65359Sbostic extern Bufpos 103*65359Sbostic *c_indent proto((int brace)), 104*65359Sbostic *m_paren proto((int p_type, int dir, int can_mismatch, int can_stop)); 105*65359Sbostic 106*65359Sbostic extern void 107*65359Sbostic mp_error proto((void)); 108*65359Sbostic 109*65359Sbostic extern unsigned char 110*65359Sbostic chpl proto((void)), 111*65359Sbostic lpp proto((void)); 112*65359Sbostic 113*65359Sbostic extern void 114*65359Sbostic DoJustify proto((struct line *l1, int c1, struct line *l2, int c2, bool scrunch, int indent)), 115*65359Sbostic 116*65359Sbostic /* abbrev.c */ 117*65359Sbostic #ifdef ABBREV 118*65359Sbostic AbbrevExpand proto((void)), 119*65359Sbostic #endif 120*65359Sbostic 121*65359Sbostic /* disp.c */ 122*65359Sbostic message proto((char *)), 123*65359Sbostic 124*65359Sbostic /* insert.c */ 125*65359Sbostic #ifdef ABBREV 126*65359Sbostic MaybeAbbrevExpand proto((void)), 127*65359Sbostic #endif 128*65359Sbostic GCchunks proto((void)), 129*65359Sbostic 130*65359Sbostic /* fmt.c */ 131*65359Sbostic format proto((char *buf, size_t len, const char *fmt, char *ap)), 132*65359Sbostic add_mess proto((const char *, ...)), 133*65359Sbostic f_mess proto((const char *, ...)), 134*65359Sbostic fwritef proto((struct FileStruct *, const char *, ...)), 135*65359Sbostic writef proto((const char *, ...)), 136*65359Sbostic s_mess proto((const char *, ...)), 137*65359Sbostic swritef proto((char *, size_t, const char *, ...)), 138*65359Sbostic 139*65359Sbostic /* keymaps.c */ 140*65359Sbostic InitKeymaps proto((void)), 141*65359Sbostic 142*65359Sbostic /* paragraph.c */ 143*65359Sbostic do_rfill proto((bool ulm)), 144*65359Sbostic 145*65359Sbostic /* macros.c */ 146*65359Sbostic mac_init proto((void)), 147*65359Sbostic 148*65359Sbostic /* misc.c */ 149*65359Sbostic skip_wht_space proto((void)), 150*65359Sbostic put_bufs proto((bool askp)), 151*65359Sbostic 152*65359Sbostic /* term.c */ 153*65359Sbostic #ifndef IBMPC 154*65359Sbostic getTERM proto((void)), 155*65359Sbostic #endif 156*65359Sbostic putpad proto((char *str, int lines)), 157*65359Sbostic putargpad proto((char *str, int arg, int lines)), 158*65359Sbostic settout proto((char *ttbuf)); 159*65359Sbostic 160*65359Sbostic #ifdef IBMPC 161*65359Sbostic extern void 162*65359Sbostic write_em proto((char *s)), 163*65359Sbostic write_emc proto((char *s, int n)), 164*65359Sbostic write_emif proto((char *s)); 165*65359Sbostic #endif 166*65359Sbostic 167*65359Sbostic #ifdef MAC 168*65359Sbostic 169*65359Sbostic extern int 170*65359Sbostic creat proto((char *, int)), 171*65359Sbostic open proto((const char *, int, ...)), 172*65359Sbostic close proto((int)), 173*65359Sbostic read proto((int, const char *, unsigned)), 174*65359Sbostic write proto((int, const char *, unsigned)), 175*65359Sbostic unlink proto((const char *)), 176*65359Sbostic chdir proto((const char *)), 177*65359Sbostic getArgs proto((char ***)); 178*65359Sbostic 179*65359Sbostic extern bool 180*65359Sbostic rawchkc proto((void)); 181*65359Sbostic 182*65359Sbostic extern long 183*65359Sbostic lseek proto((int, long, unsigned)); 184*65359Sbostic 185*65359Sbostic extern time_t 186*65359Sbostic time proto((time_t *)); 187*65359Sbostic 188*65359Sbostic #endif /* MAC */ 189*65359Sbostic 190*65359Sbostic extern char 191*65359Sbostic *pwd proto((void)), 192*65359Sbostic #ifdef MAC 193*65359Sbostic *getwd proto((void)), /* OOPS: same name, different type! */ 194*65359Sbostic #else 195*65359Sbostic *getwd proto((char *)), 196*65359Sbostic #endif 197*65359Sbostic *pfile proto((char *)), 198*65359Sbostic *gfile proto((char *)); 199*65359Sbostic 200*65359Sbostic #ifdef MAC 201*65359Sbostic extern void 202*65359Sbostic MacInit proto((void)), 203*65359Sbostic InitBinds proto((void)), 204*65359Sbostic NPlacur proto((int, int)), 205*65359Sbostic i_lines proto((int, int, int)), 206*65359Sbostic d_lines proto((int, int, int)), 207*65359Sbostic clr_page proto((void)), 208*65359Sbostic clr_eoln proto((void)), 209*65359Sbostic docontrols proto((void)), 210*65359Sbostic RemoveScrollBar proto((Window *)), 211*65359Sbostic InitEvents proto((void)), 212*65359Sbostic menus_on proto((void)), 213*65359Sbostic menus_off proto((void)); 214*65359Sbostic #endif 215*65359Sbostic 216*65359Sbostic /* Wired Commands */ 217*65359Sbostic 218*65359Sbostic extern void 219*65359Sbostic UnbindC proto((void)), 220*65359Sbostic ShowVersion proto((void)), 221*65359Sbostic WVisSpace proto((void)), 222*65359Sbostic AppReg proto((void)), 223*65359Sbostic Apropos proto((void)), 224*65359Sbostic BackChar proto((void)), 225*65359Sbostic BList proto((void)), 226*65359Sbostic FList proto((void)), 227*65359Sbostic BUpList proto((void)), 228*65359Sbostic FDownList proto((void)), 229*65359Sbostic BSexpr proto((void)), 230*65359Sbostic BackWord proto((void)), 231*65359Sbostic Bof proto((void)), 232*65359Sbostic Bol proto((void)), 233*65359Sbostic Bos proto((void)), 234*65359Sbostic Bow proto((void)), 235*65359Sbostic BindAKey proto((void)), 236*65359Sbostic BindMac proto((void)), 237*65359Sbostic BufPos proto((void)), 238*65359Sbostic #ifdef MSDOS 239*65359Sbostic Buf0Select proto((void)), 240*65359Sbostic Buf1Select proto((void)), 241*65359Sbostic Buf2Select proto((void)), 242*65359Sbostic Buf3Select proto((void)), 243*65359Sbostic Buf4Select proto((void)), 244*65359Sbostic Buf5Select proto((void)), 245*65359Sbostic Buf6Select proto((void)), 246*65359Sbostic Buf7Select proto((void)), 247*65359Sbostic Buf8Select proto((void)), 248*65359Sbostic Buf9Select proto((void)), 249*65359Sbostic Buf10Select proto((void)), 250*65359Sbostic #endif /* MSDOS */ 251*65359Sbostic CasRegLower proto((void)), 252*65359Sbostic CasRegUpper proto((void)), 253*65359Sbostic CapChar proto((void)), 254*65359Sbostic CapWord proto((void)), 255*65359Sbostic LowWord proto((void)), 256*65359Sbostic UppWord proto((void)), 257*65359Sbostic Chdir proto((void)), 258*65359Sbostic prCWD proto((void)), 259*65359Sbostic prDIRS proto((void)), 260*65359Sbostic Pushd proto((void)), 261*65359Sbostic Popd proto((void)), 262*65359Sbostic prCTIME proto((void)), 263*65359Sbostic ChrToOct proto((void)), 264*65359Sbostic ClAndRedraw proto((void)), 265*65359Sbostic #ifndef MAC 266*65359Sbostic MakeErrors proto((void)), 267*65359Sbostic ErrParse proto((void)), 268*65359Sbostic #endif 269*65359Sbostic CopyRegion proto((void)), 270*65359Sbostic BufSelect proto((void)), 271*65359Sbostic DelBlnkLines proto((void)), 272*65359Sbostic DelNChar proto((void)), 273*65359Sbostic DelNWord proto((void)), 274*65359Sbostic OneWindow proto((void)), 275*65359Sbostic DelPChar proto((void)), 276*65359Sbostic DelPWord proto((void)), 277*65359Sbostic DelReg proto((void)), 278*65359Sbostic KillSome proto((void)), 279*65359Sbostic DelWtSpace proto((void)), 280*65359Sbostic DelCurWindow proto((void)), 281*65359Sbostic KeyDesc proto((void)), 282*65359Sbostic Digit proto((void)), 283*65359Sbostic Digit0 proto((void)), 284*65359Sbostic Digit1 proto((void)), 285*65359Sbostic Digit2 proto((void)), 286*65359Sbostic Digit3 proto((void)), 287*65359Sbostic Digit4 proto((void)), 288*65359Sbostic Digit5 proto((void)), 289*65359Sbostic Digit6 proto((void)), 290*65359Sbostic Digit7 proto((void)), 291*65359Sbostic Digit8 proto((void)), 292*65359Sbostic Digit9 proto((void)), 293*65359Sbostic DescBindings proto((void)), 294*65359Sbostic DescCom proto((void)), 295*65359Sbostic Eof proto((void)), 296*65359Sbostic Eol proto((void)), 297*65359Sbostic Eos proto((void)), 298*65359Sbostic Eow proto((void)), 299*65359Sbostic ForPara proto((void)), 300*65359Sbostic BackPara proto((void)), 301*65359Sbostic BufErase proto((void)), 302*65359Sbostic PtToMark proto((void)), 303*65359Sbostic Extend proto((void)), 304*65359Sbostic ExecMacro proto((void)), 305*65359Sbostic RunMacro proto((void)), 306*65359Sbostic Leave proto((void)), 307*65359Sbostic FindFile proto((void)), 308*65359Sbostic WindFind proto((void)), 309*65359Sbostic FindTag proto((void)), 310*65359Sbostic FDotTag proto((void)), 311*65359Sbostic ToIndent proto((void)), 312*65359Sbostic ForChar proto((void)), 313*65359Sbostic FSexpr proto((void)), 314*65359Sbostic ForWord proto((void)), 315*65359Sbostic TimesFour proto((void)), 316*65359Sbostic GoLine proto((void)), 317*65359Sbostic GrowWindowCmd proto((void)), 318*65359Sbostic IncFSearch proto((void)), 319*65359Sbostic IncRSearch proto((void)), 320*65359Sbostic InsFile proto((void)), 321*65359Sbostic Justify proto((void)), 322*65359Sbostic RegJustify proto((void)), 323*65359Sbostic SetLMargin proto((void)), 324*65359Sbostic SetRMargin proto((void)), 325*65359Sbostic LRShift proto((void)), 326*65359Sbostic RRShift proto((void)), 327*65359Sbostic BufKill proto((void)), 328*65359Sbostic KillBos proto((void)), 329*65359Sbostic KillEos proto((void)), 330*65359Sbostic KillEOL proto((void)), 331*65359Sbostic KillExpr proto((void)), 332*65359Sbostic BufList proto((void)), 333*65359Sbostic NotModified proto((void)), 334*65359Sbostic NameMac proto((void)), 335*65359Sbostic DelMacro proto((void)), 336*65359Sbostic Newline proto((void)), 337*65359Sbostic OpenLine proto((void)), 338*65359Sbostic LineAI proto((void)), 339*65359Sbostic #ifndef MAC 340*65359Sbostic ShowErr proto((void)), 341*65359Sbostic NextError proto((void)), 342*65359Sbostic PrevError proto((void)), 343*65359Sbostic ParseAll proto((void)), 344*65359Sbostic #endif /* MAC */ 345*65359Sbostic #ifdef MSDOS 346*65359Sbostic PageScrollUp proto((void)), 347*65359Sbostic PageScrollDown proto((void)), 348*65359Sbostic #endif /* MSDOS */ 349*65359Sbostic NextLine proto((void)), 350*65359Sbostic NextPage proto((void)), 351*65359Sbostic NextWindow proto((void)), 352*65359Sbostic Recur proto((void)), 353*65359Sbostic PopMark proto((void)), 354*65359Sbostic PageNWind proto((void)), 355*65359Sbostic Tab proto((void)), 356*65359Sbostic DoParen proto((void)), 357*65359Sbostic #ifdef SPELL 358*65359Sbostic SpelWords proto((void)), 359*65359Sbostic #endif 360*65359Sbostic #ifdef JOB_CONTROL 361*65359Sbostic PauseJove proto((void)), 362*65359Sbostic #endif 363*65359Sbostic PrevLine proto((void)), 364*65359Sbostic PrevPage proto((void)), 365*65359Sbostic PrevWindow proto((void)), 366*65359Sbostic #ifndef MAC 367*65359Sbostic jcloseall proto((void)), 368*65359Sbostic Push proto((void)), 369*65359Sbostic #endif 370*65359Sbostic RegReplace proto((void)), 371*65359Sbostic QRepSearch proto((void)), 372*65359Sbostic QuotChar proto((void)), 373*65359Sbostic ReadFile proto((void)), 374*65359Sbostic DefKBDMac proto((void)), 375*65359Sbostic RedrawDisplay proto((void)), 376*65359Sbostic ReNamBuf proto((void)), 377*65359Sbostic RepSearch proto((void)), 378*65359Sbostic DownScroll proto((void)), 379*65359Sbostic UpScroll proto((void)), 380*65359Sbostic ForSearch proto((void)), 381*65359Sbostic FSrchND proto((void)), 382*65359Sbostic RevSearch proto((void)), 383*65359Sbostic RSrchND proto((void)), 384*65359Sbostic SelfInsert proto((void)), 385*65359Sbostic SetVar proto((void)), 386*65359Sbostic SetMark proto((void)), 387*65359Sbostic #ifndef MAC 388*65359Sbostic ShellCom proto((void)), 389*65359Sbostic ShNoBuf proto((void)), 390*65359Sbostic Shtypeout proto((void)), 391*65359Sbostic ShToBuf proto((void)), 392*65359Sbostic FilterRegion proto((void)), 393*65359Sbostic #endif 394*65359Sbostic ShrWindow proto((void)), 395*65359Sbostic Source proto((void)), 396*65359Sbostic #ifdef SPELL 397*65359Sbostic SpelBuffer proto((void)), 398*65359Sbostic #endif 399*65359Sbostic SplitWind proto((void)), 400*65359Sbostic GotoWind proto((void)), 401*65359Sbostic Remember proto((void)), 402*65359Sbostic Forget proto((void)), 403*65359Sbostic StrLength proto((void)), 404*65359Sbostic TransChar proto((void)), 405*65359Sbostic TransLines proto((void)), 406*65359Sbostic SaveFile proto((void)), 407*65359Sbostic WtModBuf proto((void)), 408*65359Sbostic WriteMacs proto((void)), 409*65359Sbostic XtermMouse proto((void)), 410*65359Sbostic WrtReg proto((void)), 411*65359Sbostic Yank proto((void)), 412*65359Sbostic YankPop proto((void)), 413*65359Sbostic PrVar proto((void)), 414*65359Sbostic WNumLines proto((void)), 415*65359Sbostic #ifdef IPROCS 416*65359Sbostic ShellProc proto((void)), 417*65359Sbostic ProcInt proto((void)), 418*65359Sbostic ProcQuit proto((void)), 419*65359Sbostic ProcKill proto((void)), 420*65359Sbostic # ifdef PTYPROCS 421*65359Sbostic ProcEof proto((void)), 422*65359Sbostic ProcStop proto((void)), 423*65359Sbostic ProcCont proto((void)), 424*65359Sbostic ProcDStop proto((void)), 425*65359Sbostic # endif 426*65359Sbostic ProcSendData proto((void)), 427*65359Sbostic ProcNewline proto((void)), 428*65359Sbostic ProcList proto((void)), 429*65359Sbostic ProcBind proto((void)), 430*65359Sbostic Iprocess proto((void)), 431*65359Sbostic DBXpoutput proto((void)), 432*65359Sbostic #endif 433*65359Sbostic 434*65359Sbostic #ifdef LISP 435*65359Sbostic GSexpr proto((void)), /* Grind S Expression. */ 436*65359Sbostic AddSpecial proto((void)), /* add lisp special form */ 437*65359Sbostic #endif 438*65359Sbostic CAutoExec proto((void)), 439*65359Sbostic MAutoExec proto((void)), 440*65359Sbostic 441*65359Sbostic DefMAbbrev proto((void)), 442*65359Sbostic DefGAbbrev proto((void)), 443*65359Sbostic SaveAbbrevs proto((void)), 444*65359Sbostic RestAbbrevs proto((void)), 445*65359Sbostic EditAbbrevs proto((void)), 446*65359Sbostic BindMtoW proto((void)), 447*65359Sbostic 448*65359Sbostic #ifdef CMT_FMT 449*65359Sbostic Comment proto((void)), 450*65359Sbostic #endif 451*65359Sbostic 452*65359Sbostic ScrollLeft proto((void)), 453*65359Sbostic ScrollRight proto((void)), 454*65359Sbostic 455*65359Sbostic MakeKMap proto((void)), 456*65359Sbostic KmBind proto((void)), 457*65359Sbostic ProcKmBind proto((void)), 458*65359Sbostic 459*65359Sbostic MacInter proto((void)); /* This is the last one. */ 460*65359Sbostic 461*65359Sbostic /*==== Declarations of Library/System Routines ====*/ 462*65359Sbostic 463*65359Sbostic extern int errno; /* Redundant if declared in <errno.h> -- DHR */ 464*65359Sbostic extern char *strerror proto((int)); /* errno.h or string.h? */ 465*65359Sbostic 466*65359Sbostic /* General Utilities: <stdlib.h> */ 467*65359Sbostic 468*65359Sbostic extern int abs proto((int)); 469*65359Sbostic 470*65359Sbostic extern void abort proto((void)); 471*65359Sbostic extern void exit proto((int)); 472*65359Sbostic 473*65359Sbostic extern int atoi proto((const char */*nptr*/)); 474*65359Sbostic 475*65359Sbostic extern void qsort proto((UnivPtr /*base*/, size_t /*nmemb*/, 476*65359Sbostic size_t /*size*/, int (*/*compar*/)(UnivConstPtr, UnivConstPtr))); 477*65359Sbostic 478*65359Sbostic extern char *getenv proto((const char *)); 479*65359Sbostic extern int system proto((const char *)); 480*65359Sbostic 481*65359Sbostic extern void 482*65359Sbostic free proto((UnivPtr)); 483*65359Sbostic 484*65359Sbostic extern UnivPtr 485*65359Sbostic calloc proto((unsigned int, unsigned int)), 486*65359Sbostic malloc proto((size_t)), 487*65359Sbostic realloc proto((UnivPtr, size_t)); 488*65359Sbostic 489*65359Sbostic /* Date and Time <time.h> */ 490*65359Sbostic 491*65359Sbostic extern time_t time proto((time_t */*tloc*/)); 492*65359Sbostic extern char *ctime proto((const time_t *)); 493*65359Sbostic 494*65359Sbostic /* UNIX */ 495*65359Sbostic 496*65359Sbostic #ifdef IBMPC 497*65359Sbostic #define const /* the const's in the following defs conflict with MSC 5.1 */ 498*65359Sbostic #endif 499*65359Sbostic 500*65359Sbostic #ifdef POSIX_UNISTD 501*65359Sbostic # include <unistd.h> 502*65359Sbostic #else /* !POSIX_UNISTD */ 503*65359Sbostic extern int chdir proto((const char */*path*/)); 504*65359Sbostic extern int access proto((const char */*path*/, int /*mode*/)); 505*65359Sbostic extern int creat proto((const char */*path*/, int /*mode*/)); 506*65359Sbostic /* Open may have an optional third argument, int mode */ 507*65359Sbostic extern int open proto((const char */*path*/, int /*flags*/, ...)); 508*65359Sbostic 509*65359Sbostic 510*65359Sbostic #ifdef IBMPC 511*65359Sbostic extern int read proto((int /*fd*/, char * /*buf*/, size_t /*nbytes*/)); 512*65359Sbostic extern int write proto((int /*fd*/, const char * /*buf*/, size_t /*nbytes*/)); 513*65359Sbostic #else 514*65359Sbostic extern int read proto((int /*fd*/, UnivPtr /*buf*/, size_t /*nbytes*/)); 515*65359Sbostic extern int write proto((int /*fd*/, UnivConstPtr /*buf*/, size_t /*nbytes*/)); 516*65359Sbostic #endif 517*65359Sbostic 518*65359Sbostic extern int execl proto((const char */*name*/, const char */*arg0*/, ...)); 519*65359Sbostic extern int execlp proto((const char */*name*/, const char */*arg0*/, ...)); 520*65359Sbostic extern int execv proto((const char */*name*/, const char */*argv*/[])); 521*65359Sbostic extern int execvp proto((const char */*name*/, const char */*argv*/[])); 522*65359Sbostic 523*65359Sbostic #ifdef IBMPC 524*65359Sbostic #undef const 525*65359Sbostic #endif 526*65359Sbostic 527*65359Sbostic extern void _exit proto((int)); /* exit(), without flush, etc */ 528*65359Sbostic 529*65359Sbostic extern unsigned alarm proto((unsigned /*seconds*/)); 530*65359Sbostic 531*65359Sbostic extern int pipe proto((int *)); 532*65359Sbostic extern int close proto((int)); 533*65359Sbostic extern int dup proto((int)); 534*65359Sbostic extern int dup2 proto((int /*old_fd*/, int /*new_fd*/)); 535*65359Sbostic extern long lseek proto((int /*fd*/, long /*offset*/, int /*whence*/)); 536*65359Sbostic extern int fchmod proto((int /*fd*/, int /*mode*/)); 537*65359Sbostic extern int fork proto((void)); 538*65359Sbostic 539*65359Sbostic extern int getpid proto((void)); 540*65359Sbostic extern int getuid proto((void)); 541*65359Sbostic 542*65359Sbostic extern int setuid proto((int)); 543*65359Sbostic extern int chown proto((const char *, int, int)); 544*65359Sbostic 545*65359Sbostic extern int kill proto((int /*pid*/, int /*sig*/)); 546*65359Sbostic extern void perror proto((const char *)); 547*65359Sbostic 548*65359Sbostic #endif /* POSIX_UNISTD */ 549*65359Sbostic 550*65359Sbostic extern int unlink proto((const char */*path*/)); 551*65359Sbostic extern int fsync proto((int)); 552*65359Sbostic 553*65359Sbostic 554*65359Sbostic extern char *mktemp proto((char *)); 555*65359Sbostic 556*65359Sbostic 557*65359Sbostic /* BSD UNIX 558*65359Sbostic * 559*65359Sbostic * Note: in most systems, declaration of a non-existant function is 560*65359Sbostic * OK if the function is never actually called. The parentheses around 561*65359Sbostic * the name prevent any macro expansion. 562*65359Sbostic */ 563*65359Sbostic 564*65359Sbostic extern int UNMACRO(vfork) proto((void)); 565*65359Sbostic 566*65359Sbostic #ifdef BSD_SIGS 567*65359Sbostic #ifndef BSD386 568*65359Sbostic extern int UNMACRO(killpg) proto((int /*pgrp*/, int /*sig*/)); 569*65359Sbostic #endif 570*65359Sbostic #endif 571*65359Sbostic 572*65359Sbostic #ifndef BSD386 573*65359Sbostic extern int UNMACRO(setpgrp) proto((int /*pid*/, int /*pgrp*/)); /* Sys V takes no arg */ 574*65359Sbostic #endif 575*65359Sbostic 576*65359Sbostic #ifdef REALSTDC 577*65359Sbostic struct timeval; /* forward declaration preventing prototype scoping */ 578*65359Sbostic #endif 579*65359Sbostic 580*65359Sbostic #ifndef BSD386 581*65359Sbostic extern int UNMACRO(select) proto((int /*width*/, fd_set */*readfds*/, fd_set */*writefds*/, 582*65359Sbostic fd_set */*exceptfds*/, struct timeval */*timeout*/)); 583*65359Sbostic #endif 584*65359Sbostic 585*65359Sbostic extern void UNMACRO(bcopy) proto((UnivConstPtr, UnivPtr, size_t)); 586*65359Sbostic extern void UNMACRO(bzero) proto((UnivPtr, size_t)); 587*65359Sbostic 588*65359Sbostic /* termcap */ 589*65359Sbostic 590*65359Sbostic extern int UNMACRO(tgetent) proto((char */*buf*/, const char */*name*/)); 591*65359Sbostic extern int UNMACRO(tgetflag) proto((const char */*id*/)); 592*65359Sbostic extern int UNMACRO(tgetnum) proto((const char */*id*/)); 593*65359Sbostic extern char *UNMACRO(tgetstr) proto((const char */*id*/, char **/*area*/)); 594*65359Sbostic extern void UNMACRO(tputs) proto((const char *, int, void (*) proto((int)))); 595*65359Sbostic extern char *UNMACRO(tgoto) proto((const char *, int /*destcol*/, int /*destline*/)); 596