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