1*7dd7cddfSDavid du Colombier /* 2*7dd7cddfSDavid du Colombier * prototypes for PD-KSH 3*7dd7cddfSDavid du Colombier * originally generated using "cproto.c 3.5 92/04/11 19:28:01 cthuang " 4*7dd7cddfSDavid du Colombier * $Id: proto.h,v 1.3 1994/05/19 18:32:40 michael Exp michael $ 5*7dd7cddfSDavid du Colombier */ 6*7dd7cddfSDavid du Colombier 7*7dd7cddfSDavid du Colombier /* alloc.c */ 8*7dd7cddfSDavid du Colombier Area * ainit ARGS((Area *ap)); 9*7dd7cddfSDavid du Colombier void afreeall ARGS((Area *ap)); 10*7dd7cddfSDavid du Colombier void * alloc ARGS((size_t size, Area *ap)); 11*7dd7cddfSDavid du Colombier void * aresize ARGS((void *ptr, size_t size, Area *ap)); 12*7dd7cddfSDavid du Colombier void afree ARGS((void *ptr, Area *ap)); 13*7dd7cddfSDavid du Colombier /* c_ksh.c */ 14*7dd7cddfSDavid du Colombier int c_hash ARGS((char **wp)); 15*7dd7cddfSDavid du Colombier int c_cd ARGS((char **wp)); 16*7dd7cddfSDavid du Colombier int c_pwd ARGS((char **wp)); 17*7dd7cddfSDavid du Colombier int c_print ARGS((char **wp)); 18*7dd7cddfSDavid du Colombier int c_whence ARGS((char **wp)); 19*7dd7cddfSDavid du Colombier int c_command ARGS((char **wp)); 20*7dd7cddfSDavid du Colombier int c_typeset ARGS((char **wp)); 21*7dd7cddfSDavid du Colombier int c_alias ARGS((char **wp)); 22*7dd7cddfSDavid du Colombier int c_unalias ARGS((char **wp)); 23*7dd7cddfSDavid du Colombier int c_let ARGS((char **wp)); 24*7dd7cddfSDavid du Colombier int c_jobs ARGS((char **wp)); 25*7dd7cddfSDavid du Colombier int c_fgbg ARGS((char **wp)); 26*7dd7cddfSDavid du Colombier int c_kill ARGS((char **wp)); 27*7dd7cddfSDavid du Colombier void getopts_reset ARGS((int val)); 28*7dd7cddfSDavid du Colombier int c_getopts ARGS((char **wp)); 29*7dd7cddfSDavid du Colombier int c_bind ARGS((char **wp)); 30*7dd7cddfSDavid du Colombier /* c_sh.c */ 31*7dd7cddfSDavid du Colombier int c_label ARGS((char **wp)); 32*7dd7cddfSDavid du Colombier int c_shift ARGS((char **wp)); 33*7dd7cddfSDavid du Colombier int c_umask ARGS((char **wp)); 34*7dd7cddfSDavid du Colombier int c_dot ARGS((char **wp)); 35*7dd7cddfSDavid du Colombier int c_wait ARGS((char **wp)); 36*7dd7cddfSDavid du Colombier int c_read ARGS((char **wp)); 37*7dd7cddfSDavid du Colombier int c_eval ARGS((char **wp)); 38*7dd7cddfSDavid du Colombier int c_trap ARGS((char **wp)); 39*7dd7cddfSDavid du Colombier int c_brkcont ARGS((char **wp)); 40*7dd7cddfSDavid du Colombier int c_exitreturn ARGS((char **wp)); 41*7dd7cddfSDavid du Colombier int c_set ARGS((char **wp)); 42*7dd7cddfSDavid du Colombier int c_unset ARGS((char **wp)); 43*7dd7cddfSDavid du Colombier int c_ulimit ARGS((char **wp)); 44*7dd7cddfSDavid du Colombier int c_times ARGS((char **wp)); 45*7dd7cddfSDavid du Colombier int timex ARGS((struct op *t, int f)); 46*7dd7cddfSDavid du Colombier void timex_hook ARGS((struct op *t, char ** volatile *app)); 47*7dd7cddfSDavid du Colombier int c_exec ARGS((char **wp)); 48*7dd7cddfSDavid du Colombier int c_builtin ARGS((char **wp)); 49*7dd7cddfSDavid du Colombier /* c_test.c */ 50*7dd7cddfSDavid du Colombier int c_test ARGS((char **wp)); 51*7dd7cddfSDavid du Colombier /* edit.c: most prototypes in edit.h */ 52*7dd7cddfSDavid du Colombier void x_init ARGS((void)); 53*7dd7cddfSDavid du Colombier int x_read ARGS((char *buf, size_t len)); 54*7dd7cddfSDavid du Colombier void set_editmode ARGS((const char *ed)); 55*7dd7cddfSDavid du Colombier /* emacs.c: most prototypes in edit.h */ 56*7dd7cddfSDavid du Colombier int x_bind ARGS((const char *a1, const char *a2, int macro, 57*7dd7cddfSDavid du Colombier int list)); 58*7dd7cddfSDavid du Colombier /* eval.c */ 59*7dd7cddfSDavid du Colombier char * substitute ARGS((const char *cp, int f)); 60*7dd7cddfSDavid du Colombier char ** eval ARGS((char **ap, int f)); 61*7dd7cddfSDavid du Colombier char * evalstr ARGS((char *cp, int f)); 62*7dd7cddfSDavid du Colombier char * evalonestr ARGS((char *cp, int f)); 63*7dd7cddfSDavid du Colombier char *debunk ARGS((char *dp, const char *sp)); 64*7dd7cddfSDavid du Colombier void expand ARGS((char *cp, XPtrV *wp, int f)); 65*7dd7cddfSDavid du Colombier int glob_str ARGS((char *cp, XPtrV *wp, int markdirs)); 66*7dd7cddfSDavid du Colombier /* exec.c */ 67*7dd7cddfSDavid du Colombier int fd_clexec ARGS((int fd)); 68*7dd7cddfSDavid du Colombier int execute ARGS((struct op * volatile t, volatile int flags)); 69*7dd7cddfSDavid du Colombier int shcomexec ARGS((char **wp)); 70*7dd7cddfSDavid du Colombier struct tbl * findfunc ARGS((const char *name, unsigned int h, int create)); 71*7dd7cddfSDavid du Colombier int define ARGS((const char *name, struct op *t)); 72*7dd7cddfSDavid du Colombier void builtin ARGS((const char *name, int (*func)(char **))); 73*7dd7cddfSDavid du Colombier struct tbl * findcom ARGS((const char *name, int flags)); 74*7dd7cddfSDavid du Colombier void flushcom ARGS((int all)); 75*7dd7cddfSDavid du Colombier char * search ARGS((const char *name, const char *path, int mode, 76*7dd7cddfSDavid du Colombier int *errnop)); 77*7dd7cddfSDavid du Colombier int search_access ARGS((const char *path, int mode, int *errnop)); 78*7dd7cddfSDavid du Colombier int pr_menu ARGS((char *const *ap)); 79*7dd7cddfSDavid du Colombier /* expr.c */ 80*7dd7cddfSDavid du Colombier int evaluate ARGS((const char *expr, long *rval, int error_ok)); 81*7dd7cddfSDavid du Colombier int v_evaluate ARGS((struct tbl *vp, const char *expr, volatile int error_ok)); 82*7dd7cddfSDavid du Colombier /* history.c */ 83*7dd7cddfSDavid du Colombier void init_histvec ARGS((void)); 84*7dd7cddfSDavid du Colombier void hist_init ARGS((Source *s)); 85*7dd7cddfSDavid du Colombier void hist_finish ARGS((void)); 86*7dd7cddfSDavid du Colombier void histsave ARGS((int lno, const char *cmd, int dowrite)); 87*7dd7cddfSDavid du Colombier #ifdef HISTORY 88*7dd7cddfSDavid du Colombier int c_fc ARGS((register char **wp)); 89*7dd7cddfSDavid du Colombier void sethistsize ARGS((int n)); 90*7dd7cddfSDavid du Colombier void sethistfile ARGS((const char *name)); 91*7dd7cddfSDavid du Colombier # ifdef EASY_HISTORY 92*7dd7cddfSDavid du Colombier void histappend ARGS((const char *cmd, int nl_separate)); 93*7dd7cddfSDavid du Colombier # endif 94*7dd7cddfSDavid du Colombier char ** histpos ARGS((void)); 95*7dd7cddfSDavid du Colombier int histN ARGS((void)); 96*7dd7cddfSDavid du Colombier int histnum ARGS((int n)); 97*7dd7cddfSDavid du Colombier int findhist ARGS((int start, int fwd, const char *str, 98*7dd7cddfSDavid du Colombier int anchored)); 99*7dd7cddfSDavid du Colombier #endif /* HISTORY */ 100*7dd7cddfSDavid du Colombier /* io.c */ 101*7dd7cddfSDavid du Colombier void errorf ARGS((const char *fmt, ...)) 102*7dd7cddfSDavid du Colombier GCC_FUNC_ATTR2(noreturn, format(printf, 1, 2)); 103*7dd7cddfSDavid du Colombier void warningf ARGS((int fileline, const char *fmt, ...)) 104*7dd7cddfSDavid du Colombier GCC_FUNC_ATTR(format(printf, 2, 3)); 105*7dd7cddfSDavid du Colombier void bi_errorf ARGS((const char *fmt, ...)) 106*7dd7cddfSDavid du Colombier GCC_FUNC_ATTR(format(printf, 1, 2)); 107*7dd7cddfSDavid du Colombier void internal_errorf ARGS((int jump, const char *fmt, ...)) 108*7dd7cddfSDavid du Colombier GCC_FUNC_ATTR(format(printf, 2, 3)); 109*7dd7cddfSDavid du Colombier void error_prefix ARGS((int fileline)); 110*7dd7cddfSDavid du Colombier void shellf ARGS((const char *fmt, ...)) 111*7dd7cddfSDavid du Colombier GCC_FUNC_ATTR(format(printf, 1, 2)); 112*7dd7cddfSDavid du Colombier void shprintf ARGS((const char *fmt, ...)) 113*7dd7cddfSDavid du Colombier GCC_FUNC_ATTR(format(printf, 1, 2)); 114*7dd7cddfSDavid du Colombier #ifdef KSH_DEBUG 115*7dd7cddfSDavid du Colombier void kshdebug_init_ ARGS((void)); 116*7dd7cddfSDavid du Colombier void kshdebug_printf_ ARGS((const char *fmt, ...)) 117*7dd7cddfSDavid du Colombier GCC_FUNC_ATTR(format(printf, 1, 2)); 118*7dd7cddfSDavid du Colombier void kshdebug_dump_ ARGS((const char *str, const void *mem, int nbytes)); 119*7dd7cddfSDavid du Colombier #endif /* KSH_DEBUG */ 120*7dd7cddfSDavid du Colombier int can_seek ARGS((int fd)); 121*7dd7cddfSDavid du Colombier void initio ARGS((void)); 122*7dd7cddfSDavid du Colombier int ksh_dup2 ARGS((int ofd, int nfd, int errok)); 123*7dd7cddfSDavid du Colombier int savefd ARGS((int fd, int noclose)); 124*7dd7cddfSDavid du Colombier void restfd ARGS((int fd, int ofd)); 125*7dd7cddfSDavid du Colombier void openpipe ARGS((int *pv)); 126*7dd7cddfSDavid du Colombier void closepipe ARGS((int *pv)); 127*7dd7cddfSDavid du Colombier int check_fd ARGS((char *name, int mode, const char **emsgp)); 128*7dd7cddfSDavid du Colombier #ifdef KSH 129*7dd7cddfSDavid du Colombier void coproc_init ARGS((void)); 130*7dd7cddfSDavid du Colombier void coproc_read_close ARGS((int fd)); 131*7dd7cddfSDavid du Colombier void coproc_readw_close ARGS((int fd)); 132*7dd7cddfSDavid du Colombier void coproc_write_close ARGS((int fd)); 133*7dd7cddfSDavid du Colombier int coproc_getfd ARGS((int mode, const char **emsgp)); 134*7dd7cddfSDavid du Colombier void coproc_cleanup ARGS((int reuse)); 135*7dd7cddfSDavid du Colombier #endif /* KSH */ 136*7dd7cddfSDavid du Colombier struct temp *maketemp ARGS((Area *ap, Temp_type type, struct temp **tlist)); 137*7dd7cddfSDavid du Colombier /* jobs.c */ 138*7dd7cddfSDavid du Colombier void j_init ARGS((int mflagset)); 139*7dd7cddfSDavid du Colombier void j_exit ARGS((void)); 140*7dd7cddfSDavid du Colombier void j_change ARGS((void)); 141*7dd7cddfSDavid du Colombier int exchild ARGS((struct op *t, int flags, int close_fd)); 142*7dd7cddfSDavid du Colombier void startlast ARGS((void)); 143*7dd7cddfSDavid du Colombier int waitlast ARGS((void)); 144*7dd7cddfSDavid du Colombier int waitfor ARGS((const char *cp, int *sigp)); 145*7dd7cddfSDavid du Colombier int j_kill ARGS((const char *cp, int sig)); 146*7dd7cddfSDavid du Colombier int j_resume ARGS((const char *cp, int bg)); 147*7dd7cddfSDavid du Colombier int j_jobs ARGS((const char *cp, int slp, int nflag)); 148*7dd7cddfSDavid du Colombier void j_notify ARGS((void)); 149*7dd7cddfSDavid du Colombier pid_t j_async ARGS((void)); 150*7dd7cddfSDavid du Colombier int j_stopped_running ARGS((void)); 151*7dd7cddfSDavid du Colombier /* lex.c */ 152*7dd7cddfSDavid du Colombier int yylex ARGS((int cf)); 153*7dd7cddfSDavid du Colombier void yyerror ARGS((const char *fmt, ...)) 154*7dd7cddfSDavid du Colombier GCC_FUNC_ATTR2(noreturn, format(printf, 1, 2)); 155*7dd7cddfSDavid du Colombier Source * pushs ARGS((int type, Area *areap)); 156*7dd7cddfSDavid du Colombier void set_prompt ARGS((int to, Source *s)); 157*7dd7cddfSDavid du Colombier void pprompt ARGS((const char *cp, int ntruncate)); 158*7dd7cddfSDavid du Colombier /* mail.c */ 159*7dd7cddfSDavid du Colombier #ifdef KSH 160*7dd7cddfSDavid du Colombier void mcheck ARGS((void)); 161*7dd7cddfSDavid du Colombier void mcset ARGS((long interval)); 162*7dd7cddfSDavid du Colombier void mbset ARGS((char *p)); 163*7dd7cddfSDavid du Colombier void mpset ARGS((char *mptoparse)); 164*7dd7cddfSDavid du Colombier #endif /* KSH */ 165*7dd7cddfSDavid du Colombier /* main.c */ 166*7dd7cddfSDavid du Colombier int include ARGS((const char *name, int argc, char **argv, 167*7dd7cddfSDavid du Colombier int intr_ok)); 168*7dd7cddfSDavid du Colombier int command ARGS((const char *comm)); 169*7dd7cddfSDavid du Colombier int shell ARGS((Source *volatile s, int volatile toplevel)); 170*7dd7cddfSDavid du Colombier void unwind ARGS((int i)) GCC_FUNC_ATTR(noreturn); 171*7dd7cddfSDavid du Colombier void newenv ARGS((int type)); 172*7dd7cddfSDavid du Colombier void quitenv ARGS((void)); 173*7dd7cddfSDavid du Colombier void cleanup_parents_env ARGS((void)); 174*7dd7cddfSDavid du Colombier void cleanup_proc_env ARGS((void)); 175*7dd7cddfSDavid du Colombier void aerror ARGS((Area *ap, const char *msg)) 176*7dd7cddfSDavid du Colombier GCC_FUNC_ATTR(noreturn); 177*7dd7cddfSDavid du Colombier /* misc.c */ 178*7dd7cddfSDavid du Colombier void setctypes ARGS((const char *s, int t)); 179*7dd7cddfSDavid du Colombier void initctypes ARGS((void)); 180*7dd7cddfSDavid du Colombier char * ulton ARGS((unsigned long n, int base)); 181*7dd7cddfSDavid du Colombier char * str_save ARGS((const char *s, Area *ap)); 182*7dd7cddfSDavid du Colombier char * str_nsave ARGS((const char *s, int n, Area *ap)); 183*7dd7cddfSDavid du Colombier int option ARGS((const char *n)); 184*7dd7cddfSDavid du Colombier char * getoptions ARGS((void)); 185*7dd7cddfSDavid du Colombier void change_flag ARGS((enum sh_flag f, int what, int newval)); 186*7dd7cddfSDavid du Colombier int parse_args ARGS((char **argv, int what, int *setargsp)); 187*7dd7cddfSDavid du Colombier int getn ARGS((const char *as, int *ai)); 188*7dd7cddfSDavid du Colombier int bi_getn ARGS((const char *as, int *ai)); 189*7dd7cddfSDavid du Colombier char * strerror ARGS((int i)); 190*7dd7cddfSDavid du Colombier int gmatch ARGS((const char *s, const char *p, int isfile)); 191*7dd7cddfSDavid du Colombier int has_globbing ARGS((const char *xp, const char *xpe)); 192*7dd7cddfSDavid du Colombier const unsigned char *pat_scan ARGS((const unsigned char *p, 193*7dd7cddfSDavid du Colombier const unsigned char *pe, int match_sep)); 194*7dd7cddfSDavid du Colombier void qsortp ARGS((void **base, size_t n, int (*f)(void *, void *))); 195*7dd7cddfSDavid du Colombier int xstrcmp ARGS((void *p1, void *p2)); 196*7dd7cddfSDavid du Colombier void ksh_getopt_reset ARGS((Getopt *go, int)); 197*7dd7cddfSDavid du Colombier int ksh_getopt ARGS((char **argv, Getopt *go, const char *options)); 198*7dd7cddfSDavid du Colombier void print_value_quoted ARGS((const char *s)); 199*7dd7cddfSDavid du Colombier void print_columns ARGS((struct shf *shf, int n, 200*7dd7cddfSDavid du Colombier char *(*func)(void *, int, char *, int), 201*7dd7cddfSDavid du Colombier void *arg, int max_width)); 202*7dd7cddfSDavid du Colombier int strip_nuls ARGS((char *buf, int nbytes)); 203*7dd7cddfSDavid du Colombier char *str_zcpy ARGS((char *dst, const char *src, int dsize)); 204*7dd7cddfSDavid du Colombier int blocking_read ARGS((int fd, char *buf, int nbytes)); 205*7dd7cddfSDavid du Colombier int reset_nonblock ARGS((int fd)); 206*7dd7cddfSDavid du Colombier char *ksh_get_wd ARGS((char *buf, int bsize)); 207*7dd7cddfSDavid du Colombier /* path.c */ 208*7dd7cddfSDavid du Colombier int make_path ARGS((const char *cwd, const char *file, 209*7dd7cddfSDavid du Colombier char **pathlist, XString *xsp, int *phys_pathp)); 210*7dd7cddfSDavid du Colombier void simplify_path ARGS((char *path)); 211*7dd7cddfSDavid du Colombier char *get_phys_path ARGS((const char *path)); 212*7dd7cddfSDavid du Colombier void set_current_wd ARGS((char *path)); 213*7dd7cddfSDavid du Colombier /* syn.c */ 214*7dd7cddfSDavid du Colombier void initkeywords ARGS((void)); 215*7dd7cddfSDavid du Colombier struct op * compile ARGS((Source *s)); 216*7dd7cddfSDavid du Colombier /* table.c */ 217*7dd7cddfSDavid du Colombier unsigned int hash ARGS((const char *n)); 218*7dd7cddfSDavid du Colombier void tinit ARGS((struct table *tp, Area *ap, int tsize)); 219*7dd7cddfSDavid du Colombier struct tbl * tsearch ARGS((struct table *tp, const char *n, unsigned int h)); 220*7dd7cddfSDavid du Colombier struct tbl * tenter ARGS((struct table *tp, const char *n, unsigned int h)); 221*7dd7cddfSDavid du Colombier void tdelete ARGS((struct tbl *p)); 222*7dd7cddfSDavid du Colombier void twalk ARGS((struct tstate *ts, struct table *tp)); 223*7dd7cddfSDavid du Colombier struct tbl * tnext ARGS((struct tstate *ts)); 224*7dd7cddfSDavid du Colombier struct tbl ** tsort ARGS((struct table *tp)); 225*7dd7cddfSDavid du Colombier /* trace.c */ 226*7dd7cddfSDavid du Colombier /* trap.c */ 227*7dd7cddfSDavid du Colombier void inittraps ARGS((void)); 228*7dd7cddfSDavid du Colombier #ifdef KSH 229*7dd7cddfSDavid du Colombier void alarm_init ARGS((void)); 230*7dd7cddfSDavid du Colombier #endif /* KSH */ 231*7dd7cddfSDavid du Colombier Trap * gettrap ARGS((const char *name, int igncase)); 232*7dd7cddfSDavid du Colombier RETSIGTYPE trapsig ARGS((int i)); 233*7dd7cddfSDavid du Colombier void intrcheck ARGS((void)); 234*7dd7cddfSDavid du Colombier int fatal_trap_check ARGS((void)); 235*7dd7cddfSDavid du Colombier int trap_pending ARGS((void)); 236*7dd7cddfSDavid du Colombier void runtraps ARGS((int intr)); 237*7dd7cddfSDavid du Colombier void runtrap ARGS((Trap *p)); 238*7dd7cddfSDavid du Colombier void cleartraps ARGS((void)); 239*7dd7cddfSDavid du Colombier void restoresigs ARGS((void)); 240*7dd7cddfSDavid du Colombier void settrap ARGS((Trap *p, char *s)); 241*7dd7cddfSDavid du Colombier int block_pipe ARGS((void)); 242*7dd7cddfSDavid du Colombier void restore_pipe ARGS((int restore_dfl)); 243*7dd7cddfSDavid du Colombier int setsig ARGS((Trap *p, handler_t f, int flags)); 244*7dd7cddfSDavid du Colombier void setexecsig ARGS((Trap *p, int restore)); 245*7dd7cddfSDavid du Colombier /* tree.c */ 246*7dd7cddfSDavid du Colombier int fptreef ARGS((struct shf *f, int indent, const char *fmt, ...)); 247*7dd7cddfSDavid du Colombier char * snptreef ARGS((char *s, int n, const char *fmt, ...)); 248*7dd7cddfSDavid du Colombier struct op * tcopy ARGS((struct op *t, Area *ap)); 249*7dd7cddfSDavid du Colombier char * wdcopy ARGS((const char *wp, Area *ap)); 250*7dd7cddfSDavid du Colombier char * wdscan ARGS((const char *wp, int c)); 251*7dd7cddfSDavid du Colombier char * wdstrip ARGS((const char *wp)); 252*7dd7cddfSDavid du Colombier void tfree ARGS((struct op *t, Area *ap)); 253*7dd7cddfSDavid du Colombier /* var.c */ 254*7dd7cddfSDavid du Colombier void newblock ARGS((void)); 255*7dd7cddfSDavid du Colombier void popblock ARGS((void)); 256*7dd7cddfSDavid du Colombier void initvar ARGS((void)); 257*7dd7cddfSDavid du Colombier struct tbl * global ARGS((const char *n)); 258*7dd7cddfSDavid du Colombier struct tbl * local ARGS((const char *n, bool_t copy)); 259*7dd7cddfSDavid du Colombier char * str_val ARGS((struct tbl *vp)); 260*7dd7cddfSDavid du Colombier long intval ARGS((struct tbl *vp)); 261*7dd7cddfSDavid du Colombier int setstr ARGS((struct tbl *vq, const char *s, int error_ok)); 262*7dd7cddfSDavid du Colombier struct tbl *setint_v ARGS((struct tbl *vq, struct tbl *vp)); 263*7dd7cddfSDavid du Colombier void setint ARGS((struct tbl *vq, long n)); 264*7dd7cddfSDavid du Colombier int getint ARGS((struct tbl *vp, long *nump)); 265*7dd7cddfSDavid du Colombier struct tbl * typeset ARGS((const char *var, Tflag set, Tflag clr, int field, int base)); 266*7dd7cddfSDavid du Colombier void unset ARGS((struct tbl *vp, int array_ref)); 267*7dd7cddfSDavid du Colombier char * skip_varname ARGS((const char *s, int aok)); 268*7dd7cddfSDavid du Colombier char *skip_wdvarname ARGS((const char *s, int aok)); 269*7dd7cddfSDavid du Colombier int is_wdvarname ARGS((const char *s, int aok)); 270*7dd7cddfSDavid du Colombier int is_wdvarassign ARGS((const char *s)); 271*7dd7cddfSDavid du Colombier char ** makenv ARGS((void)); 272*7dd7cddfSDavid du Colombier void change_random ARGS((void)); 273*7dd7cddfSDavid du Colombier int array_ref_len ARGS((const char *cp)); 274*7dd7cddfSDavid du Colombier char * arrayname ARGS((const char *str)); 275*7dd7cddfSDavid du Colombier void set_array ARGS((const char *var, int reset, char **vals)); 276*7dd7cddfSDavid du Colombier /* version.c */ 277*7dd7cddfSDavid du Colombier /* vi.c: see edit.h */ 278*7dd7cddfSDavid du Colombier 279*7dd7cddfSDavid du Colombier 280*7dd7cddfSDavid du Colombier /* Hack to avoid billions of compile warnings on SunOS 4.1.x */ 281*7dd7cddfSDavid du Colombier #if defined(MUN) && defined(sun) && !defined(__svr4__) 282*7dd7cddfSDavid du Colombier extern void bcopy ARGS((const void *src, void *dst, size_t size)); 283*7dd7cddfSDavid du Colombier extern int fclose ARGS((FILE *fp)); 284*7dd7cddfSDavid du Colombier extern int fprintf ARGS((FILE *fp, const char *fmt, ...)); 285*7dd7cddfSDavid du Colombier extern int fread ARGS((void *buf, int size, int num, FILE *fp)); 286*7dd7cddfSDavid du Colombier extern int ioctl ARGS((int fd, int request, void *arg)); 287*7dd7cddfSDavid du Colombier extern int killpg ARGS((int pgrp, int sig)); 288*7dd7cddfSDavid du Colombier extern int nice ARGS((int n)); 289*7dd7cddfSDavid du Colombier extern int readlink ARGS((const char *path, char *buf, int bufsize)); 290*7dd7cddfSDavid du Colombier extern int setpgrp ARGS((int pid, int pgrp)); 291*7dd7cddfSDavid du Colombier extern int strcasecmp ARGS((const char *s1, const char *s2)); 292*7dd7cddfSDavid du Colombier extern int tolower ARGS((int)); 293*7dd7cddfSDavid du Colombier extern int toupper ARGS((int)); 294*7dd7cddfSDavid du Colombier /* Include files aren't included yet */ 295*7dd7cddfSDavid du Colombier extern int getrlimit ARGS(( /* int resource, struct rlimit *rpl */ )); 296*7dd7cddfSDavid du Colombier extern int getrusage ARGS(( /* int who, struct rusage *rusage */ )); 297*7dd7cddfSDavid du Colombier extern int gettimeofday ARGS(( /* struct timeval *tv, struct timezone *tz */ )); 298*7dd7cddfSDavid du Colombier extern int setrlimit ARGS(( /* int resource, struct rlimit *rlp */ )); 299*7dd7cddfSDavid du Colombier extern int lstat ARGS(( /* const char *path, struct stat *buf */ )); 300*7dd7cddfSDavid du Colombier #endif 301