Declare COERCE and two helpers as EXPLICIT-CHECK.
[sbcl.git] / src / runtime / undefineds.h
blobb717f4f4675bdc100edaea274eaf6bc6d8857c61
1 /*
2 * routines that must be linked into the core for Lisp to work
4 * but note this is only the BSD version, as per the FIXME
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."
22 * This software is part of the SBCL system. See the README file for
23 * more information.
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.
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(LISP_FEATURE_FREEBSD) \
41 || defined(__OpenBSD__) \
42 || defined(__NetBSD__) \
43 || defined(__DragonFly__)
44 F(cfgetospeed)
45 F(cfsetospeed)
46 F(cfgetispeed)
47 F(cfsetispeed)
48 #endif
49 F(chdir)
50 F(chmod)
51 F(chown)
52 F(chroot)
53 F(close)
54 F(connect)
55 F(creat)
56 F(dup)
57 F(dup2)
58 F(execve)
59 F(exit)
60 F(_exit)
61 F(fchmod)
62 F(fchown)
63 F(fcntl)
64 #if !defined(hpux) && !defined(SVR4)
65 F(flock)
66 #endif
67 F(fork)
68 F(fstat)
69 F(fsync)
70 F(ftruncate)
71 #if !defined(hpux) && !defined(SVR4) || defined(SOLARIS25) || defined(irix)
72 F(getdtablesize)
73 #endif
74 F(getegid)
75 F(geteuid)
76 F(getgid)
77 F(getgroups)
78 F(gethostname)
79 F(getitimer)
80 #if !defined(hpux) && !defined(SVR4) || defined(SOLARIS25)
81 F(getpagesize)
82 #endif
83 F(getpeername)
84 F(getpgrp)
85 F(getpid)
86 F(getppid)
87 #if !defined(SVR4) || defined(SOLARIS25)
88 F(getpriority)
89 #endif
90 F(getrlimit)
91 #if !defined(SOLARIS) || defined(SOLARIS25)
92 F(getrusage)
93 #endif
94 F(getsockname)
95 F(getsockopt)
96 F(gettimeofday)
97 F(getuid)
98 F(ioctl)
99 F(kill)
100 #if !defined(SOLARIS) || defined(SOLARIS25)
101 F(killpg)
102 #endif
103 F(link)
104 F(listen)
105 F(lseek)
106 F(lstat)
107 F(mkdir)
108 F(mknod)
109 F(mmap)
110 F(mount)
111 F(munmap)
112 F(open)
113 F(pipe)
114 F(profil)
115 F(ptrace)
116 #ifdef mach
117 F(quota)
118 #endif
119 F(read)
120 F(readlink)
121 F(readv)
122 #ifndef SVR4
123 F(reboot)
124 #endif
125 F(recv)
126 F(recvfrom)
127 F(recvmsg)
128 F(rename)
129 F(rmdir)
130 F(sbrk)
131 F(select)
132 F(send)
133 F(sendmsg)
134 F(sendto)
135 F(setgroups)
136 #if !defined(SUNOS) && !(defined(SOLARIS) || defined(SOLARIS25))
137 F(sethostid)
138 #endif
139 #if !defined(SVR4) || defined(SOLARIS25)
140 F(sethostname)
141 #endif
142 F(setitimer)
143 F(setpgrp)
144 F(setsid)
145 #if !defined(SVR4) || defined(SOLARIS25)
146 F(setpriority)
147 #endif
148 F(setrlimit)
149 F(setsockopt)
150 F(settimeofday)
151 F(shutdown)
152 #if !defined(hpux) && !defined(SVR4) && !defined(LISP_FEATURE_X86)
153 F(sigreturn)
154 #endif
155 #if !defined(SVR4)
156 F(sigsetmask)
157 #endif
158 #if !defined(SVR4) && !defined(LISP_FEATURE_FREEBSD) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__)
159 F(sigstack)
160 F(sigvec)
161 #endif
162 F(socket)
163 F(socketpair)
164 F(stat)
165 #if !defined(SVR4) && !defined(__OpenBSD__)
166 F(swapon)
167 #endif
168 F(symlink)
169 F(sync)
170 F(syscall)
171 #if defined(hpux) || defined(SVR4) || defined(__linux__)
172 F(closedir)
173 F(opendir)
174 #if defined(readdir)
175 #undef reddir
176 #endif
177 F(readdir)
178 #endif
179 #if defined(hpux) \
180 || defined(SVR4) \
181 || defined(LISP_FEATURE_FREEBSD) \
182 || defined(__OpenBSD__) \
183 || defined(__NetBSD__) \
184 || defined(__DragonFly__) \
185 || defined(__linux__)
186 F(tcgetattr)
187 F(tcsetattr)
188 F(tcsendbreak)
189 F(tcdrain)
190 F(tcflush)
191 F(tcflow)
192 #endif
193 #if defined(SOLARIS)
194 F(times)
195 #endif
196 F(truncate)
197 F(umask)
198 #if !defined(SUNOS) \
199 && !defined(parisc) \
200 && !defined(SOLARIS) \
201 && !defined(__OpenBSD__) \
202 && !defined(LISP_FEATURE_FREEBSD) \
203 && !defined(__DragonFly__) \
204 && !defined(__NetBSD__)
205 F(umount)
206 #endif
207 F(unlink)
208 #ifndef hpux
209 F(utimes)
210 #endif
211 #ifndef irix
212 F(vfork)
213 #endif
214 #if !defined(osf1) && !defined(LISP_FEATURE_FREEBSD) && !defined(__OpenBSD__) && !defined(__NetBSD__) && !defined(__DragonFly__)
215 F(vhangup)
216 #endif
217 F(wait)
218 F(waitpid)
219 #if !defined(SOLARIS) || defined(SOLARIS25)
220 F(wait3)
221 #endif
222 F(write)
223 F(writev)
225 /* math routines */
226 F(cos)
227 F(sin)
228 F(tan)
229 F(acos)
230 F(asin)
231 F(atan)
232 F(atan2)
233 F(sinh)
234 F(cosh)
235 F(tanh)
236 F(asinh)
237 F(acosh)
238 F(atanh)
239 F(exp)
240 #ifndef hpux
241 F(expm1)
242 #endif
243 F(log)
244 F(log10)
245 #ifndef hpux
246 F(log1p)
247 #endif
248 F(pow)
249 #ifndef hpux
250 F(cbrt)
251 #endif
252 #ifndef LISP_FEATURE_X86
253 F(sqrt)
254 #endif
255 F(hypot)
257 /* string things */
258 F(strlen)
260 /* network support */
261 F(gethostbyname)
262 F(gethostbyaddr)
264 /* other miscellaneous things */
265 /* FIXME: NetBSD plays some renaming games, and so cannot simply
266 reference symbols here. "NetBSD needs to get fixed here too PEM
267 2004-03-27" */
268 #if defined(SVR4) || defined(LISP_FEATURE_FREEBSD)
269 F(setpgid)
270 F(getpgid)
271 D(timezone)
272 #if !defined(LISP_FEATURE_FREEBSD)
273 D(altzone)
274 D(daylight)
275 #endif
276 D(tzname)
277 #endif
278 F(getcwd)
279 F(ttyname)
281 #ifdef irix
282 F(_getpty)
283 #endif
285 F(dlopen)
286 F(dlsym)
287 F(dlclose)
288 F(dlerror)