Merge from vendor branch GCC:
[dragonfly.git] / contrib / tcsh / tc.decls.h
1 /* $Header: /src/pub/tcsh/tc.decls.h,v 3.50 2002/03/08 17:36:47 christos Exp $ */
2 /*
3  * tc.decls.h: Function declarations from all the tcsh modules
4  */
5 /*-
6  * Copyright (c) 1980, 1991 The Regents of the University of California.
7  * All rights reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  * 1. Redistributions of source code must retain the above copyright
13  *    notice, this list of conditions and the following disclaimer.
14  * 2. Redistributions in binary form must reproduce the above copyright
15  *    notice, this list of conditions and the following disclaimer in the
16  *    documentation and/or other materials provided with the distribution.
17  * 3. Neither the name of the University nor the names of its contributors
18  *    may be used to endorse or promote products derived from this software
19  *    without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31  * SUCH DAMAGE.
32  */
33 #ifndef _h_tc_decls
34 #define _h_tc_decls
35
36 /*
37  * tc.alloc.c
38  */
39 #ifndef SYSMALLOC
40 #ifndef WINNT_NATIVE
41 extern  void              free          __P((ptr_t));
42 extern  memalign_t        malloc        __P((size_t));
43 extern  memalign_t        realloc       __P((ptr_t, size_t));
44 extern  memalign_t        calloc        __P((size_t, size_t));
45 #endif /* !WINNT_NATIVE */
46 #else /* SYSMALLOC */
47 extern  void              sfree         __P((ptr_t));
48 extern  memalign_t        smalloc       __P((size_t));
49 extern  memalign_t        srealloc      __P((ptr_t, size_t));
50 extern  memalign_t        scalloc       __P((size_t, size_t));
51 #endif /* SYSMALLOC */
52 extern  void              showall       __P((Char **, struct command *));
53
54 /*
55  * tc.bind.c
56  */
57 extern  void              dobindkey     __P((Char **, struct command *));
58 #ifdef OBSOLETE
59 extern  void              dobind        __P((Char **, struct command *));
60 #endif /* OBSOLETE */
61
62 /*
63  * tc.defs.c:
64  */
65 extern  void              getmachine    __P((void));
66
67
68 /*
69  * tc.disc.c
70  */
71 extern  int               setdisc       __P((int));
72 extern  int               resetdisc     __P((int));
73
74 /*
75  * tc.func.c
76  */
77 extern  Char             *expand_lex    __P((Char *, size_t, struct wordent *, 
78                                              int, int));
79 extern  Char             *sprlex        __P((Char *, size_t, struct wordent *));
80 extern  Char             *Itoa          __P((int, Char *, int, int));
81 extern  void              dolist        __P((Char **, struct command *));
82 extern  void              dotelltc      __P((Char **, struct command *));
83 extern  void              doechotc      __P((Char **, struct command *));
84 extern  void              dosettc       __P((Char **, struct command *));
85 extern  int               cmd_expand    __P((Char *, Char *));
86 extern  void              dowhich       __P((Char **, struct command *));
87 extern  struct process   *find_stop_ed  __P((void));
88 extern  void              fg_proc_entry __P((struct process *));
89 extern  sigret_t          alrmcatch     __P((int));
90 extern  void              precmd        __P((void));
91 extern  void              postcmd       __P((void));
92 extern  void              cwd_cmd       __P((void));
93 extern  void              beep_cmd      __P((void));
94 extern  void              period_cmd    __P((void));
95 extern  void              job_cmd       __P((Char *));
96 extern  void              aliasrun      __P((int, Char *, Char *));
97 extern  void              setalarm      __P((int));
98 extern  void              rmstar        __P((struct wordent *));
99 extern  void              continue_jobs __P((struct wordent *));
100 extern  Char             *gettilde      __P((Char *));
101 extern  Char             *getusername   __P((Char **));
102 #ifdef OBSOLETE
103 extern  void              doaliases     __P((Char **, struct command *));
104 #endif /* OBSOLETE */
105 extern  void              shlvl         __P((int));
106 extern  int               fixio         __P((int, int));
107 extern  int               collate       __P((const Char *, const Char *));
108 #ifdef HASHBANG
109 extern  int               hashbang      __P((int, Char ***));
110 #endif /* HASHBANG */
111 #ifdef REMOTEHOST
112 extern  void              remotehost    __P((void));
113 #endif /* REMOTEHOST */
114
115
116 /*
117  * tc.os.c
118  */
119 #ifdef MACH
120 extern  void              dosetpath     __P((Char **, struct command *));
121 #endif /* MACH */
122
123 #ifdef TCF
124 extern  void              dogetxvers    __P((Char **, struct command *));
125 extern  void              dosetxvers    __P((Char **, struct command *));
126 extern  void              dogetspath    __P((Char **, struct command *));
127 extern  void              dosetspath    __P((Char **, struct command *));
128 extern  char             *sitename      __P((pid_t));
129 extern  void              domigrate     __P((Char **, struct command *));
130 #endif /* TCF */
131
132 #ifdef WARP
133 extern  void              dowarp        __P((Char **, struct command *));
134 #endif /* WARP */
135
136 #if defined(_CRAY) && !defined(_CRAYMPP)
137 extern  void              dodmmode      __P((Char **, struct command *));
138 #endif /* _CRAY && !_CRAYMPP */
139
140 #if defined(masscomp) || defined(hcx)
141 extern  void              douniverse    __P((Char **, struct command *));
142 #endif /* masscomp */
143
144 #if defined(hcx)
145 extern  void              doatt         __P((Char **, struct command *));
146 extern  void              doucb         __P((Char **, struct command *));
147 #endif /* hcx */
148
149 #ifdef _SEQUENT_
150 extern  void              pr_stat_sub   __P((struct process_stats *, 
151                                              struct process_stats *, 
152                                              struct process_stats *));
153 #endif /* _SEQUENT_ */
154
155 #ifdef NEEDtcgetpgrp
156 extern  int               xtcgetpgrp    __P((int));
157 extern  int               xtcsetpgrp    __P((int, int));
158 # undef tcgetpgrp
159 # define tcgetpgrp(a)     xtcgetpgrp(a)
160 # undef tcsetpgrp
161 # define tcsetpgrp(a, b)  xtcsetpgrp((a), (b))
162 #endif /* NEEDtcgetpgrp */
163
164 #ifdef YPBUGS
165 extern  void              fix_yp_bugs   __P((void));
166 #endif /* YPBUGS */
167 #ifdef STRCOLLBUG
168 extern  void              fix_strcoll_bug       __P((void));
169 #endif /* STRCOLLBUG */
170
171 extern  void              osinit        __P((void));
172
173 #ifdef NEEDmemmove
174 extern ptr_t             xmemmove       __P((ptr_t, const ptr_t, size_t));
175 # define memmove(a, b, c) xmemmove((a), (b), (c))
176 #endif /* NEEDmemmove */
177
178 #ifdef NEEDmemset
179 extern ptr_t             xmemset        __P((ptr_t, int, size_t));
180 # define memset(a, b, c) xmemset((a), (b), (c))
181 #endif /* NEEDmemset */
182
183
184 #ifdef NEEDgetcwd
185 extern  char             *xgetcwd       __P((char *, size_t));
186 # undef getcwd
187 # define getcwd(a, b) xgetcwd((a), (b))
188 #endif /* NEEDgetcwd */
189
190 #ifdef NEEDgethostname
191 extern  int               xgethostname  __P((char *, int));
192 # undef gethostname
193 # define gethostname(a, b) xgethostname((a), (b))
194 #endif /* NEEDgethostname */
195
196 #ifdef NEEDnice
197 extern  int               xnice __P((int));
198 # undef nice
199 # define nice(a)          xnice(a)
200 #endif /* NEEDnice */
201
202 #ifdef NEEDstrerror
203 extern  char             *xstrerror     __P((int));
204 # undef strerror
205 # define strerror(a)      xstrerror(a)
206 #endif /* NEEDstrerror */
207
208 #ifdef apollo
209 extern  void              doinlib       __P((Char **, struct command *));
210 extern  void              dover         __P((Char **, struct command *));
211 extern  void              dorootnode    __P((Char **, struct command *));
212 extern  int               getv          __P((Char *));
213 #endif /* apollo */
214
215
216 /*
217  * tc.printf.h
218  */
219 extern  pret_t            xprintf       __P((const char *, ...));
220 extern  pret_t            xsnprintf     __P((char *, size_t, const char *, ...));
221 extern  pret_t            xvprintf      __P((const char *, va_list));
222 extern  pret_t            xvsnprintf    __P((char *, size_t, const char *,
223                                              va_list));
224
225 /*
226  * tc.prompt.c
227  */
228 extern  void              dateinit      __P((void));
229 extern  void              printprompt   __P((int, char *));
230 extern  Char             *expdollar     __P((Char **, const Char **, size_t *,
231                                              int));
232 extern  void              tprintf       __P((int, Char *, const Char *, size_t, 
233                                              char *, time_t, ptr_t));
234
235 /*
236  * tc.sched.c
237  */
238 extern  time_t            sched_next    __P((void));
239 extern  void              dosched       __P((Char **, struct command *));
240 extern  void              sched_run     __P((int));
241
242 /*
243  * tc.sig.c
244  */
245 #ifndef BSDSIGS
246 # ifdef UNRELSIGS
247 #  ifdef COHERENT
248 extern  sigret_t        (*xsignal       __P((int, sigret_t (*)(int)))) ();
249 #   define signal(x,y)    xsignal(x,y)
250 #  endif /* COHERENT */
251 extern  sigret_t        (*xsigset       __P((int, sigret_t (*)(int)))) ();
252 #  define sigset(x,y)     xsigset(x,y)
253 extern  void              xsigrelse     __P((int));
254 #  define sigrelse(x)     xsigrelse(x)
255 extern  void              xsighold      __P((int));
256 #  define sighold(x)      xsighold(x)
257 extern  void              xsigignore    __P((int));
258 #  define sigignore(x)    xsigignore(x)
259 extern  void              xsigpause     __P((int));
260 #  define sigpause(x)     xsigpause(x)
261 extern  pid_t             ourwait       __P((int *));
262 # endif /* UNRELSIGS */
263 # ifdef SXA
264 extern  void              sigpause      __P((int));
265 # endif /* SXA */
266 #endif /* !BSDSIGS */
267
268 #ifdef NEEDsignal
269 extern  sigret_t        (*xsignal       __P((int, sigret_t (*)(int)))) ();
270 # define signal(a, b)     xsignal(a, b)
271 #endif /* NEEDsignal */
272 #if defined(_SEQUENT_) || ((SYSVREL > 3 || defined(_DGUX_SOURCE)) && defined(POSIXSIGS)) || ((defined(_AIX) || defined(__CYGWIN__)) && defined(POSIXSIGS)) || defined(WINNT_NATIVE)
273 extern  sigmask_t         sigsetmask    __P((sigmask_t));
274 # if !defined(DGUX) || (defined(DGUX) && defined(__ix86))
275 extern  sigmask_t         sigblock      __P((sigmask_t));
276 # endif /* !DGUX */
277 extern  void              bsd_sigpause  __P((sigmask_t));
278 extern  sigret_t        (*bsd_signal    __P((int, sigret_t (*)(int)))) __P((int));
279 #endif /* _SEQUENT_ */
280 #ifdef SIGSYNCH
281 extern  sigret_t          synch_handler __P((int));
282 #endif /* SIGSYNCH */
283
284
285 /*
286  * tc.str.c:
287  */
288 #ifdef SHORT_STRINGS
289 extern  Char             *s_strchr      __P((const Char *, int));
290 extern  Char             *s_strrchr     __P((const Char *, int));
291 extern  Char             *s_strcat      __P((Char *, const Char *));
292 # ifdef NOTUSED
293 extern  Char             *s_strncat     __P((Char *, const Char *, size_t));
294 # endif /* NOTUSED */
295 extern  Char             *s_strcpy      __P((Char *, const Char *));
296 extern  Char             *s_strncpy     __P((Char *, const Char *, size_t));
297 extern  Char             *s_strspl      __P((const Char *, const Char *));
298 extern  size_t            s_strlen      __P((const Char *));
299 extern  int               s_strcmp      __P((const Char *, const Char *));
300 extern  int               s_strncmp     __P((const Char *, const Char *, 
301                                              size_t));
302 extern  Char             *s_strsave     __P((const Char *));
303 extern  Char             *s_strend      __P((const Char *));
304 extern  Char             *s_strstr      __P((const Char *, const Char *));
305 extern  Char             *str2short     __P((const char *));
306 extern  Char            **blk2short     __P((char **));
307 extern  char             *short2str     __P((const Char *));
308 extern  char            **short2blk     __P((Char **));
309 #endif /* SHORT_STRINGS */
310 extern  char             *short2qstr    __P((const Char *));
311
312
313 /*
314  * tc.vers.c:
315  */
316 extern  void              fix_version   __P((void));
317
318 /*
319  * tc.who.c
320  */
321 #ifndef HAVENOUTMP
322 extern  void              initwatch     __P((void));
323 extern  void              resetwatch    __P((void));
324 extern  void              watch_login   __P((int));
325 extern  const char       *who_info      __P((ptr_t, int, char *, size_t));
326 extern  void              dolog         __P((Char **, struct command *));
327 # ifdef UTHOST
328 extern  char             *utmphost      __P((void));
329 extern  size_t            utmphostsize  __P((void));
330 # endif /* UTHOST */
331 #endif /* HAVENOUTMP */
332
333 #endif /* _h_tc_decls */