File: proto.h

package info (click to toggle)
posh 0.3.14
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 4,492 kB
  • ctags: 1,704
  • sloc: ansic: 15,481; xml: 1,555; perl: 943; sh: 897; makefile: 101
file content (285 lines) | stat: -rw-r--r-- 10,227 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
/*
 * prototypes for PD-KSH
 * originally generated using "cproto.c 3.5 92/04/11 19:28:01 cthuang "
 * $Id: proto.h,v 1.3 1994/05/19 18:32:40 michael Exp michael $
 */

#ifdef __GNUC__
# define GCC_FUNC_ATTR(x)       __attribute__((x))
# define GCC_FUNC_ATTR2(x,y)    __attribute__((x,y))
#else
# define GCC_FUNC_ATTR(x)
# define GCC_FUNC_ATTR2(x,y)
#endif

/* alloc.c */
Area *	ainit		(Area *ap);
void 	afreeall	(Area *ap);
void *	alloc		(size_t size, Area *ap);
void *	aresize		(void *ptr, size_t size, Area *ap);
void 	afree		(void *ptr, Area *ap);
/* c_ksh.c */
int 	c_hash		(char **wp);
int 	c_pwd		(char **wp);
int 	c_print		(char **wp);
int 	c_whence	(char **wp);
int 	c_command	(char **wp);
int 	c_alias		(char **wp);
int 	c_unalias	(char **wp);
int 	c_let		(char **wp);
int 	c_jobs		(char **wp);
int 	c_fgbg		(char **wp);
int 	c_kill		(char **wp);
void	getopts_reset	(int val);
int	c_getopts	(char **wp);
int 	c_bind		(char **wp);
/* c_sh.c */
int 	c_shift		(char **wp);
int 	c_dot		(char **wp);
int 	c_wait		(char **wp);
int 	c_read		(char **wp);
int 	c_eval		(char **wp);
int 	c_trap		(char **wp);
int 	c_brkcont	(char **wp);
int 	c_exitreturn	(char **wp);
int 	c_set		(char **wp);
int 	c_unset		(char **wp);
int 	c_ulimit	(char **wp);
int 	c_times		(char **wp);
int 	timex		(struct op *t, int f);
void	timex_hook	(struct op *t, char ** volatile *app);
/* edit.c: most prototypes in edit.h */
void 	x_init		(void);
int 	x_read		(char *buf, size_t len);
void	set_editmode	(const char *ed);
/* emacs.c: most prototypes in edit.h */
int 	x_bind		(const char *a1, const char *a2, int macro,
			      int list);
/* eval.c */
char *	substitute	(const char *cp, int f);
char **	eval		(char **ap, int f);
char *	evalstr		(char *cp, int f);
char *	evalonestr	(char *cp, int f);
char	*debunk		(char *dp, const char *sp);
void	expand		(char *cp, XPtrV *wp, int f);
int glob_str		(char *cp, XPtrV *wp, int markdirs);
/* exec.c */
int	fd_clexec	(int fd);
int 	execute		(struct op * volatile t, volatile int flags);
int 	shcomexec	(char **wp);
struct tbl * findfunc	(const char *name, int create);
int 	define		(const char *name, struct op *t);
void 	builtin		(const char *name, int (*func)(int, char **, int), int flags);
struct tbl *	findcom	(const char *name, int flags);
void 	flushcom	(int all);
char *	search		(const char *name, const char *path, int mode, int *errnop);
int	search_access	(const char *path, int mode, int *errnop);
int	pr_menu		(char *const *ap);
/* expr.c */
int 	evaluate	(const char *expr, long *rval, int error_ok);
int	v_evaluate	(struct tbl *vp, const char *expr, volatile int error_ok);
/* history.c */
void	init_histvec	(void);
void 	hist_init	(Source *s);
void 	hist_finish	(void);
void	histsave	(int lno, const char *cmd, int dowrite);
#ifdef HISTORY
int 	c_fc	 	(register char **wp);
void	sethistsize	(int n);
void	sethistfile	(const char *name);
# ifdef EASY_HISTORY
void 	histappend	(const char *cmd, int nl_separate);
# endif
char **	histpos	 	(void);
int 	histN	 	(void);
int 	histnum	 	(int n);
int	findhist	(int start, int fwd, const char *str, int anchored);
#endif /* HISTORY */
/* io.c */
void 	errorf		(const char *fmt, ...)
				GCC_FUNC_ATTR2(noreturn, format(printf, 1, 2));
