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