0.7.4.19:
[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 #if !defined(SVR4) ||  defined(SOLARIS25)
142 F(setpriority)
143 #endif
144 F(setrlimit)
145 F(setsockopt)
146 F(settimeofday)
147 F(shutdown)
148 #if !defined(hpux) && !defined(SVR4) && !defined(__i386__)
149 F(sigreturn)
150 #endif
151 #if !defined(SVR4)
152 F(sigsetmask)
153 #endif
154 #if !defined(SVR4) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
155 F(sigstack)
156 F(sigvec)
157 #endif
158 F(socket)
159 F(socketpair)
160 F(stat)
161 #ifndef SVR4
162 F(swapon)
163 #endif
164 F(symlink)
165 F(sync)
166 F(syscall)
167 #if defined(hpux) || defined(SVR4) || defined(__linux__)
168 F(closedir)
169 F(opendir)
170 #if defined(readdir)
171 #undef reddir
172 #endif
173 F(readdir)
174 #endif
175 #if defined(hpux) \
176      || defined(SVR4) \
177      || defined(__FreeBSD__) \
178      || defined(__OpenBSD__) \
179      || defined(__linux__)
180 F(tcgetattr)
181 F(tcsetattr)
182 F(tcsendbreak)
183 F(tcdrain)
184 F(tcflush)
185 F(tcflow)
186 #endif
187 #if defined(SOLARIS)
188 F(times)
189 #endif
190 F(truncate)
191 F(umask)
192 #if !defined(SUNOS) \
193      && !defined(parisc) \
194      && !defined(SOLARIS) \
195      && !defined(__OpenBSD__) \
196      && !defined(__FreeBSD__)
197 F(umount)
198 #endif
199 F(unlink)
200 #ifndef hpux
201 F(utimes)
202 #endif
203 #ifndef irix
204 F(vfork)
205 #endif
206 #if !defined(osf1) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
207 F(vhangup)
208 #endif
209 F(wait)
210 #if !defined(SOLARIS) ||  defined(SOLARIS25)
211 F(wait3)
212 #endif
213 F(write)
214 F(writev)
215
216 /* math routines */
217 F(cos)
218 F(sin)
219 F(tan)
220 F(acos)
221 F(asin)
222 F(atan)
223 F(atan2)
224 F(sinh)
225 F(cosh)
226 F(tanh)
227 F(asinh)
228 F(acosh)
229 F(atanh)
230 F(exp)
231 #ifndef hpux
232 F(expm1)
233 #endif
234 F(log)
235 F(log10)
236 #ifndef hpux
237 F(log1p)
238 #endif
239 F(pow)
240 #ifndef hpux
241 F(cbrt)
242 #endif
243 #ifndef __i386__
244 F(sqrt)
245 #endif
246 F(hypot)
247
248 /* string things */
249 F(strlen)
250
251 /* network support */
252 F(gethostbyname)
253 F(gethostbyaddr)
254
255 /* other miscellaneous things */
256 #if defined(SVR4) || defined(__FreeBSD__)
257 F(setpgid)
258 F(getpgid)
259 D(timezone)
260 #if !defined(__FreeBSD__)
261 D(altzone)
262 D(daylight)
263 #endif
264 D(tzname)
265 #endif
266 F(getcwd)
267 F(ttyname)
268
269 #ifdef irix
270 F(_getpty)
271 #endif
272
273 F(dlopen)
274 F(dlsym)
275 F(dlclose)
276 F(dlerror)