void 	warningf	(int fileline, const char *fmt, ...)
				GCC_FUNC_ATTR(format(printf, 2, 3));
void 	bi_errorf	(const char *fmt, ...)
				GCC_FUNC_ATTR(format(printf, 1, 2));
void 	internal_errorf	(int jump, const char *fmt, ...)
				GCC_FUNC_ATTR(format(printf, 2, 3));
void	error_prefix	(int fileline);
void 	shellf		(const char *fmt, ...)
				GCC_FUNC_ATTR(format(printf, 1, 2));
void 	shprintf	(const char *fmt, ...)
				GCC_FUNC_ATTR(format(printf, 1, 2));
#ifdef KSH_DEBUG
void 	kshdebug_init_	(void);
void 	kshdebug_printf_ (const char *fmt, ...)
				GCC_FUNC_ATTR(format(printf, 1, 2));
void 	kshdebug_dump_	(const char *str, const void *mem, int nbytes);
#endif /* KSH_DEBUG */
int	can_seek	(int fd);
void	initio		(void);
int	ksh_dup2	(int ofd, int nfd, int errok);
int 	savefd		(int fd, int noclose);
void 	restfd		(int fd, int ofd);
void 	openpipe	(int *pv);
void 	closepipe	(int *pv);
int	check_fd	(char *name, int mode, const char **emsgp);
#ifdef KSH
void	coproc_init	(void);
void	coproc_read_close (int fd);
void	coproc_readw_close (int fd);
void	coproc_write_close (int fd);
int	coproc_getfd	(int mode, const char **emsgp);
void	coproc_cleanup	(int reuse);
#endif /* KSH */
struct temp *maketemp	(Area *ap, Temp_type type, struct temp **tlist);
/* jobs.c */
void 	j_init		(int mflagset);
void 	j_exit		(void);
void 	j_change	(void);
int 	exchild		(struct op *t, int flags, int close_fd);
void 	startlast	(void);
int 	waitlast	(void);
int 	waitfor		(const char *cp, int *sigp);
int 	j_kill		(const char *cp, int sig);
int 	j_resume	(const char *cp, int bg);
int 	j_jobs		(const char *cp, int slp, int nflag);
void 	j_notify	(void);
pid_t	j_async		(void);
int 	j_stopped_running	(void);
/* lex.c */
int 	yylex		(int cf);
void 	yyerror		(const char *fmt, ...)
				GCC_FUNC_ATTR2(noreturn, format(printf, 1, 2));
Source * pushs		(int type, Area *areap);
void	set_prompt	(int to, Source *s);
void 	pprompt		(const char *cp, int ntruncate);
/* mail.c */
#ifdef KSH
void 	mcheck		(void);
void 	mcset		(long interval);
void 	mbset		(char *p);
void 	mpset		(char *mptoparse);
#endif /* KSH */
/* main.c */
int 	include		(const char *name, int argc, char **argv, int intr_ok);
int 	command		(const char *comm);
int 	shell		(Source *volatile s, int volatile toplevel);
void 	unwind		(int i) GCC_FUNC_ATTR(noreturn);
void 	newenv		(int type);
void 	quitenv		(void);
void	cleanup_parents_env (void);
void	cleanup_proc_env (void);
void 	aerror		(Area *ap, const char *msg) GCC_FUNC_ATTR(noreturn);
/* misc.c */
void 	setctypes	(const char *s, int t);
void 	initctypes	(void);
char *	str_save	(const char *s, Area *ap);
char *	str_nsave	(const char *s, int n, Area *ap);
int	option		(const char *n);
char *	getoptions	(void);
void	change_flag	(enum sh_flag f, int what, int newval);
int	parse_args	(char **argv, int what, int *setargsp);
int 	getn		(const char *as, int *ai);
int 	bi_getn		(const char *as, int *ai);
char *	strerror	(int i);
int 	gmatch		(const char *s, const char *p, int isfile);
int	has_globbing	(const char *xp, const char *xpe);
const unsigned char *pat_scan (const unsigned char *p, const unsigned char *pe, int match_sep);
int 	xstrcmp		(void *p1, void *p2);
void	ksh_getopt_reset (LameGetopt *go, int);
int	ksh_getopt	(char **argv, LameGetopt *go, const char *options);
void	print_value_quoted (const char *s);
void	print_columns	(struct shf *shf, int n, char *(*func)(void *, int, char *, int), void *arg, int max_width);
int	strip_nuls	(char *buf, int nbytes);
char	*str_zcpy	(char *dst, const char *src, int dsize);
int	blocking_read	(int fd, char *buf, int nbytes);
int	reset_nonblock	(int fd);
/* path.c */
int	make_path	(const char *cwd, const char *file,
			      char **pathlist, XString *xsp, int *phys_pathp);
