1 1.13 kamil /* $NetBSD: proto.h,v 1.13 2018/06/03 12:18:29 kamil Exp $ */ 2 1.2 tls 3 1.1 jtc /* 4 1.1 jtc * prototypes for PD-KSH 5 1.1 jtc * originally generated using "cproto.c 3.5 92/04/11 19:28:01 cthuang " 6 1.13 kamil * $Id: proto.h,v 1.13 2018/06/03 12:18:29 kamil Exp $ 7 1.1 jtc */ 8 1.1 jtc 9 1.9 kamil #include <stdbool.h> 10 1.9 kamil 11 1.1 jtc /* alloc.c */ 12 1.7 christos Area * ainit ARGS((Area *)); 13 1.7 christos void afreeall ARGS((Area *)); 14 1.7 christos void * alloc ARGS((size_t, Area *)); 15 1.7 christos void * aresize ARGS((void *, size_t, Area *)); 16 1.7 christos void afree ARGS((void *, Area *)); 17 1.1 jtc /* c_ksh.c */ 18 1.7 christos int c_hash ARGS((char **)); 19 1.7 christos int c_cd ARGS((char **)); 20 1.7 christos int c_pwd ARGS((char **)); 21 1.7 christos int c_print ARGS((char **)); 22 1.7 christos int c_whence ARGS((char **)); 23 1.7 christos int c_command ARGS((char **)); 24 1.7 christos int c_typeset ARGS((char **)); 25 1.7 christos int c_alias ARGS((char **)); 26 1.7 christos int c_unalias ARGS((char **)); 27 1.7 christos int c_let ARGS((char **)); 28 1.7 christos int c_jobs ARGS((char **)); 29 1.7 christos int c_fgbg ARGS((char **)); 30 1.7 christos int c_kill ARGS((char **)); 31 1.7 christos void getopts_reset ARGS((int)); 32 1.7 christos int c_getopts ARGS((char **)); 33 1.7 christos int c_bind ARGS((char **)); 34 1.1 jtc /* c_sh.c */ 35 1.7 christos int c_label ARGS((char **)); 36 1.7 christos int c_shift ARGS((char **)); 37 1.7 christos int c_umask ARGS((char **)); 38 1.7 christos int c_dot ARGS((char **)); 39 1.7 christos int c_wait ARGS((char **)); 40 1.7 christos int c_read ARGS((char **)); 41 1.7 christos int c_eval ARGS((char **)); 42 1.7 christos int c_trap ARGS((char **)); 43 1.7 christos int c_brkcont ARGS((char **)); 44 1.7 christos int c_exitreturn ARGS((char **)); 45 1.7 christos int c_set ARGS((char **)); 46 1.7 christos int c_unset ARGS((char **)); 47 1.7 christos int c_ulimit ARGS((char **)); 48 1.7 christos int c_times ARGS((char **)); 49 1.7 christos int timex ARGS((struct op *, int)); 50 1.7 christos void timex_hook ARGS((struct op *, char ** volatile *)); 51 1.7 christos int c_exec ARGS((char **)); 52 1.7 christos int c_builtin ARGS((char **)); 53 1.1 jtc /* c_test.c */ 54 1.7 christos int c_test ARGS((char **)); 55 1.1 jtc /* edit.c: most prototypes in edit.h */ 56 1.1 jtc void x_init ARGS((void)); 57 1.7 christos int x_read ARGS((char *, size_t)); 58 1.7 christos void set_editmode ARGS((const char *)); 59 1.1 jtc /* emacs.c: most prototypes in edit.h */ 60 1.7 christos int x_bind ARGS((const char *, const char *, int, int)); 61 1.1 jtc /* eval.c */ 62 1.7 christos char * substitute ARGS((const char *, int)); 63 1.7 christos char ** eval ARGS((char **, int)); 64 1.7 christos char * evalstr ARGS((char *, int)); 65 1.7 christos char * evalonestr ARGS((char *, int)); 66 1.7 christos char *debunk ARGS((char *, const char *, size_t)); 67 1.7 christos void expand ARGS((char *, XPtrV *, int)); 68 1.7 christos int glob_str ARGS((char *, XPtrV *, int)); 69 1.1 jtc /* exec.c */ 70 1.7 christos int fd_clexec ARGS((int)); 71 1.7 christos int execute ARGS((struct op * volatile, volatile int)); 72 1.7 christos int shcomexec ARGS((char **)); 73 1.7 christos struct tbl * findfunc ARGS((const char *, unsigned int, int)); 74 1.7 christos int define ARGS((const char *, struct op *)); 75 1.7 christos void builtin ARGS((const char *, int (*)(char **))); 76 1.7 christos struct tbl * findcom ARGS((const char *, int)); 77 1.1 jtc void flushcom ARGS((int all)); 78 1.7 christos char * search ARGS((const char *, const char *, int, int *)); 79 1.7 christos int search_access ARGS((const char *, int, int *)); 80 1.7 christos int pr_menu ARGS((char *const *)); 81 1.7 christos int pr_list ARGS((char *const *)); 82 1.1 jtc /* expr.c */ 83 1.7 christos int evaluate ARGS((const char *, long *, int)); 84 1.7 christos int v_evaluate ARGS((struct tbl *, const char *, volatile int)); 85 1.1 jtc /* history.c */ 86 1.1 jtc void init_histvec ARGS((void)); 87 1.7 christos void hist_init ARGS((Source *)); 88 1.1 jtc void hist_finish ARGS((void)); 89 1.7 christos void histsave ARGS((int, const char *, int)); 90 1.1 jtc #ifdef HISTORY 91 1.7 christos int c_fc ARGS((char **)); 92 1.7 christos void sethistsize ARGS((int)); 93 1.7 christos void sethistfile ARGS((const char *)); 94 1.1 jtc # ifdef EASY_HISTORY 95 1.7 christos void histappend ARGS((const char *, int)); 96 1.1 jtc # endif 97 1.1 jtc char ** histpos ARGS((void)); 98 1.1 jtc int histN ARGS((void)); 99 1.7 christos int histnum ARGS((int)); 100 1.7 christos int findhist ARGS((int, int, const char *, int)); 101 1.1 jtc #endif /* HISTORY */ 102 1.1 jtc /* io.c */ 103 1.7 christos void errorf ARGS((const char *, ...)) 104 1.1 jtc GCC_FUNC_ATTR2(noreturn, format(printf, 1, 2)); 105 1.7 christos void warningf ARGS((int, const char *, ...)) 106 1.1 jtc GCC_FUNC_ATTR(format(printf, 2, 3)); 107 1.7 christos void bi_errorf ARGS((const char *, ...)) 108 1.1 jtc GCC_FUNC_ATTR(format(printf, 1, 2)); 109 1.7 christos void internal_errorf ARGS((int, const char *, ...)) 110 1.1 jtc GCC_FUNC_ATTR(format(printf, 2, 3)); 111 1.7 christos void error_prefix ARGS((int)); 112 1.7 christos void shellf ARGS((const char *, ...)) 113 1.1 jtc GCC_FUNC_ATTR(format(printf, 1, 2)); 114 1.7 christos void shprintf ARGS((const char *, ...)) 115 1.1 jtc GCC_FUNC_ATTR(format(printf, 1, 2)); 116 1.4 hubertf #ifdef KSH_DEBUG 117 1.4 hubertf void kshdebug_init_ ARGS((void)); 118 1.7 christos void kshdebug_printf_ ARGS((const char *, ...)) 119 1.4 hubertf GCC_FUNC_ATTR(format(printf, 1, 2)); 120 1.7 christos void kshdebug_dump_ ARGS((const char *, const void *, int)); 121 1.4 hubertf #endif /* KSH_DEBUG */ 122 1.7 christos int can_seek ARGS((int)); 123 1.1 jtc void initio ARGS((void)); 124 1.7 christos int ksh_dup2 ARGS((int, int, int)); 125 1.7 christos int savefd ARGS((int, int)); 126 1.7 christos void restfd ARGS((int, int)); 127 1.7 christos void openpipe ARGS((int *)); 128 1.7 christos void closepipe ARGS((int *)); 129 1.7 christos int check_fd ARGS((char *, int, const char **)); 130 1.1 jtc #ifdef KSH 131 1.1 jtc void coproc_init ARGS((void)); 132 1.7 christos void coproc_read_close ARGS((int)); 133 1.7 christos void coproc_readw_close ARGS((int)); 134 1.7 christos void coproc_write_close ARGS((int)); 135 1.7 christos int coproc_getfd ARGS((int, const char **)); 136 1.7 christos void coproc_cleanup ARGS((int)); 137 1.1 jtc #endif /* KSH */ 138 1.7 christos struct temp *maketemp ARGS((Area *, Temp_type, struct temp **)); 139 1.1 jtc /* jobs.c */ 140 1.7 christos void j_init ARGS((int)); 141 1.1 jtc void j_exit ARGS((void)); 142 1.1 jtc void j_change ARGS((void)); 143 1.7 christos int exchild ARGS((struct op *, int, int)); 144 1.1 jtc void startlast ARGS((void)); 145 1.1 jtc int waitlast ARGS((void)); 146 1.7 christos int waitfor ARGS((const char *, int *)); 147 1.7 christos int j_kill ARGS((const char *, int)); 148 1.7 christos int j_resume ARGS((const char *, int)); 149 1.7 christos int j_jobs ARGS((const char *, int, int)); 150 1.1 jtc void j_notify ARGS((void)); 151 1.1 jtc pid_t j_async ARGS((void)); 152 1.1 jtc int j_stopped_running ARGS((void)); 153 1.1 jtc /* lex.c */ 154 1.7 christos int yylex ARGS((int)); 155 1.7 christos void yyerror ARGS((const char *, ...)) 156 1.1 jtc GCC_FUNC_ATTR2(noreturn, format(printf, 1, 2)); 157 1.7 christos Source * pushs ARGS((int, Area *)); 158 1.7 christos void set_prompt ARGS((int, Source *)); 159 1.7 christos void pprompt ARGS((const char *, int)); 160 1.1 jtc /* mail.c */ 161 1.1 jtc #ifdef KSH 162 1.1 jtc void mcheck ARGS((void)); 163 1.7 christos void mcset ARGS((long)); 164 1.7 christos void mbset ARGS((char *)); 165 1.7 christos void mpset ARGS((char *)); 166 1.1 jtc #endif /* KSH */ 167 1.1 jtc /* main.c */ 168 1.7 christos int include ARGS((const char *, int, char **, int)); 169 1.7 christos int command ARGS((const char *)); 170 1.7 christos int shell ARGS((Source *volatile, int volatile)); 171 1.7 christos void unwind ARGS((int)) GCC_FUNC_ATTR(noreturn); 172 1.7 christos void newenv ARGS((int)); 173 1.1 jtc void quitenv ARGS((void)); 174 1.1 jtc void cleanup_parents_env ARGS((void)); 175 1.2 tls void cleanup_proc_env ARGS((void)); 176 1.7 christos void aerror ARGS((Area *, const char *)) 177 1.1 jtc GCC_FUNC_ATTR(noreturn); 178 1.1 jtc /* misc.c */ 179 1.7 christos void setctypes ARGS((const char *, int)); 180 1.1 jtc void initctypes ARGS((void)); 181 1.7 christos char * ulton ARGS((unsigned long, int)); 182 1.7 christos char * str_save ARGS((const char *, Area *)); 183 1.7 christos char * str_nsave ARGS((const char *, int, Area *)); 184 1.7 christos int option ARGS((const char *)); 185 1.1 jtc char * getoptions ARGS((void)); 186 1.7 christos void change_flag ARGS((enum sh_flag, int, int)); 187 1.7 christos int parse_args ARGS((char **v, int what, int *)); 188 1.7 christos int getn ARGS((const char *, int *)); 189 1.7 christos int bi_getn ARGS((const char *, int *)); 190 1.7 christos int gmatch ARGS((const char *, const char *, int)); 191 1.7 christos int has_globbing ARGS((const char *, const char *)); 192 1.7 christos const unsigned char *pat_scan ARGS((const unsigned char *, 193 1.7 christos const unsigned char *, int)); 194 1.7 christos void qsortp ARGS((void **, size_t, int (*)(void *, void *))); 195 1.7 christos int xstrcmp ARGS((void *, void *)); 196 1.7 christos void ksh_getopt_reset ARGS((Getopt *, int)); 197 1.7 christos int ksh_getopt ARGS((char **, Getopt *, const char *)); 198 1.7 christos void print_value_quoted ARGS((const char *)); 199 1.7 christos void print_columns ARGS((struct shf *, int, 200 1.7 christos char *(*)(void *, int, char *, int), 201 1.7 christos void *, int, int)); 202 1.7 christos int strip_nuls ARGS((char *, int)); 203 1.7 christos char *str_zcpy ARGS((char *, const char *, int)); 204 1.7 christos int blocking_read ARGS((int, char *, int)); 205 1.7 christos int reset_nonblock ARGS((int)); 206 1.7 christos char *ksh_get_wd ARGS((char *, int)); 207 1.1 jtc /* path.c */ 208 1.7 christos int make_path ARGS((const char *, const char *, 209 1.7 christos char **, XString *, int *)); 210 1.7 christos void simplify_path ARGS((char *)); 211 1.7 christos char *get_phys_path ARGS((const char *)); 212 1.7 christos void set_current_wd ARGS((char *)); 213 1.1 jtc /* syn.c */ 214 1.1 jtc void initkeywords ARGS((void)); 215 1.7 christos struct op * compile ARGS((Source *)); 216 1.1 jtc /* table.c */ 217 1.7 christos unsigned int hash ARGS((const char *)); 218 1.7 christos void tinit ARGS((struct table *, Area *, int)); 219 1.12 kamil struct tbl * mytsearch ARGS((struct table *, const char *, unsigned int)); 220 1.7 christos struct tbl * tenter ARGS((struct table *, const char *, unsigned int)); 221 1.11 kamil void mytdelete ARGS((struct tbl *)); 222 1.13 kamil void ksh_twalk ARGS((struct tstate *, struct table *)); 223 1.7 christos struct tbl * tnext ARGS((struct tstate *)); 224 1.7 christos struct tbl ** tsort ARGS((struct table *)); 225 1.1 jtc /* trace.c */ 226 1.1 jtc /* trap.c */ 227 1.1 jtc void inittraps ARGS((void)); 228 1.1 jtc #ifdef KSH 229 1.1 jtc void alarm_init ARGS((void)); 230 1.1 jtc #endif /* KSH */ 231 1.7 christos Trap * gettrap ARGS((const char *, int)); 232 1.7 christos RETSIGTYPE trapsig ARGS((int)); 233 1.1 jtc void intrcheck ARGS((void)); 234 1.1 jtc int fatal_trap_check ARGS((void)); 235 1.1 jtc int trap_pending ARGS((void)); 236 1.7 christos void runtraps ARGS((int)); 237 1.7 christos void runtrap ARGS((Trap *)); 238 1.1 jtc void cleartraps ARGS((void)); 239 1.1 jtc void restoresigs ARGS((void)); 240 1.7 christos void settrap ARGS((Trap *, char *)); 241 1.1 jtc int block_pipe ARGS((void)); 242 1.7 christos void restore_pipe ARGS((int)); 243 1.7 christos int setsig ARGS((Trap *, handler_t, int)); 244 1.7 christos void setexecsig ARGS((Trap *, int)); 245 1.1 jtc /* tree.c */ 246 1.7 christos int fptreef ARGS((struct shf *, int, const char *, ...)); 247 1.7 christos char * snptreef ARGS((char *, int, const char *, ...)); 248 1.7 christos struct op * tcopy ARGS((struct op *, Area *)); 249 1.7 christos char * wdcopy ARGS((const char *, Area *)); 250 1.7 christos char * wdscan ARGS((const char *, int)); 251 1.7 christos char * wdstrip ARGS((const char *)); 252 1.7 christos void tfree ARGS((struct op *, Area *)); 253 1.1 jtc /* var.c */ 254 1.1 jtc void newblock ARGS((void)); 255 1.1 jtc void popblock ARGS((void)); 256 1.1 jtc void initvar ARGS((void)); 257 1.7 christos struct tbl * global ARGS((const char *)); 258 1.10 joerg struct tbl * local(const char *, bool); 259 1.7 christos char * str_val ARGS((struct tbl *)); 260 1.7 christos long intval ARGS((struct tbl *)); 261 1.7 christos int setstr ARGS((struct tbl *, const char *, int)); 262 1.7 christos struct tbl *setint_v ARGS((struct tbl *, struct tbl *)); 263 1.7 christos void setint ARGS((struct tbl *, long)); 264 1.7 christos int getint ARGS((struct tbl *, long *)); 265 1.7 christos struct tbl * typeset ARGS((const char *, Tflag, Tflag, int, int)); 266 1.7 christos void unset ARGS((struct tbl *, int)); 267 1.7 christos char * skip_varname ARGS((const char *, int)); 268 1.7 christos char *skip_wdvarname ARGS((const char *, int)); 269 1.7 christos int is_wdvarname ARGS((const char *, int)); 270 1.7 christos int is_wdvarassign ARGS((const char *)); 271 1.1 jtc char ** makenv ARGS((void)); 272 1.4 hubertf void change_random ARGS((void)); 273 1.7 christos int array_ref_len ARGS((const char *)); 274 1.7 christos char * arrayname ARGS((const char *)); 275 1.7 christos void set_array ARGS((const char *, int, char **)); 276 1.1 jtc /* version.c */ 277 1.1 jtc /* vi.c: see edit.h */ 278