0.9.2.18: various error &co reporting improvements and build tweaks
[sbcl.git] / src / runtime / undefineds.h
1 /*
2  * routines that must be linked into the core for Lisp to work
3  *
4  * but note this is only the BSD version, as per the FIXME
5  *
6  * FIXME: It's tedious and error-prone having to edit both this file and
7  * the analogous ldso-stubs.S file when we change the references to
8  * functions, enough so that it would probably be good to rewrite
9  * both files in terms of a shared list of function names.
10  * E.g. the function names could be in shared-function-names.h
11  *   SHARED_FUNCTION(cos)
12  *   SHARED_FUNCTION(sinh)
13  *   SHARED_FUNCTION(strlen)
14  * etc. and the per-OS files could look like
15  *   #define SHARED_FUNCTION(f) ....  
16  *   #include "shared-function-names.h"
17  *   ...then going on to do OS-specific things
18  * "Once and only once."
19  */
20
21 /*
22  * This software is part of the SBCL system. See the README file for
23  * more information.
24  *
25  * This software is derived from the CMU CL system, which was
26  * written at Carnegie Mellon University and released into the
27  * public domain. The software is in the public domain and is
28  * provided with absolutely no warranty. See the COPYING and CREDITS
29  * files for more information.
30  */
31    
32 /* Pick up all the syscalls. */
33 F(accept)
34 F(access)
35 F(acct)
36 F(bind)
37 F(brk)
38 #if defined(hpux) \
39      || defined(SVR4) \
40      || defined(__FreeBSD__) \
41      || defined(__OpenBSD__) \
42      || defined(__NetBSD__)
43 F(cfgetospeed)
44 F(cfsetospeed)
45 F(cfgetispeed)
46 F(cfsetispeed)
47 #endif
48 F(chdir)
49 F(chmod)
50 F(chown)
51 F(chroot)
52 F(close)
53 F(connect)
54 F(creat)
55 F(dup)
56 F(dup2)
57 F(execve)
58 F(exit)
59 F(fchmod)
60 F(fchown)
61 F(fcntl)
62 #if !defined(hpux) && !defined(SVR4)
63 F(flock)
64 #endif
65 F(fork)
66 F(fstat)
67 F(fsync)
68 F(ftruncate)
69 #if !defined(hpux) && !defined(SVR4) || defined(SOLARIS25) || defined(irix)
70 F(getdtablesize)
71 #endif
72 F(getegid)
73 F(geteuid)
74 F(getgid)
75 F(getgroups)
76 F(gethostname)
77 F(getitimer)
78 #if !defined(hpux) && !defined(SVR4) || defined(SOLARIS25)
79 F(getpagesize)
80 #endif
81 F(getpeername)
82 F(getpgrp)
83 F(getpid)
84 F(getppid)
85 #if !defined(SVR4)  ||  defined(SOLARIS25)
86 F(getpriority)
87 #endif
88 F(getrlimit)
89 #if !defined(SOLARIS) ||  defined(SOLARIS25)
90 F(getrusage)
91 #endif
92 F(getsockname)
93 F(getsockopt)
94 F(gettimeofday)
95 F(getuid)
96 F(ioctl)
97 F(kill)
98 #if !defined(SOLARIS) || defined(SOLARIS25)
99 F(killpg)
100 #endif
101 F(link)
102 F(listen)
103 F(lseek)
104 F(lstat)
105 F(mkdir)
106 F(mknod)
107 F(mmap)
108 F(mount)
109 F(munmap)
110 F(open)
111 F(pipe)
112 F(profil)
113 F(ptrace)
114 #ifdef mach
115 F(quota)
116 #endif
117 F(read)
118 F(readlink)
119 F(readv)
120 #ifndef SVR4
121 F(reboot)
122 #endif
123 F(recv)
124 F(recvfrom)
125 F(recvmsg)
126 F(rename)
127 F(rmdir)
128 F(sbrk)
129 F(select)
130 F(send)
131 F(sendmsg)
132 F(sendto)
133 F(setgroups)
134 #if !defined(SUNOS) && !(defined(SOLARIS) ||  defined(SOLARIS25))
135 F(sethostid)
136 #endif
137 #if !defined(SVR4) ||  defined(SOLARIS25)
138 F(sethostname)
139 #endif
140 F(setitimer)
141 F(setpgrp)
142 F(setsid)
143 #if !defined(SVR4) ||  defined(SOLARIS25)
144 F(setpriority)
145 #endif
146 F(setrlimit)
147 F(setsockopt)
148 F(settimeofday)
149 F(shutdown)
150 #if !defined(hpux) && !defined(SVR4) && !defined(LISP_FEATURE_X86)
151 F(sigreturn)
152 #endif
153 #if !defined(SVR4)
154 F(sigsetmask)
155 #endif
156 #if !defined(SVR4) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
157 F(sigstack)
158 F(sigvec)
159 #endif
160 F(socket)
161 F(socketpair)
162 F(stat)
163 #if !defined(SVR4) && !defined(__OpenBSD__)
164 F(swapon)
165 #endif
166 F(symlink)
167 F(sync)
168 F(syscall)
169 #if defined(hpux) || defined(SVR4) || defined(__linux__)
170 F(closedir)
171 F(opendir)
172 #if defined(readdir)
173 #undef reddir
174 #endif
175 F(readdir)
176 #endif
177 #if defined(hpux) \
178      || defined(SVR4) \
179      || defined(__FreeBSD__) \
180      || defined(__OpenBSD__) \
181      || defined(__NetBSD__) \
182      || defined(__linux__)
183 F(tcgetattr)
184 F(tcsetattr)
185 F(tcsendbreak)
186 F(tcdrain)
187 F(tcflush)
188 F(tcflow)
189 #endif
190 #if defined(SOLARIS)
191 F(times)
192 #endif
193 F(truncate)
194 F(umask)
195 #if !defined(SUNOS) \
196      && !defined(parisc) \
197      && !defined(SOLARIS) \
198      && !defined(__OpenBSD__) \
199      && !defined(__FreeBSD__) \
200      && !defined(__NetBSD__)
201 F(umount)
202 #endif
203 F(unlink)
204 #ifndef hpux
205 F(utimes)
206 #endif
207 #ifndef irix
208 F(vfork)
209 #endif
210 #if !defined(osf1) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
211 F(vhangup)
212 #endif
213 F(wait)
214 #if !defined(SOLARIS) ||  defined(SOLARIS25)
215 F(wait3)
216 #endif
217 F(write)
218 F(writev)
219
220 /* math routines */
221 F(cos)
222 F(sin)
223 F(tan)
224 F(acos)
225 F(asin)
226 F(atan)
227 F(atan2)
228 F(sinh)
229 F(cosh)
230 F(tanh)
231 F(asinh)
232 F(acosh)
233 F(atanh)
234 F(exp)
235 #ifndef hpux
236 F(expm1)
237 #endif
238 F(log)
239 F(log10)
240 #ifndef hpux
241 F(log1p)
242 #endif
243 F(pow)
244 #ifndef hpux
245 F(cbrt)
246 #endif
247 #ifndef LISP_FEATURE_X86
248 F(sqrt)
249 #endif
250 F(hypot)
251
252 /* string things */
253 F(strlen)
254
255 /* network support */
256 F(gethostbyname)
257 F(gethostbyaddr)
258
259 /* other miscellaneous things */
260 /* FIXME: NetBSD plays some renaming games, and so cannot simply
261    reference symbols here.  "NetBSD needs to get fixed here too PEM
262    2004-03-27" */
263 #if defined(SVR4) || defined(__FreeBSD__)
264 F(setpgid)
265 F(getpgid)
266 D(timezone)
267 #if !defined(__FreeBSD__)
268 D(altzone)
269 D(daylight)
270 #endif
271 D(tzname)
272 #endif
273 F(getcwd)
274 F(ttyname)
275
276 #ifdef irix
277 F(_getpty)
278 #endif
279
280 F(dlopen)
281 F(dlsym)
282 F(dlclose)
283 F(dlerror)