void	simplify_path	(char *path);
void	set_current_wd	(char *path);
/* syn.c */
void 	initkeywords	(void);
struct op * compile	(Source *s);
/* table.c */
void 	transitional_tinit		(struct table *tp, Area *ap);
struct tbl *	transitional_tsearch	(void **tbl_root, const char *n);
struct tbl *	transitional_tenter	(void **tbl_root, const char *n);
void 	transitional_tdelete		(void **tbl_root, struct tbl *p);
/* trace.c */
/* trap.c */
void	inittraps	(void);
#ifdef KSH
void	alarm_init	(void);
#endif /* KSH */
Trap *	gettrap		(const char *name, int igncase);
RETSIGTYPE trapsig	(int i);
void	intrcheck	(void);
int	fatal_trap_check (void);
int	trap_pending	(void);
void 	runtraps	(int intr);
void 	runtrap		(Trap *p);
void 	cleartraps	(void);
void 	restoresigs	(void);
void	settrap		(Trap *p, char *s);
int	block_pipe	(void);
void	restore_pipe	(int restore_dfl);
int	setsig		(Trap *p, handler_t f, int flags);
void	setexecsig	(Trap *p, int restore);
/* tree.c */
int 	fptreef		(struct shf *f, int indent, const char *fmt, ...);
char *	snptreef	(char *s, int n, const char *fmt, ...);
struct op *	tcopy	(struct op *t, Area *ap);
char *	wdcopy		(const char *wp, Area *ap);
char *	wdscan		(const char *wp, int c);
char *	wdstrip		(const char *wp);
void 	tfree		(struct op *t, Area *ap);
/* var.c */
void 	newblock	(void);
void 	popblock	(void);
void	initvar		(void);
struct tbl *	global	(const char *n);
struct tbl *	local	(const char *n, bool_t copy);
char *	str_val		(struct tbl *vp);
long 	intval		(struct tbl *vp);
int 	setstr		(struct tbl *vq, const char *s, int error_ok);
struct tbl *setint_v	(struct tbl *vq, struct tbl *vp);
void 	setint		(struct tbl *vq, long n);
int	getint		(struct tbl *vp, long *nump);
struct tbl *	typeset	(const char *var, Tflag set, Tflag clr, int field, int base);
void 	unset		(struct tbl *vp, int array_ref);
char  * skip_varname	(const char *s, int aok);
char	*skip_wdvarname (const char *s, int aok);
int	is_wdvarname	(const char *s, int aok);
int	is_wdvarassign	(const char *s);
char **	makenv		(void);
void	change_random	(void);
int	array_ref_len	(const char *cp);
char *	arrayname	(const char *str);
void    set_array	(const char *var, int reset, char **vals);
/* version.c */
/* vi.c: see edit.h */


/* Hack to avoid billions of compile warnings on SunOS 4.1.x */
#if defined(MUN) && defined(sun) && !defined(__svr4__)
extern void bcopy (const void *src, void *dst, size_t size);
extern int fclose (FILE *fp);
extern int fprintf (FILE *fp, const char *fmt, ...);
extern int fread (void *buf, int size, int num, FILE *fp);
extern int ioctl (int fd, int request, void *arg);
extern int killpg (int pgrp, int sig);
extern int nice (int n);
extern int readlink (const char *path, char *buf, int bufsize);
extern int setpgrp (int pid, int pgrp);
extern int strcasecmp (const char *s1, const char *s2);
extern int tolower (int);
extern int toupper (int);
/*  Include files aren't included yet */
extern int getrlimit ( /* int resource, struct rlimit *rpl */ );
extern int getrusage ( /* int who, struct rusage *rusage */ );
extern int gettimeofday ( /* struct timeval *tv, struct timezone *tz */ );
extern int setrlimit ( /* int resource, struct rlimit *rlp */ );
extern int lstat ( /* const char *path, struct stat *buf */ );
#endif