/* [<][>][^][v][top][bottom][index][help] */
DEFINITIONS
This source file includes following definitions.
- syslib_sys_readdir
- syslib_sys_glob
- syslib_sys_normalize_pathname
- syslib_sys_basename
- syslib_sys_dirname
- syslib_sys_getgrgid
- syslib_sys_getgrnam
- syslib_sys_gid_TOgroup_name
- syslib_sys_group_name_TOgid
- syslib_sys_setlocale
- syslib_sys_getpwuid
- syslib_sys_getpwnam
- syslib_sys_uid_TOuser_name
- syslib_sys_user_name_TOuid
- syslib_sys_sigset_addX
- syslib_sys_sigset_deleteX
- syslib_sys_sigset_fillX
- syslib_sys_sigset_emptyX
- syslib_sys_signal_name
- syslib_sys_kill
- syslib_set_signal_handlerX
- syslib_get_signal_handler
- syslib_get_signal_handlers
- syslib_sys_sigmask
- syslib_sys_sigsuspend
- syslib_sys_remove
- syslib_sys_rename
- syslib_sys_tmpnam
- syslib_sys_mkstemp
- syslib_sys_exit
- syslib_sys_getenv
- syslib_sys_system
- syslib_sys_random
- syslib_sys_srandom
- syslib_sys_strerror
- syslib_sys_stat
- syslib_sys_lstat
- syslib_sys_fstat
- syslib_sys_wait
- syslib_sys_waitpid
- syslib_sys_wait_exitedP
- syslib_sys_wait_exit_status
- syslib_sys_wait_signaledP
- syslib_sys_wait_termsig
- syslib_sys_wait_stoppedP
- syslib_sys_wait_stopsig
- syslib_sys_time
- syslib_current_time
- syslib_timeP
- syslib_time_TOseconds
- syslib_seconds_TOtime
- syslib_sys_asctime
- syslib_sys_ctime
- syslib_sys_difftime
- syslib_sys_strftime
- syslib_sys_gmtime
- syslib_sys_localtime
- syslib_sys_mktime
- syslib_sys_access
- syslib_sys_chdir
- syslib_sys_chmod
- syslib_sys_fork
- syslib_sys_exec
- syslib_sys_fork_and_exec
- syslib_sys_getcwd
- syslib_sys_getegid
- syslib_sys_getgid
- syslib_sys_geteuid
- syslib_sys_getuid
- syslib_sys_getpid
- syslib_sys_getppid
- syslib_sys_link
- syslib_sys_pause
- syslib_sys_alarm
- syslib_sys_pipe
- syslib_sys_close
- syslib_sys_mkdir
- syslib_sys_rmdir
- syslib_sys_umask
- syslib_sys_sleep
- syslib_sys_nanosleep
- syslib_sys_unlink
- syslib_sys_isatty
- syslib_sys_ttyname
- syslib_sys_truncate
- syslib_sys_ftruncate
- syslib_sys_crypt
- syslib_sys_symlink
- syslib_sys_readlink
- syslib_sys_fdset_ref
- syslib_sys_fdset_setX
- syslib_sys_fdset_max_fd
- syslib_sys_select
- syslib_sys_selectX
- Scm_Init_syslib
1 /* Generated by genstub. Do not edit. */
2 #define LIBGAUCHE_BODY
3 #include <gauche.h>
4 #if defined(__CYGWIN__) || defined(__MINGW32__)
5 #define SCM_CGEN_CONST /*empty*/
6 #else
7 #define SCM_CGEN_CONST const
8 #endif
9 #include <unistd.h>
10 #include <sys/types.h>
11 #include <dirent.h>
12 #include <locale.h>
13 #include <stdlib.h>
14 #include <errno.h>
15 #include <signal.h>
16 #include <math.h>
17 #ifndef __MINGW32__
18 #include <sys/wait.h>
19 #include <grp.h>
20 #include <pwd.h>
21 #endif /*!__MINGW32__*/
22 #if TIME_WITH_SYS_TIME
23 # include <sys/time.h>
24 # include <time.h>
25 #else
26 # if HAVE_SYS_TIME_H
27 # include <sys/time.h>
28 # else
29 # include <time.h>
30 # endif
31 #endif
32
33 static ScmObj syslib_sys_readdir(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
34 {
35 ScmObj pathname_scm;
36 ScmString* pathname;
37 SCM_ENTER_SUBR("sys-readdir");
38 pathname_scm = SCM_ARGREF(0);
39 if (!SCM_STRINGP(pathname_scm)) Scm_Error("string required, but got %S", pathname_scm);
40 pathname = SCM_STRING(pathname_scm);
41 {
42 {
43 ScmObj SCM_RESULT;
44 SCM_RESULT = Scm_ReadDirectory(pathname);
45 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
46 }
47 }
48 }
49
50 static SCM_DEFINE_STRING_CONST(syslib_sys_readdir__NAME, "sys-readdir", 11, 11);
51 static SCM_DEFINE_SUBR(syslib_sys_readdir__STUB, 1, 0, SCM_OBJ(&syslib_sys_readdir__NAME), syslib_sys_readdir, NULL, NULL);
52
53 static ScmObj syslib_sys_glob(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
54 {
55 ScmObj pattern_scm;
56 ScmString* pattern;
57 SCM_ENTER_SUBR("sys-glob");
58 pattern_scm = SCM_ARGREF(0);
59 if (!SCM_STRINGP(pattern_scm)) Scm_Error("string required, but got %S", pattern_scm);
60 pattern = SCM_STRING(pattern_scm);
61 {
62 {
63 ScmObj SCM_RESULT;
64 SCM_RESULT = Scm_GlobDirectory(pattern);
65 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
66 }
67 }
68 }
69
70 static SCM_DEFINE_STRING_CONST(syslib_sys_glob__NAME, "sys-glob", 8, 8);
71 static SCM_DEFINE_SUBR(syslib_sys_glob__STUB, 1, 0, SCM_OBJ(&syslib_sys_glob__NAME), syslib_sys_glob, NULL, NULL);
72
73 static SCM_DEFINE_STRING_CONST(KEYARG_absolute__NAME, "absolute", 8, 8);
74 static ScmObj KEYARG_absolute = SCM_UNBOUND;
75 static SCM_DEFINE_STRING_CONST(KEYARG_expand__NAME, "expand", 6, 6);
76 static ScmObj KEYARG_expand = SCM_UNBOUND;
77 static SCM_DEFINE_STRING_CONST(KEYARG_canonicalize__NAME, "canonicalize", 12, 12);
78 static ScmObj KEYARG_canonicalize = SCM_UNBOUND;
79 static ScmObj syslib_sys_normalize_pathname(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
80 {
81 ScmObj pathname_scm;
82 ScmString* pathname;
83 ScmObj absolute_scm;
84 ScmObj absolute;
85 ScmObj expand_scm;
86 ScmObj expand;
87 ScmObj canonicalize_scm;
88 ScmObj canonicalize;
89 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
90 SCM_ENTER_SUBR("sys-normalize-pathname");
91 pathname_scm = SCM_ARGREF(0);
92 if (!SCM_STRINGP(pathname_scm)) Scm_Error("string required, but got %S", pathname_scm);
93 pathname = SCM_STRING(pathname_scm);
94 absolute_scm = Scm_GetKeyword(SCM_OBJ(KEYARG_absolute), SCM_OPTARGS, SCM_FALSE);
95 absolute = (absolute_scm);
96 expand_scm = Scm_GetKeyword(SCM_OBJ(KEYARG_expand), SCM_OPTARGS, SCM_FALSE);
97 expand = (expand_scm);
98 canonicalize_scm = Scm_GetKeyword(SCM_OBJ(KEYARG_canonicalize), SCM_OPTARGS, SCM_FALSE);
99 canonicalize = (canonicalize_scm);
100 {
101 int flags = 0;
102 if (!SCM_FALSEP(absolute)) flags |= SCM_PATH_ABSOLUTE;
103 if (!SCM_FALSEP(expand)) flags |= SCM_PATH_EXPAND;
104 if (!SCM_FALSEP(canonicalize)) flags |= SCM_PATH_CANONICALIZE;
105 SCM_RETURN(Scm_NormalizePathname(pathname, flags));
106 }
107 }
108
109 static SCM_DEFINE_STRING_CONST(syslib_sys_normalize_pathname__NAME, "sys-normalize-pathname", 22, 22);
110 static SCM_DEFINE_SUBR(syslib_sys_normalize_pathname__STUB, 1, 1, SCM_OBJ(&syslib_sys_normalize_pathname__NAME), syslib_sys_normalize_pathname, NULL, NULL);
111
112 static ScmObj syslib_sys_basename(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
113 {
114 ScmObj pathname_scm;
115 ScmString* pathname;
116 SCM_ENTER_SUBR("sys-basename");
117 pathname_scm = SCM_ARGREF(0);
118 if (!SCM_STRINGP(pathname_scm)) Scm_Error("string required, but got %S", pathname_scm);
119 pathname = SCM_STRING(pathname_scm);
120 {
121 {
122 ScmObj SCM_RESULT;
123 SCM_RESULT = Scm_BaseName(pathname);
124 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
125 }
126 }
127 }
128
129 static SCM_DEFINE_STRING_CONST(syslib_sys_basename__NAME, "sys-basename", 12, 12);
130 static SCM_DEFINE_SUBR(syslib_sys_basename__STUB, 1, 0, SCM_OBJ(&syslib_sys_basename__NAME), syslib_sys_basename, NULL, NULL);
131
132 static ScmObj syslib_sys_dirname(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
133 {
134 ScmObj pathname_scm;
135 ScmString* pathname;
136 SCM_ENTER_SUBR("sys-dirname");
137 pathname_scm = SCM_ARGREF(0);
138 if (!SCM_STRINGP(pathname_scm)) Scm_Error("string required, but got %S", pathname_scm);
139 pathname = SCM_STRING(pathname_scm);
140 {
141 {
142 ScmObj SCM_RESULT;
143 SCM_RESULT = Scm_DirName(pathname);
144 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
145 }
146 }
147 }
148
149 static SCM_DEFINE_STRING_CONST(syslib_sys_dirname__NAME, "sys-dirname", 11, 11);
150 static SCM_DEFINE_SUBR(syslib_sys_dirname__STUB, 1, 0, SCM_OBJ(&syslib_sys_dirname__NAME), syslib_sys_dirname, NULL, NULL);
151
152 #if defined(E2BIG)
153 static SCM_DEFINE_STRING_CONST(syslib_E2BIG__VAR__NAME, "E2BIG", 5, 5);
154 static ScmObj syslib_E2BIG__VAR = SCM_UNBOUND;
155 #endif /*defined(E2BIG)*/
156 #if defined(EACCES)
157 static SCM_DEFINE_STRING_CONST(syslib_EACCES__VAR__NAME, "EACCES", 6, 6);
158 static ScmObj syslib_EACCES__VAR = SCM_UNBOUND;
159 #endif /*defined(EACCES)*/
160 #if defined(EADDRINUSE)
161 static SCM_DEFINE_STRING_CONST(syslib_EADDRINUSE__VAR__NAME, "EADDRINUSE", 10, 10);
162 static ScmObj syslib_EADDRINUSE__VAR = SCM_UNBOUND;
163 #endif /*defined(EADDRINUSE)*/
164 #if defined(EADDRNOTAVAIL)
165 static SCM_DEFINE_STRING_CONST(syslib_EADDRNOTAVAIL__VAR__NAME, "EADDRNOTAVAIL", 13, 13);
166 static ScmObj syslib_EADDRNOTAVAIL__VAR = SCM_UNBOUND;
167 #endif /*defined(EADDRNOTAVAIL)*/
168 #if defined(EADV)
169 static SCM_DEFINE_STRING_CONST(syslib_EADV__VAR__NAME, "EADV", 4, 4);
170 static ScmObj syslib_EADV__VAR = SCM_UNBOUND;
171 #endif /*defined(EADV)*/
172 #if defined(EAFNOSUPPORT)
173 static SCM_DEFINE_STRING_CONST(syslib_EAFNOSUPPORT__VAR__NAME, "EAFNOSUPPORT", 12, 12);
174 static ScmObj syslib_EAFNOSUPPORT__VAR = SCM_UNBOUND;
175 #endif /*defined(EAFNOSUPPORT)*/
176 #if defined(EAGAIN)
177 static SCM_DEFINE_STRING_CONST(syslib_EAGAIN__VAR__NAME, "EAGAIN", 6, 6);
178 static ScmObj syslib_EAGAIN__VAR = SCM_UNBOUND;
179 #endif /*defined(EAGAIN)*/
180 #if defined(EALREADY)
181 static SCM_DEFINE_STRING_CONST(syslib_EALREADY__VAR__NAME, "EALREADY", 8, 8);
182 static ScmObj syslib_EALREADY__VAR = SCM_UNBOUND;
183 #endif /*defined(EALREADY)*/
184 #if defined(EBADE)
185 static SCM_DEFINE_STRING_CONST(syslib_EBADE__VAR__NAME, "EBADE", 5, 5);
186 static ScmObj syslib_EBADE__VAR = SCM_UNBOUND;
187 #endif /*defined(EBADE)*/
188 #if defined(EBADF)
189 static SCM_DEFINE_STRING_CONST(syslib_EBADF__VAR__NAME, "EBADF", 5, 5);
190 static ScmObj syslib_EBADF__VAR = SCM_UNBOUND;
191 #endif /*defined(EBADF)*/
192 #if defined(EBADFD)
193 static SCM_DEFINE_STRING_CONST(syslib_EBADFD__VAR__NAME, "EBADFD", 6, 6);
194 static ScmObj syslib_EBADFD__VAR = SCM_UNBOUND;
195 #endif /*defined(EBADFD)*/
196 #if defined(EBADMSG)
197 static SCM_DEFINE_STRING_CONST(syslib_EBADMSG__VAR__NAME, "EBADMSG", 7, 7);
198 static ScmObj syslib_EBADMSG__VAR = SCM_UNBOUND;
199 #endif /*defined(EBADMSG)*/
200 #if defined(EBADR)
201 static SCM_DEFINE_STRING_CONST(syslib_EBADR__VAR__NAME, "EBADR", 5, 5);
202 static ScmObj syslib_EBADR__VAR = SCM_UNBOUND;
203 #endif /*defined(EBADR)*/
204 #if defined(EBADRQC)
205 static SCM_DEFINE_STRING_CONST(syslib_EBADRQC__VAR__NAME, "EBADRQC", 7, 7);
206 static ScmObj syslib_EBADRQC__VAR = SCM_UNBOUND;
207 #endif /*defined(EBADRQC)*/
208 #if defined(EBADSLT)
209 static SCM_DEFINE_STRING_CONST(syslib_EBADSLT__VAR__NAME, "EBADSLT", 7, 7);
210 static ScmObj syslib_EBADSLT__VAR = SCM_UNBOUND;
211 #endif /*defined(EBADSLT)*/
212 #if defined(EBFONT)
213 static SCM_DEFINE_STRING_CONST(syslib_EBFONT__VAR__NAME, "EBFONT", 6, 6);
214 static ScmObj syslib_EBFONT__VAR = SCM_UNBOUND;
215 #endif /*defined(EBFONT)*/
216 #if defined(EBUSY)
217 static SCM_DEFINE_STRING_CONST(syslib_EBUSY__VAR__NAME, "EBUSY", 5, 5);
218 static ScmObj syslib_EBUSY__VAR = SCM_UNBOUND;
219 #endif /*defined(EBUSY)*/
220 #if defined(ECANCELED)
221 static SCM_DEFINE_STRING_CONST(syslib_ECANCELED__VAR__NAME, "ECANCELED", 9, 9);
222 static ScmObj syslib_ECANCELED__VAR = SCM_UNBOUND;
223 #endif /*defined(ECANCELED)*/
224 #if defined(ECHILD)
225 static SCM_DEFINE_STRING_CONST(syslib_ECHILD__VAR__NAME, "ECHILD", 6, 6);
226 static ScmObj syslib_ECHILD__VAR = SCM_UNBOUND;
227 #endif /*defined(ECHILD)*/
228 #if defined(ECHRNG)
229 static SCM_DEFINE_STRING_CONST(syslib_ECHRNG__VAR__NAME, "ECHRNG", 6, 6);
230 static ScmObj syslib_ECHRNG__VAR = SCM_UNBOUND;
231 #endif /*defined(ECHRNG)*/
232 #if defined(ECOMM)
233 static SCM_DEFINE_STRING_CONST(syslib_ECOMM__VAR__NAME, "ECOMM", 5, 5);
234 static ScmObj syslib_ECOMM__VAR = SCM_UNBOUND;
235 #endif /*defined(ECOMM)*/
236 #if defined(ECONNABORTED)
237 static SCM_DEFINE_STRING_CONST(syslib_ECONNABORTED__VAR__NAME, "ECONNABORTED", 12, 12);
238 static ScmObj syslib_ECONNABORTED__VAR = SCM_UNBOUND;
239 #endif /*defined(ECONNABORTED)*/
240 #if defined(ECONNREFUSED)
241 static SCM_DEFINE_STRING_CONST(syslib_ECONNREFUSED__VAR__NAME, "ECONNREFUSED", 12, 12);
242 static ScmObj syslib_ECONNREFUSED__VAR = SCM_UNBOUND;
243 #endif /*defined(ECONNREFUSED)*/
244 #if defined(ECONNRESET)
245 static SCM_DEFINE_STRING_CONST(syslib_ECONNRESET__VAR__NAME, "ECONNRESET", 10, 10);
246 static ScmObj syslib_ECONNRESET__VAR = SCM_UNBOUND;
247 #endif /*defined(ECONNRESET)*/
248 #if defined(EDEADLK)
249 static SCM_DEFINE_STRING_CONST(syslib_EDEADLK__VAR__NAME, "EDEADLK", 7, 7);
250 static ScmObj syslib_EDEADLK__VAR = SCM_UNBOUND;
251 #endif /*defined(EDEADLK)*/
252 #if defined(EDEADLOCK)
253 static SCM_DEFINE_STRING_CONST(syslib_EDEADLOCK__VAR__NAME, "EDEADLOCK", 9, 9);
254 static ScmObj syslib_EDEADLOCK__VAR = SCM_UNBOUND;
255 #endif /*defined(EDEADLOCK)*/
256 #if defined(EDESTADDRREQ)
257 static SCM_DEFINE_STRING_CONST(syslib_EDESTADDRREQ__VAR__NAME, "EDESTADDRREQ", 12, 12);
258 static ScmObj syslib_EDESTADDRREQ__VAR = SCM_UNBOUND;
259 #endif /*defined(EDESTADDRREQ)*/
260 #if defined(EDOM)
261 static SCM_DEFINE_STRING_CONST(syslib_EDOM__VAR__NAME, "EDOM", 4, 4);
262 static ScmObj syslib_EDOM__VAR = SCM_UNBOUND;
263 #endif /*defined(EDOM)*/
264 #if defined(EDOTDOT)
265 static SCM_DEFINE_STRING_CONST(syslib_EDOTDOT__VAR__NAME, "EDOTDOT", 7, 7);
266 static ScmObj syslib_EDOTDOT__VAR = SCM_UNBOUND;
267 #endif /*defined(EDOTDOT)*/
268 #if defined(EDQUOT)
269 static SCM_DEFINE_STRING_CONST(syslib_EDQUOT__VAR__NAME, "EDQUOT", 6, 6);
270 static ScmObj syslib_EDQUOT__VAR = SCM_UNBOUND;
271 #endif /*defined(EDQUOT)*/
272 #if defined(EEXIST)
273 static SCM_DEFINE_STRING_CONST(syslib_EEXIST__VAR__NAME, "EEXIST", 6, 6);
274 static ScmObj syslib_EEXIST__VAR = SCM_UNBOUND;
275 #endif /*defined(EEXIST)*/
276 #if defined(EFAULT)
277 static SCM_DEFINE_STRING_CONST(syslib_EFAULT__VAR__NAME, "EFAULT", 6, 6);
278 static ScmObj syslib_EFAULT__VAR = SCM_UNBOUND;
279 #endif /*defined(EFAULT)*/
280 #if defined(EFBIG)
281 static SCM_DEFINE_STRING_CONST(syslib_EFBIG__VAR__NAME, "EFBIG", 5, 5);
282 static ScmObj syslib_EFBIG__VAR = SCM_UNBOUND;
283 #endif /*defined(EFBIG)*/
284 #if defined(EHOSTDOWN)
285 static SCM_DEFINE_STRING_CONST(syslib_EHOSTDOWN__VAR__NAME, "EHOSTDOWN", 9, 9);
286 static ScmObj syslib_EHOSTDOWN__VAR = SCM_UNBOUND;
287 #endif /*defined(EHOSTDOWN)*/
288 #if defined(EHOSTUNREACH)
289 static SCM_DEFINE_STRING_CONST(syslib_EHOSTUNREACH__VAR__NAME, "EHOSTUNREACH", 12, 12);
290 static ScmObj syslib_EHOSTUNREACH__VAR = SCM_UNBOUND;
291 #endif /*defined(EHOSTUNREACH)*/
292 #if defined(EIDRM)
293 static SCM_DEFINE_STRING_CONST(syslib_EIDRM__VAR__NAME, "EIDRM", 5, 5);
294 static ScmObj syslib_EIDRM__VAR = SCM_UNBOUND;
295 #endif /*defined(EIDRM)*/
296 #if defined(EILSEQ)
297 static SCM_DEFINE_STRING_CONST(syslib_EILSEQ__VAR__NAME, "EILSEQ", 6, 6);
298 static ScmObj syslib_EILSEQ__VAR = SCM_UNBOUND;
299 #endif /*defined(EILSEQ)*/
300 #if defined(EINPROGRESS)
301 static SCM_DEFINE_STRING_CONST(syslib_EINPROGRESS__VAR__NAME, "EINPROGRESS", 11, 11);
302 static ScmObj syslib_EINPROGRESS__VAR = SCM_UNBOUND;
303 #endif /*defined(EINPROGRESS)*/
304 #if defined(EINTR)
305 static SCM_DEFINE_STRING_CONST(syslib_EINTR__VAR__NAME, "EINTR", 5, 5);
306 static ScmObj syslib_EINTR__VAR = SCM_UNBOUND;
307 #endif /*defined(EINTR)*/
308 #if defined(EINVAL)
309 static SCM_DEFINE_STRING_CONST(syslib_EINVAL__VAR__NAME, "EINVAL", 6, 6);
310 static ScmObj syslib_EINVAL__VAR = SCM_UNBOUND;
311 #endif /*defined(EINVAL)*/
312 #if defined(EIO)
313 static SCM_DEFINE_STRING_CONST(syslib_EIO__VAR__NAME, "EIO", 3, 3);
314 static ScmObj syslib_EIO__VAR = SCM_UNBOUND;
315 #endif /*defined(EIO)*/
316 #if defined(EISCONN)
317 static SCM_DEFINE_STRING_CONST(syslib_EISCONN__VAR__NAME, "EISCONN", 7, 7);
318 static ScmObj syslib_EISCONN__VAR = SCM_UNBOUND;
319 #endif /*defined(EISCONN)*/
320 #if defined(EISDIR)
321 static SCM_DEFINE_STRING_CONST(syslib_EISDIR__VAR__NAME, "EISDIR", 6, 6);
322 static ScmObj syslib_EISDIR__VAR = SCM_UNBOUND;
323 #endif /*defined(EISDIR)*/
324 #if defined(EISNAM)
325 static SCM_DEFINE_STRING_CONST(syslib_EISNAM__VAR__NAME, "EISNAM", 6, 6);
326 static ScmObj syslib_EISNAM__VAR = SCM_UNBOUND;
327 #endif /*defined(EISNAM)*/
328 #if defined(EKEYEXPIRED)
329 static SCM_DEFINE_STRING_CONST(syslib_EKEYEXPIRED__VAR__NAME, "EKEYEXPIRED", 11, 11);
330 static ScmObj syslib_EKEYEXPIRED__VAR = SCM_UNBOUND;
331 #endif /*defined(EKEYEXPIRED)*/
332 #if defined(EKEYREJECTED)
333 static SCM_DEFINE_STRING_CONST(syslib_EKEYREJECTED__VAR__NAME, "EKEYREJECTED", 12, 12);
334 static ScmObj syslib_EKEYREJECTED__VAR = SCM_UNBOUND;
335 #endif /*defined(EKEYREJECTED)*/
336 #if defined(EKEYREVOKED)
337 static SCM_DEFINE_STRING_CONST(syslib_EKEYREVOKED__VAR__NAME, "EKEYREVOKED", 11, 11);
338 static ScmObj syslib_EKEYREVOKED__VAR = SCM_UNBOUND;
339 #endif /*defined(EKEYREVOKED)*/
340 #if defined(EL2HLT)
341 static SCM_DEFINE_STRING_CONST(syslib_EL2HLT__VAR__NAME, "EL2HLT", 6, 6);
342 static ScmObj syslib_EL2HLT__VAR = SCM_UNBOUND;
343 #endif /*defined(EL2HLT)*/
344 #if defined(EL2NSYNC)
345 static SCM_DEFINE_STRING_CONST(syslib_EL2NSYNC__VAR__NAME, "EL2NSYNC", 8, 8);
346 static ScmObj syslib_EL2NSYNC__VAR = SCM_UNBOUND;
347 #endif /*defined(EL2NSYNC)*/
348 #if defined(EL3HLT)
349 static SCM_DEFINE_STRING_CONST(syslib_EL3HLT__VAR__NAME, "EL3HLT", 6, 6);
350 static ScmObj syslib_EL3HLT__VAR = SCM_UNBOUND;
351 #endif /*defined(EL3HLT)*/
352 #if defined(EL3RST)
353 static SCM_DEFINE_STRING_CONST(syslib_EL3RST__VAR__NAME, "EL3RST", 6, 6);
354 static ScmObj syslib_EL3RST__VAR = SCM_UNBOUND;
355 #endif /*defined(EL3RST)*/
356 #if defined(ELIBACC)
357 static SCM_DEFINE_STRING_CONST(syslib_ELIBACC__VAR__NAME, "ELIBACC", 7, 7);
358 static ScmObj syslib_ELIBACC__VAR = SCM_UNBOUND;
359 #endif /*defined(ELIBACC)*/
360 #if defined(ELIBBAD)
361 static SCM_DEFINE_STRING_CONST(syslib_ELIBBAD__VAR__NAME, "ELIBBAD", 7, 7);
362 static ScmObj syslib_ELIBBAD__VAR = SCM_UNBOUND;
363 #endif /*defined(ELIBBAD)*/
364 #if defined(ELIBEXEC)
365 static SCM_DEFINE_STRING_CONST(syslib_ELIBEXEC__VAR__NAME, "ELIBEXEC", 8, 8);
366 static ScmObj syslib_ELIBEXEC__VAR = SCM_UNBOUND;
367 #endif /*defined(ELIBEXEC)*/
368 #if defined(ELIBMAX)
369 static SCM_DEFINE_STRING_CONST(syslib_ELIBMAX__VAR__NAME, "ELIBMAX", 7, 7);
370 static ScmObj syslib_ELIBMAX__VAR = SCM_UNBOUND;
371 #endif /*defined(ELIBMAX)*/
372 #if defined(ELIBSCN)
373 static SCM_DEFINE_STRING_CONST(syslib_ELIBSCN__VAR__NAME, "ELIBSCN", 7, 7);
374 static ScmObj syslib_ELIBSCN__VAR = SCM_UNBOUND;
375 #endif /*defined(ELIBSCN)*/
376 #if defined(ELNRNG)
377 static SCM_DEFINE_STRING_CONST(syslib_ELNRNG__VAR__NAME, "ELNRNG", 6, 6);
378 static ScmObj syslib_ELNRNG__VAR = SCM_UNBOUND;
379 #endif /*defined(ELNRNG)*/
380 #if defined(ELOOP)
381 static SCM_DEFINE_STRING_CONST(syslib_ELOOP__VAR__NAME, "ELOOP", 5, 5);
382 static ScmObj syslib_ELOOP__VAR = SCM_UNBOUND;
383 #endif /*defined(ELOOP)*/
384 #if defined(EMEDIUMTYPE)
385 static SCM_DEFINE_STRING_CONST(syslib_EMEDIUMTYPE__VAR__NAME, "EMEDIUMTYPE", 11, 11);
386 static ScmObj syslib_EMEDIUMTYPE__VAR = SCM_UNBOUND;
387 #endif /*defined(EMEDIUMTYPE)*/
388 #if defined(EMFILE)
389 static SCM_DEFINE_STRING_CONST(syslib_EMFILE__VAR__NAME, "EMFILE", 6, 6);
390 static ScmObj syslib_EMFILE__VAR = SCM_UNBOUND;
391 #endif /*defined(EMFILE)*/
392 #if defined(EMLINK)
393 static SCM_DEFINE_STRING_CONST(syslib_EMLINK__VAR__NAME, "EMLINK", 6, 6);
394 static ScmObj syslib_EMLINK__VAR = SCM_UNBOUND;
395 #endif /*defined(EMLINK)*/
396 #if defined(EMSGSIZE)
397 static SCM_DEFINE_STRING_CONST(syslib_EMSGSIZE__VAR__NAME, "EMSGSIZE", 8, 8);
398 static ScmObj syslib_EMSGSIZE__VAR = SCM_UNBOUND;
399 #endif /*defined(EMSGSIZE)*/
400 #if defined(EMULTIHOP)
401 static SCM_DEFINE_STRING_CONST(syslib_EMULTIHOP__VAR__NAME, "EMULTIHOP", 9, 9);
402 static ScmObj syslib_EMULTIHOP__VAR = SCM_UNBOUND;
403 #endif /*defined(EMULTIHOP)*/
404 #if defined(ENAMETOOLONG)
405 static SCM_DEFINE_STRING_CONST(syslib_ENAMETOOLONG__VAR__NAME, "ENAMETOOLONG", 12, 12);
406 static ScmObj syslib_ENAMETOOLONG__VAR = SCM_UNBOUND;
407 #endif /*defined(ENAMETOOLONG)*/
408 #if defined(ENAVAIL)
409 static SCM_DEFINE_STRING_CONST(syslib_ENAVAIL__VAR__NAME, "ENAVAIL", 7, 7);
410 static ScmObj syslib_ENAVAIL__VAR = SCM_UNBOUND;
411 #endif /*defined(ENAVAIL)*/
412 #if defined(ENETDOWN)
413 static SCM_DEFINE_STRING_CONST(syslib_ENETDOWN__VAR__NAME, "ENETDOWN", 8, 8);
414 static ScmObj syslib_ENETDOWN__VAR = SCM_UNBOUND;
415 #endif /*defined(ENETDOWN)*/
416 #if defined(ENETRESET)
417 static SCM_DEFINE_STRING_CONST(syslib_ENETRESET__VAR__NAME, "ENETRESET", 9, 9);
418 static ScmObj syslib_ENETRESET__VAR = SCM_UNBOUND;
419 #endif /*defined(ENETRESET)*/
420 #if defined(ENETUNREACH)
421 static SCM_DEFINE_STRING_CONST(syslib_ENETUNREACH__VAR__NAME, "ENETUNREACH", 11, 11);
422 static ScmObj syslib_ENETUNREACH__VAR = SCM_UNBOUND;
423 #endif /*defined(ENETUNREACH)*/
424 #if defined(ENFILE)
425 static SCM_DEFINE_STRING_CONST(syslib_ENFILE__VAR__NAME, "ENFILE", 6, 6);
426 static ScmObj syslib_ENFILE__VAR = SCM_UNBOUND;
427 #endif /*defined(ENFILE)*/
428 #if defined(ENOANO)
429 static SCM_DEFINE_STRING_CONST(syslib_ENOANO__VAR__NAME, "ENOANO", 6, 6);
430 static ScmObj syslib_ENOANO__VAR = SCM_UNBOUND;
431 #endif /*defined(ENOANO)*/
432 #if defined(ENOBUFS)
433 static SCM_DEFINE_STRING_CONST(syslib_ENOBUFS__VAR__NAME, "ENOBUFS", 7, 7);
434 static ScmObj syslib_ENOBUFS__VAR = SCM_UNBOUND;
435 #endif /*defined(ENOBUFS)*/
436 #if defined(ENOCSI)
437 static SCM_DEFINE_STRING_CONST(syslib_ENOCSI__VAR__NAME, "ENOCSI", 6, 6);
438 static ScmObj syslib_ENOCSI__VAR = SCM_UNBOUND;
439 #endif /*defined(ENOCSI)*/
440 #if defined(ENODATA)
441 static SCM_DEFINE_STRING_CONST(syslib_ENODATA__VAR__NAME, "ENODATA", 7, 7);
442 static ScmObj syslib_ENODATA__VAR = SCM_UNBOUND;
443 #endif /*defined(ENODATA)*/
444 #if defined(ENODEV)
445 static SCM_DEFINE_STRING_CONST(syslib_ENODEV__VAR__NAME, "ENODEV", 6, 6);
446 static ScmObj syslib_ENODEV__VAR = SCM_UNBOUND;
447 #endif /*defined(ENODEV)*/
448 #if defined(ENOENT)
449 static SCM_DEFINE_STRING_CONST(syslib_ENOENT__VAR__NAME, "ENOENT", 6, 6);
450 static ScmObj syslib_ENOENT__VAR = SCM_UNBOUND;
451 #endif /*defined(ENOENT)*/
452 #if defined(ENOEXEC)
453 static SCM_DEFINE_STRING_CONST(syslib_ENOEXEC__VAR__NAME, "ENOEXEC", 7, 7);
454 static ScmObj syslib_ENOEXEC__VAR = SCM_UNBOUND;
455 #endif /*defined(ENOEXEC)*/
456 #if defined(ENOKEY)
457 static SCM_DEFINE_STRING_CONST(syslib_ENOKEY__VAR__NAME, "ENOKEY", 6, 6);
458 static ScmObj syslib_ENOKEY__VAR = SCM_UNBOUND;
459 #endif /*defined(ENOKEY)*/
460 #if defined(ENOLCK)
461 static SCM_DEFINE_STRING_CONST(syslib_ENOLCK__VAR__NAME, "ENOLCK", 6, 6);
462 static ScmObj syslib_ENOLCK__VAR = SCM_UNBOUND;
463 #endif /*defined(ENOLCK)*/
464 #if defined(ENOLINK)
465 static SCM_DEFINE_STRING_CONST(syslib_ENOLINK__VAR__NAME, "ENOLINK", 7, 7);
466 static ScmObj syslib_ENOLINK__VAR = SCM_UNBOUND;
467 #endif /*defined(ENOLINK)*/
468 #if defined(ENOMEDIUM)
469 static SCM_DEFINE_STRING_CONST(syslib_ENOMEDIUM__VAR__NAME, "ENOMEDIUM", 9, 9);
470 static ScmObj syslib_ENOMEDIUM__VAR = SCM_UNBOUND;
471 #endif /*defined(ENOMEDIUM)*/
472 #if defined(ENOMEM)
473 static SCM_DEFINE_STRING_CONST(syslib_ENOMEM__VAR__NAME, "ENOMEM", 6, 6);
474 static ScmObj syslib_ENOMEM__VAR = SCM_UNBOUND;
475 #endif /*defined(ENOMEM)*/
476 #if defined(ENOMSG)
477 static SCM_DEFINE_STRING_CONST(syslib_ENOMSG__VAR__NAME, "ENOMSG", 6, 6);
478 static ScmObj syslib_ENOMSG__VAR = SCM_UNBOUND;
479 #endif /*defined(ENOMSG)*/
480 #if defined(ENONET)
481 static SCM_DEFINE_STRING_CONST(syslib_ENONET__VAR__NAME, "ENONET", 6, 6);
482 static ScmObj syslib_ENONET__VAR = SCM_UNBOUND;
483 #endif /*defined(ENONET)*/
484 #if defined(ENOPKG)
485 static SCM_DEFINE_STRING_CONST(syslib_ENOPKG__VAR__NAME, "ENOPKG", 6, 6);
486 static ScmObj syslib_ENOPKG__VAR = SCM_UNBOUND;
487 #endif /*defined(ENOPKG)*/
488 #if defined(ENOPROTOOPT)
489 static SCM_DEFINE_STRING_CONST(syslib_ENOPROTOOPT__VAR__NAME, "ENOPROTOOPT", 11, 11);
490 static ScmObj syslib_ENOPROTOOPT__VAR = SCM_UNBOUND;
491 #endif /*defined(ENOPROTOOPT)*/
492 #if defined(ENOSPC)
493 static SCM_DEFINE_STRING_CONST(syslib_ENOSPC__VAR__NAME, "ENOSPC", 6, 6);
494 static ScmObj syslib_ENOSPC__VAR = SCM_UNBOUND;
495 #endif /*defined(ENOSPC)*/
496 #if defined(ENOSR)
497 static SCM_DEFINE_STRING_CONST(syslib_ENOSR__VAR__NAME, "ENOSR", 5, 5);
498 static ScmObj syslib_ENOSR__VAR = SCM_UNBOUND;
499 #endif /*defined(ENOSR)*/
500 #if defined(ENOSTR)
501 static SCM_DEFINE_STRING_CONST(syslib_ENOSTR__VAR__NAME, "ENOSTR", 6, 6);
502 static ScmObj syslib_ENOSTR__VAR = SCM_UNBOUND;
503 #endif /*defined(ENOSTR)*/
504 #if defined(ENOSYS)
505 static SCM_DEFINE_STRING_CONST(syslib_ENOSYS__VAR__NAME, "ENOSYS", 6, 6);
506 static ScmObj syslib_ENOSYS__VAR = SCM_UNBOUND;
507 #endif /*defined(ENOSYS)*/
508 #if defined(ENOTBLK)
509 static SCM_DEFINE_STRING_CONST(syslib_ENOTBLK__VAR__NAME, "ENOTBLK", 7, 7);
510 static ScmObj syslib_ENOTBLK__VAR = SCM_UNBOUND;
511 #endif /*defined(ENOTBLK)*/
512 #if defined(ENOTCONN)
513 static SCM_DEFINE_STRING_CONST(syslib_ENOTCONN__VAR__NAME, "ENOTCONN", 8, 8);
514 static ScmObj syslib_ENOTCONN__VAR = SCM_UNBOUND;
515 #endif /*defined(ENOTCONN)*/
516 #if defined(ENOTDIR)
517 static SCM_DEFINE_STRING_CONST(syslib_ENOTDIR__VAR__NAME, "ENOTDIR", 7, 7);
518 static ScmObj syslib_ENOTDIR__VAR = SCM_UNBOUND;
519 #endif /*defined(ENOTDIR)*/
520 #if defined(ENOTEMPTY)
521 static SCM_DEFINE_STRING_CONST(syslib_ENOTEMPTY__VAR__NAME, "ENOTEMPTY", 9, 9);
522 static ScmObj syslib_ENOTEMPTY__VAR = SCM_UNBOUND;
523 #endif /*defined(ENOTEMPTY)*/
524 #if defined(ENOTNAM)
525 static SCM_DEFINE_STRING_CONST(syslib_ENOTNAM__VAR__NAME, "ENOTNAM", 7, 7);
526 static ScmObj syslib_ENOTNAM__VAR = SCM_UNBOUND;
527 #endif /*defined(ENOTNAM)*/
528 #if defined(ENOTSOCK)
529 static SCM_DEFINE_STRING_CONST(syslib_ENOTSOCK__VAR__NAME, "ENOTSOCK", 8, 8);
530 static ScmObj syslib_ENOTSOCK__VAR = SCM_UNBOUND;
531 #endif /*defined(ENOTSOCK)*/
532 #if defined(ENOTTY)
533 static SCM_DEFINE_STRING_CONST(syslib_ENOTTY__VAR__NAME, "ENOTTY", 6, 6);
534 static ScmObj syslib_ENOTTY__VAR = SCM_UNBOUND;
535 #endif /*defined(ENOTTY)*/
536 #if defined(ENOTUNIQ)
537 static SCM_DEFINE_STRING_CONST(syslib_ENOTUNIQ__VAR__NAME, "ENOTUNIQ", 8, 8);
538 static ScmObj syslib_ENOTUNIQ__VAR = SCM_UNBOUND;
539 #endif /*defined(ENOTUNIQ)*/
540 #if defined(ENXIO)
541 static SCM_DEFINE_STRING_CONST(syslib_ENXIO__VAR__NAME, "ENXIO", 5, 5);
542 static ScmObj syslib_ENXIO__VAR = SCM_UNBOUND;
543 #endif /*defined(ENXIO)*/
544 #if defined(EOPNOTSUPP)
545 static SCM_DEFINE_STRING_CONST(syslib_EOPNOTSUPP__VAR__NAME, "EOPNOTSUPP", 10, 10);
546 static ScmObj syslib_EOPNOTSUPP__VAR = SCM_UNBOUND;
547 #endif /*defined(EOPNOTSUPP)*/
548 #if defined(EOVERFLOW)
549 static SCM_DEFINE_STRING_CONST(syslib_EOVERFLOW__VAR__NAME, "EOVERFLOW", 9, 9);
550 static ScmObj syslib_EOVERFLOW__VAR = SCM_UNBOUND;
551 #endif /*defined(EOVERFLOW)*/
552 #if defined(EPERM)
553 static SCM_DEFINE_STRING_CONST(syslib_EPERM__VAR__NAME, "EPERM", 5, 5);
554 static ScmObj syslib_EPERM__VAR = SCM_UNBOUND;
555 #endif /*defined(EPERM)*/
556 #if defined(EPFNOSUPPORT)
557 static SCM_DEFINE_STRING_CONST(syslib_EPFNOSUPPORT__VAR__NAME, "EPFNOSUPPORT", 12, 12);
558 static ScmObj syslib_EPFNOSUPPORT__VAR = SCM_UNBOUND;
559 #endif /*defined(EPFNOSUPPORT)*/
560 #if defined(EPIPE)
561 static SCM_DEFINE_STRING_CONST(syslib_EPIPE__VAR__NAME, "EPIPE", 5, 5);
562 static ScmObj syslib_EPIPE__VAR = SCM_UNBOUND;
563 #endif /*defined(EPIPE)*/
564 #if defined(EPROTO)
565 static SCM_DEFINE_STRING_CONST(syslib_EPROTO__VAR__NAME, "EPROTO", 6, 6);
566 static ScmObj syslib_EPROTO__VAR = SCM_UNBOUND;
567 #endif /*defined(EPROTO)*/
568 #if defined(EPROTONOSUPPORT)
569 static SCM_DEFINE_STRING_CONST(syslib_EPROTONOSUPPORT__VAR__NAME, "EPROTONOSUPPORT", 15, 15);
570 static ScmObj syslib_EPROTONOSUPPORT__VAR = SCM_UNBOUND;
571 #endif /*defined(EPROTONOSUPPORT)*/
572 #if defined(EPROTOTYPE)
573 static SCM_DEFINE_STRING_CONST(syslib_EPROTOTYPE__VAR__NAME, "EPROTOTYPE", 10, 10);
574 static ScmObj syslib_EPROTOTYPE__VAR = SCM_UNBOUND;
575 #endif /*defined(EPROTOTYPE)*/
576 #if defined(ERANGE)
577 static SCM_DEFINE_STRING_CONST(syslib_ERANGE__VAR__NAME, "ERANGE", 6, 6);
578 static ScmObj syslib_ERANGE__VAR = SCM_UNBOUND;
579 #endif /*defined(ERANGE)*/
580 #if defined(EREMCHG)
581 static SCM_DEFINE_STRING_CONST(syslib_EREMCHG__VAR__NAME, "EREMCHG", 7, 7);
582 static ScmObj syslib_EREMCHG__VAR = SCM_UNBOUND;
583 #endif /*defined(EREMCHG)*/
584 #if defined(EREMOTE)
585 static SCM_DEFINE_STRING_CONST(syslib_EREMOTE__VAR__NAME, "EREMOTE", 7, 7);
586 static ScmObj syslib_EREMOTE__VAR = SCM_UNBOUND;
587 #endif /*defined(EREMOTE)*/
588 #if defined(EREMOTEIO)
589 static SCM_DEFINE_STRING_CONST(syslib_EREMOTEIO__VAR__NAME, "EREMOTEIO", 9, 9);
590 static ScmObj syslib_EREMOTEIO__VAR = SCM_UNBOUND;
591 #endif /*defined(EREMOTEIO)*/
592 #if defined(ERESTART)
593 static SCM_DEFINE_STRING_CONST(syslib_ERESTART__VAR__NAME, "ERESTART", 8, 8);
594 static ScmObj syslib_ERESTART__VAR = SCM_UNBOUND;
595 #endif /*defined(ERESTART)*/
596 #if defined(EROFS)
597 static SCM_DEFINE_STRING_CONST(syslib_EROFS__VAR__NAME, "EROFS", 5, 5);
598 static ScmObj syslib_EROFS__VAR = SCM_UNBOUND;
599 #endif /*defined(EROFS)*/
600 #if defined(ESHUTDOWN)
601 static SCM_DEFINE_STRING_CONST(syslib_ESHUTDOWN__VAR__NAME, "ESHUTDOWN", 9, 9);
602 static ScmObj syslib_ESHUTDOWN__VAR = SCM_UNBOUND;
603 #endif /*defined(ESHUTDOWN)*/
604 #if defined(ESOCKTNOSUPPORT)
605 static SCM_DEFINE_STRING_CONST(syslib_ESOCKTNOSUPPORT__VAR__NAME, "ESOCKTNOSUPPORT", 15, 15);
606 static ScmObj syslib_ESOCKTNOSUPPORT__VAR = SCM_UNBOUND;
607 #endif /*defined(ESOCKTNOSUPPORT)*/
608 #if defined(ESPIPE)
609 static SCM_DEFINE_STRING_CONST(syslib_ESPIPE__VAR__NAME, "ESPIPE", 6, 6);
610 static ScmObj syslib_ESPIPE__VAR = SCM_UNBOUND;
611 #endif /*defined(ESPIPE)*/
612 #if defined(ESRCH)
613 static SCM_DEFINE_STRING_CONST(syslib_ESRCH__VAR__NAME, "ESRCH", 5, 5);
614 static ScmObj syslib_ESRCH__VAR = SCM_UNBOUND;
615 #endif /*defined(ESRCH)*/
616 #if defined(ESRMNT)
617 static SCM_DEFINE_STRING_CONST(syslib_ESRMNT__VAR__NAME, "ESRMNT", 6, 6);
618 static ScmObj syslib_ESRMNT__VAR = SCM_UNBOUND;
619 #endif /*defined(ESRMNT)*/
620 #if defined(ESTALE)
621 static SCM_DEFINE_STRING_CONST(syslib_ESTALE__VAR__NAME, "ESTALE", 6, 6);
622 static ScmObj syslib_ESTALE__VAR = SCM_UNBOUND;
623 #endif /*defined(ESTALE)*/
624 #if defined(ESTRPIPE)
625 static SCM_DEFINE_STRING_CONST(syslib_ESTRPIPE__VAR__NAME, "ESTRPIPE", 8, 8);
626 static ScmObj syslib_ESTRPIPE__VAR = SCM_UNBOUND;
627 #endif /*defined(ESTRPIPE)*/
628 #if defined(ETIME)
629 static SCM_DEFINE_STRING_CONST(syslib_ETIME__VAR__NAME, "ETIME", 5, 5);
630 static ScmObj syslib_ETIME__VAR = SCM_UNBOUND;
631 #endif /*defined(ETIME)*/
632 #if defined(ETIMEDOUT)
633 static SCM_DEFINE_STRING_CONST(syslib_ETIMEDOUT__VAR__NAME, "ETIMEDOUT", 9, 9);
634 static ScmObj syslib_ETIMEDOUT__VAR = SCM_UNBOUND;
635 #endif /*defined(ETIMEDOUT)*/
636 #if defined(ETOOMANYREFS)
637 static SCM_DEFINE_STRING_CONST(syslib_ETOOMANYREFS__VAR__NAME, "ETOOMANYREFS", 12, 12);
638 static ScmObj syslib_ETOOMANYREFS__VAR = SCM_UNBOUND;
639 #endif /*defined(ETOOMANYREFS)*/
640 #if defined(ETXTBSY)
641 static SCM_DEFINE_STRING_CONST(syslib_ETXTBSY__VAR__NAME, "ETXTBSY", 7, 7);
642 static ScmObj syslib_ETXTBSY__VAR = SCM_UNBOUND;
643 #endif /*defined(ETXTBSY)*/
644 #if defined(EUCLEAN)
645 static SCM_DEFINE_STRING_CONST(syslib_EUCLEAN__VAR__NAME, "EUCLEAN", 7, 7);
646 static ScmObj syslib_EUCLEAN__VAR = SCM_UNBOUND;
647 #endif /*defined(EUCLEAN)*/
648 #if defined(EUNATCH)
649 static SCM_DEFINE_STRING_CONST(syslib_EUNATCH__VAR__NAME, "EUNATCH", 7, 7);
650 static ScmObj syslib_EUNATCH__VAR = SCM_UNBOUND;
651 #endif /*defined(EUNATCH)*/
652 #if defined(EUSERS)
653 static SCM_DEFINE_STRING_CONST(syslib_EUSERS__VAR__NAME, "EUSERS", 6, 6);
654 static ScmObj syslib_EUSERS__VAR = SCM_UNBOUND;
655 #endif /*defined(EUSERS)*/
656 #if defined(EWOULDBLOCK)
657 static SCM_DEFINE_STRING_CONST(syslib_EWOULDBLOCK__VAR__NAME, "EWOULDBLOCK", 11, 11);
658 static ScmObj syslib_EWOULDBLOCK__VAR = SCM_UNBOUND;
659 #endif /*defined(EWOULDBLOCK)*/
660 #if defined(EXDEV)
661 static SCM_DEFINE_STRING_CONST(syslib_EXDEV__VAR__NAME, "EXDEV", 5, 5);
662 static ScmObj syslib_EXDEV__VAR = SCM_UNBOUND;
663 #endif /*defined(EXDEV)*/
664 #if defined(EXFULL)
665 static SCM_DEFINE_STRING_CONST(syslib_EXFULL__VAR__NAME, "EXFULL", 6, 6);
666 static ScmObj syslib_EXFULL__VAR = SCM_UNBOUND;
667 #endif /*defined(EXFULL)*/
668 static ScmObj syslib_sys_getgrgid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
669 {
670 ScmObj gid_scm;
671 int gid;
672 SCM_ENTER_SUBR("sys-getgrgid");
673 gid_scm = SCM_ARGREF(0);
674 if (!SCM_EXACTP(gid_scm)) Scm_Error("C integer required, but got %S", gid_scm);
675 gid = Scm_GetInteger(gid_scm);
676 {
677 {
678 ScmObj SCM_RESULT;
679 SCM_RESULT = Scm_GetGroupById(gid);
680 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
681 }
682 }
683 }
684
685 static SCM_DEFINE_STRING_CONST(syslib_sys_getgrgid__NAME, "sys-getgrgid", 12, 12);
686 static SCM_DEFINE_SUBR(syslib_sys_getgrgid__STUB, 1, 0, SCM_OBJ(&syslib_sys_getgrgid__NAME), syslib_sys_getgrgid, NULL, NULL);
687
688 static ScmObj syslib_sys_getgrnam(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
689 {
690 ScmObj name_scm;
691 ScmString* name;
692 SCM_ENTER_SUBR("sys-getgrnam");
693 name_scm = SCM_ARGREF(0);
694 if (!SCM_STRINGP(name_scm)) Scm_Error("string required, but got %S", name_scm);
695 name = SCM_STRING(name_scm);
696 {
697 {
698 ScmObj SCM_RESULT;
699 SCM_RESULT = Scm_GetGroupByName(name);
700 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
701 }
702 }
703 }
704
705 static SCM_DEFINE_STRING_CONST(syslib_sys_getgrnam__NAME, "sys-getgrnam", 12, 12);
706 static SCM_DEFINE_SUBR(syslib_sys_getgrnam__STUB, 1, 0, SCM_OBJ(&syslib_sys_getgrnam__NAME), syslib_sys_getgrnam, NULL, NULL);
707
708 static ScmObj syslib_sys_gid_TOgroup_name(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
709 {
710 ScmObj gid_scm;
711 int gid;
712 SCM_ENTER_SUBR("sys-gid->group-name");
713 gid_scm = SCM_ARGREF(0);
714 if (!SCM_EXACTP(gid_scm)) Scm_Error("C integer required, but got %S", gid_scm);
715 gid = Scm_GetInteger(gid_scm);
716 {
717 struct group *g = getgrgid(gid);
718 if (g == NULL) { Scm_SigCheck(Scm_VM()); SCM_RETURN(SCM_FALSE); }
719 else SCM_RETURN(SCM_MAKE_STR_COPYING(g->gr_name));
720 }
721 }
722
723 static SCM_DEFINE_STRING_CONST(syslib_sys_gid_TOgroup_name__NAME, "sys-gid->group-name", 19, 19);
724 static SCM_DEFINE_SUBR(syslib_sys_gid_TOgroup_name__STUB, 1, 0, SCM_OBJ(&syslib_sys_gid_TOgroup_name__NAME), syslib_sys_gid_TOgroup_name, NULL, NULL);
725
726 static ScmObj syslib_sys_group_name_TOgid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
727 {
728 ScmObj name_scm;
729 ScmString* name;
730 SCM_ENTER_SUBR("sys-group-name->gid");
731 name_scm = SCM_ARGREF(0);
732 if (!SCM_STRINGP(name_scm)) Scm_Error("string required, but got %S", name_scm);
733 name = SCM_STRING(name_scm);
734 {
735 struct group *g = getgrnam(Scm_GetStringConst(name));
736 if (g == NULL) { Scm_SigCheck(Scm_VM()); SCM_RETURN(SCM_FALSE); }
737 else SCM_RETURN(Scm_MakeInteger(g->gr_gid));
738 }
739 }
740
741 static SCM_DEFINE_STRING_CONST(syslib_sys_group_name_TOgid__NAME, "sys-group-name->gid", 19, 19);
742 static SCM_DEFINE_SUBR(syslib_sys_group_name_TOgid__STUB, 1, 0, SCM_OBJ(&syslib_sys_group_name_TOgid__NAME), syslib_sys_group_name_TOgid, NULL, NULL);
743
744 static SCM_DEFINE_STRING_CONST(syslib_LC_ALL__VAR__NAME, "LC_ALL", 6, 6);
745 static ScmObj syslib_LC_ALL__VAR = SCM_UNBOUND;
746 static SCM_DEFINE_STRING_CONST(syslib_LC_COLLATE__VAR__NAME, "LC_COLLATE", 10, 10);
747 static ScmObj syslib_LC_COLLATE__VAR = SCM_UNBOUND;
748 static SCM_DEFINE_STRING_CONST(syslib_LC_CTYPE__VAR__NAME, "LC_CTYPE", 8, 8);
749 static ScmObj syslib_LC_CTYPE__VAR = SCM_UNBOUND;
750 static SCM_DEFINE_STRING_CONST(syslib_LC_MONETARY__VAR__NAME, "LC_MONETARY", 11, 11);
751 static ScmObj syslib_LC_MONETARY__VAR = SCM_UNBOUND;
752 static SCM_DEFINE_STRING_CONST(syslib_LC_NUMERIC__VAR__NAME, "LC_NUMERIC", 10, 10);
753 static ScmObj syslib_LC_NUMERIC__VAR = SCM_UNBOUND;
754 static SCM_DEFINE_STRING_CONST(syslib_LC_TIME__VAR__NAME, "LC_TIME", 7, 7);
755 static ScmObj syslib_LC_TIME__VAR = SCM_UNBOUND;
756 static ScmObj syslib_sys_setlocale(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
757 {
758 ScmObj category_scm;
759 int category;
760 ScmObj locale_scm;
761 const char * locale;
762 SCM_ENTER_SUBR("sys-setlocale");
763 category_scm = SCM_ARGREF(0);
764 if (!SCM_INTP(category_scm)) Scm_Error("small integer required, but got %S", category_scm);
765 category = SCM_INT_VALUE(category_scm);
766 locale_scm = SCM_ARGREF(1);
767 if (!SCM_STRINGP(locale_scm)) Scm_Error("const C string required, but got %S", locale_scm);
768 locale = SCM_STRING_CONST_CSTRING(locale_scm);
769 {
770 {
771 const char * SCM_RESULT;
772 SCM_RESULT = setlocale(category, locale);
773 SCM_RETURN(SCM_MAKE_MAYBE(SCM_MAKE_STR_COPYING, SCM_RESULT));
774 }
775 }
776 }
777
778 static SCM_DEFINE_STRING_CONST(syslib_sys_setlocale__NAME, "sys-setlocale", 13, 13);
779 static SCM_DEFINE_SUBR(syslib_sys_setlocale__STUB, 2, 0, SCM_OBJ(&syslib_sys_setlocale__NAME), syslib_sys_setlocale, NULL, NULL);
780
781 static ScmObj syslib_sys_getpwuid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
782 {
783 ScmObj uid_scm;
784 int uid;
785 SCM_ENTER_SUBR("sys-getpwuid");
786 uid_scm = SCM_ARGREF(0);
787 if (!SCM_EXACTP(uid_scm)) Scm_Error("C integer required, but got %S", uid_scm);
788 uid = Scm_GetInteger(uid_scm);
789 {
790 {
791 ScmObj SCM_RESULT;
792 SCM_RESULT = Scm_GetPasswdById(uid);
793 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
794 }
795 }
796 }
797
798 static SCM_DEFINE_STRING_CONST(syslib_sys_getpwuid__NAME, "sys-getpwuid", 12, 12);
799 static SCM_DEFINE_SUBR(syslib_sys_getpwuid__STUB, 1, 0, SCM_OBJ(&syslib_sys_getpwuid__NAME), syslib_sys_getpwuid, NULL, NULL);
800
801 static ScmObj syslib_sys_getpwnam(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
802 {
803 ScmObj name_scm;
804 ScmString* name;
805 SCM_ENTER_SUBR("sys-getpwnam");
806 name_scm = SCM_ARGREF(0);
807 if (!SCM_STRINGP(name_scm)) Scm_Error("string required, but got %S", name_scm);
808 name = SCM_STRING(name_scm);
809 {
810 {
811 ScmObj SCM_RESULT;
812 SCM_RESULT = Scm_GetPasswdByName(name);
813 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
814 }
815 }
816 }
817
818 static SCM_DEFINE_STRING_CONST(syslib_sys_getpwnam__NAME, "sys-getpwnam", 12, 12);
819 static SCM_DEFINE_SUBR(syslib_sys_getpwnam__STUB, 1, 0, SCM_OBJ(&syslib_sys_getpwnam__NAME), syslib_sys_getpwnam, NULL, NULL);
820
821 static ScmObj syslib_sys_uid_TOuser_name(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
822 {
823 ScmObj uid_scm;
824 int uid;
825 SCM_ENTER_SUBR("sys-uid->user-name");
826 uid_scm = SCM_ARGREF(0);
827 if (!SCM_EXACTP(uid_scm)) Scm_Error("C integer required, but got %S", uid_scm);
828 uid = Scm_GetInteger(uid_scm);
829 {
830 struct passwd *p = getpwuid(uid);
831 if (p == NULL) { Scm_SigCheck(Scm_VM()); SCM_RETURN(SCM_FALSE); }
832 else SCM_RETURN(SCM_MAKE_STR_COPYING(p->pw_name));
833 }
834 }
835
836 static SCM_DEFINE_STRING_CONST(syslib_sys_uid_TOuser_name__NAME, "sys-uid->user-name", 18, 18);
837 static SCM_DEFINE_SUBR(syslib_sys_uid_TOuser_name__STUB, 1, 0, SCM_OBJ(&syslib_sys_uid_TOuser_name__NAME), syslib_sys_uid_TOuser_name, NULL, NULL);
838
839 static ScmObj syslib_sys_user_name_TOuid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
840 {
841 ScmObj name_scm;
842 ScmString* name;
843 SCM_ENTER_SUBR("sys-user-name->uid");
844 name_scm = SCM_ARGREF(0);
845 if (!SCM_STRINGP(name_scm)) Scm_Error("string required, but got %S", name_scm);
846 name = SCM_STRING(name_scm);
847 {
848 struct passwd *p = getpwnam(Scm_GetStringConst(name));
849 if (p == NULL) { Scm_SigCheck(Scm_VM()); SCM_RETURN(SCM_FALSE); }
850 else SCM_RETURN(Scm_MakeInteger(p->pw_uid));
851 }
852 }
853
854 static SCM_DEFINE_STRING_CONST(syslib_sys_user_name_TOuid__NAME, "sys-user-name->uid", 18, 18);
855 static SCM_DEFINE_SUBR(syslib_sys_user_name_TOuid__STUB, 1, 0, SCM_OBJ(&syslib_sys_user_name_TOuid__NAME), syslib_sys_user_name_TOuid, NULL, NULL);
856
857 static ScmObj syslib_sys_sigset_addX(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
858 {
859 ScmObj set_scm;
860 ScmSysSigset* set;
861 ScmObj sigs_scm;
862 ScmObj sigs;
863 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
864 SCM_ENTER_SUBR("sys-sigset-add!");
865 set_scm = SCM_ARGREF(0);
866 if (!SCM_SYS_SIGSET_P(set_scm)) Scm_Error("<sys-sigset> required, but got %S", set_scm);
867 set = SCM_SYS_SIGSET(set_scm);
868 sigs_scm = SCM_OPTARGS;
869 sigs = (sigs_scm);
870 {
871 {
872 ScmObj SCM_RESULT;
873 SCM_RESULT = (Scm_SysSigsetOp(set, sigs, FALSE));
874 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
875 }
876 }
877 }
878
879 static SCM_DEFINE_STRING_CONST(syslib_sys_sigset_addX__NAME, "sys-sigset-add!", 15, 15);
880 static SCM_DEFINE_SUBR(syslib_sys_sigset_addX__STUB, 1, 1, SCM_OBJ(&syslib_sys_sigset_addX__NAME), syslib_sys_sigset_addX, NULL, NULL);
881
882 static ScmObj syslib_sys_sigset_deleteX(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
883 {
884 ScmObj set_scm;
885 ScmSysSigset* set;
886 ScmObj sigs_scm;
887 ScmObj sigs;
888 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
889 SCM_ENTER_SUBR("sys-sigset-delete!");
890 set_scm = SCM_ARGREF(0);
891 if (!SCM_SYS_SIGSET_P(set_scm)) Scm_Error("<sys-sigset> required, but got %S", set_scm);
892 set = SCM_SYS_SIGSET(set_scm);
893 sigs_scm = SCM_OPTARGS;
894 sigs = (sigs_scm);
895 {
896 {
897 ScmObj SCM_RESULT;
898 SCM_RESULT = (Scm_SysSigsetOp(set, sigs, TRUE));
899 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
900 }
901 }
902 }
903
904 static SCM_DEFINE_STRING_CONST(syslib_sys_sigset_deleteX__NAME, "sys-sigset-delete!", 18, 18);
905 static SCM_DEFINE_SUBR(syslib_sys_sigset_deleteX__STUB, 1, 1, SCM_OBJ(&syslib_sys_sigset_deleteX__NAME), syslib_sys_sigset_deleteX, NULL, NULL);
906
907 static ScmObj syslib_sys_sigset_fillX(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
908 {
909 ScmObj set_scm;
910 ScmSysSigset* set;
911 SCM_ENTER_SUBR("sys-sigset-fill!");
912 set_scm = SCM_ARGREF(0);
913 if (!SCM_SYS_SIGSET_P(set_scm)) Scm_Error("<sys-sigset> required, but got %S", set_scm);
914 set = SCM_SYS_SIGSET(set_scm);
915 {
916 {
917 ScmObj SCM_RESULT;
918 SCM_RESULT = (Scm_SysSigsetFill(set, FALSE));
919 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
920 }
921 }
922 }
923
924 static SCM_DEFINE_STRING_CONST(syslib_sys_sigset_fillX__NAME, "sys-sigset-fill!", 16, 16);
925 static SCM_DEFINE_SUBR(syslib_sys_sigset_fillX__STUB, 1, 0, SCM_OBJ(&syslib_sys_sigset_fillX__NAME), syslib_sys_sigset_fillX, NULL, NULL);
926
927 static ScmObj syslib_sys_sigset_emptyX(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
928 {
929 ScmObj set_scm;
930 ScmSysSigset* set;
931 SCM_ENTER_SUBR("sys-sigset-empty!");
932 set_scm = SCM_ARGREF(0);
933 if (!SCM_SYS_SIGSET_P(set_scm)) Scm_Error("<sys-sigset> required, but got %S", set_scm);
934 set = SCM_SYS_SIGSET(set_scm);
935 {
936 {
937 ScmObj SCM_RESULT;
938 SCM_RESULT = (Scm_SysSigsetFill(set, TRUE));
939 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
940 }
941 }
942 }
943
944 static SCM_DEFINE_STRING_CONST(syslib_sys_sigset_emptyX__NAME, "sys-sigset-empty!", 17, 17);
945 static SCM_DEFINE_SUBR(syslib_sys_sigset_emptyX__STUB, 1, 0, SCM_OBJ(&syslib_sys_sigset_emptyX__NAME), syslib_sys_sigset_emptyX, NULL, NULL);
946
947 static ScmObj syslib_sys_signal_name(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
948 {
949 ScmObj sig_scm;
950 int sig;
951 SCM_ENTER_SUBR("sys-signal-name");
952 sig_scm = SCM_ARGREF(0);
953 if (!SCM_INTP(sig_scm)) Scm_Error("small integer required, but got %S", sig_scm);
954 sig = SCM_INT_VALUE(sig_scm);
955 {
956 {
957 ScmObj SCM_RESULT;
958 SCM_RESULT = Scm_SignalName(sig);
959 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
960 }
961 }
962 }
963
964 static SCM_DEFINE_STRING_CONST(syslib_sys_signal_name__NAME, "sys-signal-name", 15, 15);
965 static SCM_DEFINE_SUBR(syslib_sys_signal_name__STUB, 1, 0, SCM_OBJ(&syslib_sys_signal_name__NAME), syslib_sys_signal_name, NULL, NULL);
966
967 static ScmObj syslib_sys_kill(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
968 {
969 ScmObj pid_scm;
970 int pid;
971 ScmObj sig_scm;
972 int sig;
973 SCM_ENTER_SUBR("sys-kill");
974 pid_scm = SCM_ARGREF(0);
975 if (!SCM_EXACTP(pid_scm)) Scm_Error("C integer required, but got %S", pid_scm);
976 pid = Scm_GetInteger(pid_scm);
977 sig_scm = SCM_ARGREF(1);
978 if (!SCM_INTP(sig_scm)) Scm_Error("small integer required, but got %S", sig_scm);
979 sig = SCM_INT_VALUE(sig_scm);
980 {
981 int r; SCM_SYSCALL(r, kill(pid, sig));
982 if (r < 0) Scm_SysError("kill failed");
983 SCM_RETURN(SCM_UNDEFINED);
984 }
985 }
986
987 static SCM_DEFINE_STRING_CONST(syslib_sys_kill__NAME, "sys-kill", 8, 8);
988 static SCM_DEFINE_SUBR(syslib_sys_kill__STUB, 2, 0, SCM_OBJ(&syslib_sys_kill__NAME), syslib_sys_kill, NULL, NULL);
989
990 static ScmObj syslib_set_signal_handlerX(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
991 {
992 ScmObj sig_scm;
993 ScmObj sig;
994 ScmObj proc_scm;
995 ScmObj proc;
996 SCM_ENTER_SUBR("set-signal-handler!");
997 sig_scm = SCM_ARGREF(0);
998 sig = (sig_scm);
999 proc_scm = SCM_ARGREF(1);
1000 proc = (proc_scm);
1001 {
1002 {
1003 ScmObj SCM_RESULT;
1004 SCM_RESULT = Scm_SetSignalHandler(sig, proc);
1005 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1006 }
1007 }
1008 }
1009
1010 static SCM_DEFINE_STRING_CONST(syslib_set_signal_handlerX__NAME, "set-signal-handler!", 19, 19);
1011 static SCM_DEFINE_SUBR(syslib_set_signal_handlerX__STUB, 2, 0, SCM_OBJ(&syslib_set_signal_handlerX__NAME), syslib_set_signal_handlerX, NULL, NULL);
1012
1013 static ScmObj syslib_get_signal_handler(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1014 {
1015 ScmObj sig_scm;
1016 int sig;
1017 SCM_ENTER_SUBR("get-signal-handler");
1018 sig_scm = SCM_ARGREF(0);
1019 if (!SCM_INTP(sig_scm)) Scm_Error("small integer required, but got %S", sig_scm);
1020 sig = SCM_INT_VALUE(sig_scm);
1021 {
1022 {
1023 ScmObj SCM_RESULT;
1024 SCM_RESULT = Scm_GetSignalHandler(sig);
1025 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1026 }
1027 }
1028 }
1029
1030 static SCM_DEFINE_STRING_CONST(syslib_get_signal_handler__NAME, "get-signal-handler", 18, 18);
1031 static SCM_DEFINE_SUBR(syslib_get_signal_handler__STUB, 1, 0, SCM_OBJ(&syslib_get_signal_handler__NAME), syslib_get_signal_handler, NULL, NULL);
1032
1033 static ScmObj syslib_get_signal_handlers(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1034 {
1035 SCM_ENTER_SUBR("get-signal-handlers");
1036 {
1037 {
1038 ScmObj SCM_RESULT;
1039 SCM_RESULT = Scm_GetSignalHandlers();
1040 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1041 }
1042 }
1043 }
1044
1045 static SCM_DEFINE_STRING_CONST(syslib_get_signal_handlers__NAME, "get-signal-handlers", 19, 19);
1046 static SCM_DEFINE_SUBR(syslib_get_signal_handlers__STUB, 0, 0, SCM_OBJ(&syslib_get_signal_handlers__NAME), syslib_get_signal_handlers, NULL, NULL);
1047
1048 static SCM_DEFINE_STRING_CONST(syslib_SIG_SETMASK__VAR__NAME, "SIG_SETMASK", 11, 11);
1049 static ScmObj syslib_SIG_SETMASK__VAR = SCM_UNBOUND;
1050 static SCM_DEFINE_STRING_CONST(syslib_SIG_BLOCK__VAR__NAME, "SIG_BLOCK", 9, 9);
1051 static ScmObj syslib_SIG_BLOCK__VAR = SCM_UNBOUND;
1052 static SCM_DEFINE_STRING_CONST(syslib_SIG_UNBLOCK__VAR__NAME, "SIG_UNBLOCK", 11, 11);
1053 static ScmObj syslib_SIG_UNBLOCK__VAR = SCM_UNBOUND;
1054 static ScmObj syslib_sys_sigmask(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1055 {
1056 ScmObj how_scm;
1057 int how;
1058 ScmObj mask_scm;
1059 ScmSysSigset* mask;
1060 SCM_ENTER_SUBR("sys-sigmask");
1061 how_scm = SCM_ARGREF(0);
1062 if (!SCM_INTP(how_scm)) Scm_Error("small integer required, but got %S", how_scm);
1063 how = SCM_INT_VALUE(how_scm);
1064 mask_scm = SCM_ARGREF(1);
1065 if (!SCM_SYS_SIGSET_P(mask_scm)) Scm_Error("<sys-sigset> required, but got %S", mask_scm);
1066 mask = SCM_SYS_SIGSET(mask_scm);
1067 {
1068 {
1069 ScmObj SCM_RESULT;
1070 SCM_RESULT = Scm_SysSigmask(how, mask);
1071 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1072 }
1073 }
1074 }
1075
1076 static SCM_DEFINE_STRING_CONST(syslib_sys_sigmask__NAME, "sys-sigmask", 11, 11);
1077 static SCM_DEFINE_SUBR(syslib_sys_sigmask__STUB, 2, 0, SCM_OBJ(&syslib_sys_sigmask__NAME), syslib_sys_sigmask, NULL, NULL);
1078
1079 static ScmObj syslib_sys_sigsuspend(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1080 {
1081 ScmObj mask_scm;
1082 ScmSysSigset* mask;
1083 SCM_ENTER_SUBR("sys-sigsuspend");
1084 mask_scm = SCM_ARGREF(0);
1085 if (!SCM_SYS_SIGSET_P(mask_scm)) Scm_Error("<sys-sigset> required, but got %S", mask_scm);
1086 mask = SCM_SYS_SIGSET(mask_scm);
1087 {
1088 {
1089 ScmObj SCM_RESULT;
1090 SCM_RESULT = Scm_SigSuspend(mask);
1091 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1092 }
1093 }
1094 }
1095
1096 static SCM_DEFINE_STRING_CONST(syslib_sys_sigsuspend__NAME, "sys-sigsuspend", 14, 14);
1097 static SCM_DEFINE_SUBR(syslib_sys_sigsuspend__STUB, 1, 0, SCM_OBJ(&syslib_sys_sigsuspend__NAME), syslib_sys_sigsuspend, NULL, NULL);
1098
1099 static ScmObj syslib_sys_remove(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1100 {
1101 ScmObj filename_scm;
1102 const char * filename;
1103 SCM_ENTER_SUBR("sys-remove");
1104 filename_scm = SCM_ARGREF(0);
1105 if (!SCM_STRINGP(filename_scm)) Scm_Error("const C string required, but got %S", filename_scm);
1106 filename = SCM_STRING_CONST_CSTRING(filename_scm);
1107 {
1108 int r;
1109 SCM_SYSCALL(r, remove(filename));
1110 if (r < 0) Scm_SysError("removing %s failed", filename);
1111 SCM_RETURN(SCM_TRUE);
1112 }
1113 }
1114
1115 static SCM_DEFINE_STRING_CONST(syslib_sys_remove__NAME, "sys-remove", 10, 10);
1116 static SCM_DEFINE_SUBR(syslib_sys_remove__STUB, 1, 0, SCM_OBJ(&syslib_sys_remove__NAME), syslib_sys_remove, NULL, NULL);
1117
1118 static ScmObj syslib_sys_rename(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1119 {
1120 ScmObj oldname_scm;
1121 const char * oldname;
1122 ScmObj newname_scm;
1123 const char * newname;
1124 SCM_ENTER_SUBR("sys-rename");
1125 oldname_scm = SCM_ARGREF(0);
1126 if (!SCM_STRINGP(oldname_scm)) Scm_Error("const C string required, but got %S", oldname_scm);
1127 oldname = SCM_STRING_CONST_CSTRING(oldname_scm);
1128 newname_scm = SCM_ARGREF(1);
1129 if (!SCM_STRINGP(newname_scm)) Scm_Error("const C string required, but got %S", newname_scm);
1130 newname = SCM_STRING_CONST_CSTRING(newname_scm);
1131 {
1132 int r;
1133 #if defined(__MINGW32__)
1134 /* Windows doesn't allow renaming to the existing file, so we unlink
1135 it first. This breaks the atomicity of rename operation.
1136 We don't check and raise an error here, since the error will be
1137 caught by rename() call. */
1138 chmod(newname, 0666);
1139 unlink(newname);
1140 #endif /* __MINGW32__ */
1141 SCM_SYSCALL(r, rename(oldname, newname));
1142 if (r < 0) Scm_SysError("renaming %s to %s failed", oldname, newname);
1143 SCM_RETURN(SCM_TRUE);
1144 }
1145 }
1146
1147 static SCM_DEFINE_STRING_CONST(syslib_sys_rename__NAME, "sys-rename", 10, 10);
1148 static SCM_DEFINE_SUBR(syslib_sys_rename__STUB, 2, 0, SCM_OBJ(&syslib_sys_rename__NAME), syslib_sys_rename, NULL, NULL);
1149
1150 static ScmObj syslib_sys_tmpnam(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1151 {
1152 SCM_ENTER_SUBR("sys-tmpnam");
1153 {
1154
1155 #ifdef HAVE_MKSTEMP
1156 char nam[] = "/tmp/fileXXXXXX";
1157 int fd;
1158 SCM_SYSCALL(fd, mkstemp(nam));
1159 if (fd < 0) Scm_SysError("mkstemp failed");
1160 close(fd);
1161 unlink(nam);
1162 SCM_RETURN(SCM_MAKE_STR_COPYING(nam));
1163 #else
1164 char *s = tmpnam(NULL);
1165 SCM_RETURN(SCM_MAKE_STR_COPYING(s));
1166 #endif
1167 }
1168 }
1169
1170 static SCM_DEFINE_STRING_CONST(syslib_sys_tmpnam__NAME, "sys-tmpnam", 10, 10);
1171 static SCM_DEFINE_SUBR(syslib_sys_tmpnam__STUB, 0, 0, SCM_OBJ(&syslib_sys_tmpnam__NAME), syslib_sys_tmpnam, NULL, NULL);
1172
1173 static ScmObj syslib_sys_mkstemp(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1174 {
1175 ScmObj template_scm;
1176 ScmString* template;
1177 SCM_ENTER_SUBR("sys-mkstemp");
1178 template_scm = SCM_ARGREF(0);
1179 if (!SCM_STRINGP(template_scm)) Scm_Error("string required, but got %S", template_scm);
1180 template = SCM_STRING(template_scm);
1181 {
1182 {
1183 ScmObj SCM_RESULT;
1184 SCM_RESULT = Scm_SysMkstemp(template);
1185 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1186 }
1187 }
1188 }
1189
1190 static SCM_DEFINE_STRING_CONST(syslib_sys_mkstemp__NAME, "sys-mkstemp", 11, 11);
1191 static SCM_DEFINE_SUBR(syslib_sys_mkstemp__STUB, 1, 0, SCM_OBJ(&syslib_sys_mkstemp__NAME), syslib_sys_mkstemp, NULL, NULL);
1192
1193 static ScmObj syslib_sys_exit(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1194 {
1195 ScmObj code_scm;
1196 int code;
1197 SCM_ENTER_SUBR("sys-exit");
1198 code_scm = SCM_ARGREF(0);
1199 if (!SCM_INTP(code_scm)) Scm_Error("small integer required, but got %S", code_scm);
1200 code = SCM_INT_VALUE(code_scm);
1201 {
1202 _exit(code);
1203 SCM_RETURN(SCM_UNDEFINED);
1204 }
1205 }
1206
1207 static SCM_DEFINE_STRING_CONST(syslib_sys_exit__NAME, "sys-exit", 8, 8);
1208 static SCM_DEFINE_SUBR(syslib_sys_exit__STUB, 1, 0, SCM_OBJ(&syslib_sys_exit__NAME), syslib_sys_exit, NULL, NULL);
1209
1210 static ScmObj syslib_sys_getenv(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1211 {
1212 ScmObj name_scm;
1213 const char * name;
1214 SCM_ENTER_SUBR("sys-getenv");
1215 name_scm = SCM_ARGREF(0);
1216 if (!SCM_STRINGP(name_scm)) Scm_Error("const C string required, but got %S", name_scm);
1217 name = SCM_STRING_CONST_CSTRING(name_scm);
1218 {
1219 {
1220 const char * SCM_RESULT;
1221 SCM_RESULT = getenv(name);
1222 SCM_RETURN(SCM_MAKE_MAYBE(SCM_MAKE_STR_COPYING, SCM_RESULT));
1223 }
1224 }
1225 }
1226
1227 static SCM_DEFINE_STRING_CONST(syslib_sys_getenv__NAME, "sys-getenv", 10, 10);
1228 static SCM_DEFINE_SUBR(syslib_sys_getenv__STUB, 1, 0, SCM_OBJ(&syslib_sys_getenv__NAME), syslib_sys_getenv, NULL, NULL);
1229
1230 static ScmObj syslib_sys_system(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1231 {
1232 ScmObj command_scm;
1233 const char * command;
1234 SCM_ENTER_SUBR("sys-system");
1235 command_scm = SCM_ARGREF(0);
1236 if (!SCM_STRINGP(command_scm)) Scm_Error("const C string required, but got %S", command_scm);
1237 command = SCM_STRING_CONST_CSTRING(command_scm);
1238 {
1239 {
1240 int SCM_RESULT;
1241 SCM_SYSCALL(SCM_RESULT, system(command));
1242 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
1243 }
1244 }
1245 }
1246
1247 static SCM_DEFINE_STRING_CONST(syslib_sys_system__NAME, "sys-system", 10, 10);
1248 static SCM_DEFINE_SUBR(syslib_sys_system__STUB, 1, 0, SCM_OBJ(&syslib_sys_system__NAME), syslib_sys_system, NULL, NULL);
1249
1250 static ScmObj syslib_sys_random(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1251 {
1252 SCM_ENTER_SUBR("sys-random");
1253 {
1254 #if defined(HAVE_RANDOM) && defined(HAVE_SRANDOM)
1255 SCM_RETURN(Scm_MakeInteger(random()));
1256 #elif defined(LRAND48) && defined(SRAND48)
1257 SCM_RETURN(Scm_MakeInteger(lrand48()));
1258 #else
1259 /* fallback - we don't want to use rand(), for it is not very good RNG.
1260 replace it when we have time. */
1261 SCM_RETURN(Scm_MakeInteger(rand()));
1262 #endif
1263 }
1264 }
1265
1266 static SCM_DEFINE_STRING_CONST(syslib_sys_random__NAME, "sys-random", 10, 10);
1267 static SCM_DEFINE_SUBR(syslib_sys_random__STUB, 0, 0, SCM_OBJ(&syslib_sys_random__NAME), syslib_sys_random, NULL, NULL);
1268
1269 static ScmObj syslib_sys_srandom(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1270 {
1271 ScmObj seed_scm;
1272 ScmObj seed;
1273 SCM_ENTER_SUBR("sys-srandom");
1274 seed_scm = SCM_ARGREF(0);
1275 seed = (seed_scm);
1276 {
1277 if (!SCM_EXACTP(seed)) Scm_Error("exact integer required: %S", seed);
1278 #if defined(HAVE_RANDOM) && defined(HAVE_SRANDOM)
1279 srandom(Scm_GetUInteger(seed));
1280 #elif defined(LRAND48) && defined(SRAND48)
1281 srand48(Scm_GetUInteger(seed));
1282 #else
1283 /* fallback - we don't want to use rand(), for it is not very good RNG.
1284 replace it when we have time. */
1285 srand(Scm_GetUInteger(seed));
1286 #endif
1287 SCM_RETURN(SCM_UNDEFINED);
1288 }
1289 }
1290
1291 static SCM_DEFINE_STRING_CONST(syslib_sys_srandom__NAME, "sys-srandom", 11, 11);
1292 static SCM_DEFINE_SUBR(syslib_sys_srandom__STUB, 1, 0, SCM_OBJ(&syslib_sys_srandom__NAME), syslib_sys_srandom, NULL, NULL);
1293
1294 static SCM_DEFINE_STRING_CONST(syslib_RAND_MAX__VAR__NAME, "RAND_MAX", 8, 8);
1295 static ScmObj syslib_RAND_MAX__VAR = SCM_UNBOUND;
1296 static ScmObj syslib_sys_strerror(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1297 {
1298 ScmObj errno_scm;
1299 int errno;
1300 SCM_ENTER_SUBR("sys-strerror");
1301 errno_scm = SCM_ARGREF(0);
1302 if (!SCM_EXACTP(errno_scm)) Scm_Error("C integer required, but got %S", errno_scm);
1303 errno = Scm_GetInteger(errno_scm);
1304 {
1305 {
1306 const char * SCM_RESULT;
1307 SCM_RESULT = strerror(errno);
1308 SCM_RETURN(SCM_MAKE_STR_COPYING(SCM_RESULT));
1309 }
1310 }
1311 }
1312
1313 static SCM_DEFINE_STRING_CONST(syslib_sys_strerror__NAME, "sys-strerror", 12, 12);
1314 static SCM_DEFINE_SUBR(syslib_sys_strerror__STUB, 1, 0, SCM_OBJ(&syslib_sys_strerror__NAME), syslib_sys_strerror, NULL, NULL);
1315
1316 static ScmObj syslib_sys_stat(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1317 {
1318 ScmObj path_scm;
1319 const char * path;
1320 SCM_ENTER_SUBR("sys-stat");
1321 path_scm = SCM_ARGREF(0);
1322 if (!SCM_STRINGP(path_scm)) Scm_Error("const C string required, but got %S", path_scm);
1323 path = SCM_STRING_CONST_CSTRING(path_scm);
1324 {
1325 ScmSysStat *s = SCM_SYS_STAT(Scm_MakeSysStat());
1326 int r;
1327 SCM_SYSCALL(r, stat(path, &s->statrec));
1328 if (r < 0) Scm_SysError("stat failed for %s", path);
1329 SCM_RETURN(SCM_OBJ(s));
1330 }
1331 }
1332
1333 static SCM_DEFINE_STRING_CONST(syslib_sys_stat__NAME, "sys-stat", 8, 8);
1334 static SCM_DEFINE_SUBR(syslib_sys_stat__STUB, 1, 0, SCM_OBJ(&syslib_sys_stat__NAME), syslib_sys_stat, NULL, NULL);
1335
1336 #if !defined(__MINGW32__)
1337 static ScmObj syslib_sys_lstat(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1338 {
1339 ScmObj path_scm;
1340 const char * path;
1341 SCM_ENTER_SUBR("sys-lstat");
1342 path_scm = SCM_ARGREF(0);
1343 if (!SCM_STRINGP(path_scm)) Scm_Error("const C string required, but got %S", path_scm);
1344 path = SCM_STRING_CONST_CSTRING(path_scm);
1345 {
1346 ScmSysStat *s = SCM_SYS_STAT(Scm_MakeSysStat());
1347 int r;
1348 SCM_SYSCALL(r, lstat(path, &s->statrec));
1349 if (r < 0) Scm_SysError("lstat failed for %s", path);
1350 SCM_RETURN(SCM_OBJ(s));
1351 }
1352 }
1353
1354 static SCM_DEFINE_STRING_CONST(syslib_sys_lstat__NAME, "sys-lstat", 9, 9);
1355 static SCM_DEFINE_SUBR(syslib_sys_lstat__STUB, 1, 0, SCM_OBJ(&syslib_sys_lstat__NAME), syslib_sys_lstat, NULL, NULL);
1356
1357 #endif /*!defined(__MINGW32__)*/
1358 static ScmObj syslib_sys_fstat(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1359 {
1360 ScmObj port_or_fd_scm;
1361 ScmObj port_or_fd;
1362 SCM_ENTER_SUBR("sys-fstat");
1363 port_or_fd_scm = SCM_ARGREF(0);
1364 port_or_fd = (port_or_fd_scm);
1365 {
1366 ScmSysStat *s = SCM_SYS_STAT(Scm_MakeSysStat());
1367 int fd = Scm_GetPortFd(port_or_fd, FALSE), r;
1368 if (fd < 0) SCM_RETURN(SCM_FALSE);
1369 SCM_SYSCALL(r, fstat(fd, &s->statrec));
1370 if (r < 0) Scm_SysError("fstat failed for %d", fd);
1371 SCM_RETURN(SCM_OBJ(s));
1372 }
1373 }
1374
1375 static SCM_DEFINE_STRING_CONST(syslib_sys_fstat__NAME, "sys-fstat", 9, 9);
1376 static SCM_DEFINE_SUBR(syslib_sys_fstat__STUB, 1, 0, SCM_OBJ(&syslib_sys_fstat__NAME), syslib_sys_fstat, NULL, NULL);
1377
1378 #if !defined(__MINGW32__)
1379 static ScmObj syslib_sys_wait(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1380 {
1381 SCM_ENTER_SUBR("sys-wait");
1382 {
1383 int SCM_RESULT0;
1384 int SCM_RESULT1;
1385 {
1386 int status; pid_t r = wait(&status);
1387 if (r < 0) {
1388 if (errno == EINTR) Scm_SigCheck(Scm_VM());
1389 Scm_SysError("wait() failed");
1390 }
1391 SCM_RESULT0 = r; SCM_RESULT1 = status;
1392 }
1393 SCM_RETURN(Scm_Values2(Scm_MakeInteger(SCM_RESULT0),Scm_MakeInteger(SCM_RESULT1)));
1394 }
1395 }
1396
1397 static SCM_DEFINE_STRING_CONST(syslib_sys_wait__NAME, "sys-wait", 8, 8);
1398 static SCM_DEFINE_SUBR(syslib_sys_wait__STUB, 0, 0, SCM_OBJ(&syslib_sys_wait__NAME), syslib_sys_wait, NULL, NULL);
1399
1400 #endif /*!defined(__MINGW32__)*/
1401 #if !defined(__MINGW32__)
1402 #if !defined(__MINGW32__)
1403 static SCM_DEFINE_STRING_CONST(KEYARG_nohang__NAME, "nohang", 6, 6);
1404 static ScmObj KEYARG_nohang = SCM_UNBOUND;
1405 #endif /*!defined(__MINGW32__)*/
1406 #if !defined(__MINGW32__)
1407 static SCM_DEFINE_STRING_CONST(KEYARG_untraced__NAME, "untraced", 8, 8);
1408 static ScmObj KEYARG_untraced = SCM_UNBOUND;
1409 #endif /*!defined(__MINGW32__)*/
1410 static ScmObj syslib_sys_waitpid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1411 {
1412 ScmObj pid_scm;
1413 int pid;
1414 ScmObj nohang_scm;
1415 ScmObj nohang;
1416 ScmObj untraced_scm;
1417 ScmObj untraced;
1418 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
1419 SCM_ENTER_SUBR("sys-waitpid");
1420 pid_scm = SCM_ARGREF(0);
1421 if (!SCM_EXACTP(pid_scm)) Scm_Error("C integer required, but got %S", pid_scm);
1422 pid = Scm_GetInteger(pid_scm);
1423 nohang_scm = Scm_GetKeyword(SCM_OBJ(KEYARG_nohang), SCM_OPTARGS, SCM_FALSE);
1424 nohang = (nohang_scm);
1425 untraced_scm = Scm_GetKeyword(SCM_OBJ(KEYARG_untraced), SCM_OPTARGS, SCM_FALSE);
1426 untraced = (untraced_scm);
1427 {
1428 int SCM_RESULT0;
1429 int SCM_RESULT1;
1430 {
1431 int status, options = 0; pid_t r;
1432 if (!SCM_FALSEP(nohang)) options |= WNOHANG;
1433 if (!SCM_FALSEP(untraced)) options |= WUNTRACED;
1434 r = waitpid(pid, &status, options);
1435 if (r < 0) {
1436 if (errno == EINTR) Scm_SigCheck(Scm_VM());
1437 Scm_SysError("waitpid() failed");
1438 }
1439 SCM_RESULT0 = r; SCM_RESULT1 = status;
1440 }
1441 SCM_RETURN(Scm_Values2(Scm_MakeInteger(SCM_RESULT0),Scm_MakeInteger(SCM_RESULT1)));
1442 }
1443 }
1444
1445 static SCM_DEFINE_STRING_CONST(syslib_sys_waitpid__NAME, "sys-waitpid", 11, 11);
1446 static SCM_DEFINE_SUBR(syslib_sys_waitpid__STUB, 1, 1, SCM_OBJ(&syslib_sys_waitpid__NAME), syslib_sys_waitpid, NULL, NULL);
1447
1448 #endif /*!defined(__MINGW32__)*/
1449 #if !defined(__MINGW32__)
1450 static ScmObj syslib_sys_wait_exitedP(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1451 {
1452 ScmObj status_scm;
1453 int status;
1454 SCM_ENTER_SUBR("sys-wait-exited?");
1455 status_scm = SCM_ARGREF(0);
1456 if (!SCM_EXACTP(status_scm)) Scm_Error("C integer required, but got %S", status_scm);
1457 status = Scm_GetInteger(status_scm);
1458 {
1459 {
1460 int SCM_RESULT;
1461 SCM_RESULT = WIFEXITED(status);
1462 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
1463 }
1464 }
1465 }
1466
1467 static SCM_DEFINE_STRING_CONST(syslib_sys_wait_exitedP__NAME, "sys-wait-exited?", 16, 16);
1468 static SCM_DEFINE_SUBR(syslib_sys_wait_exitedP__STUB, 1, 0, SCM_OBJ(&syslib_sys_wait_exitedP__NAME), syslib_sys_wait_exitedP, NULL, NULL);
1469
1470 #endif /*!defined(__MINGW32__)*/
1471 #if !defined(__MINGW32__)
1472 static ScmObj syslib_sys_wait_exit_status(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1473 {
1474 ScmObj status_scm;
1475 int status;
1476 SCM_ENTER_SUBR("sys-wait-exit-status");
1477 status_scm = SCM_ARGREF(0);
1478 if (!SCM_EXACTP(status_scm)) Scm_Error("C integer required, but got %S", status_scm);
1479 status = Scm_GetInteger(status_scm);
1480 {
1481 {
1482 int SCM_RESULT;
1483 SCM_RESULT = WEXITSTATUS(status);
1484 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
1485 }
1486 }
1487 }
1488
1489 static SCM_DEFINE_STRING_CONST(syslib_sys_wait_exit_status__NAME, "sys-wait-exit-status", 20, 20);
1490 static SCM_DEFINE_SUBR(syslib_sys_wait_exit_status__STUB, 1, 0, SCM_OBJ(&syslib_sys_wait_exit_status__NAME), syslib_sys_wait_exit_status, NULL, NULL);
1491
1492 #endif /*!defined(__MINGW32__)*/
1493 #if !defined(__MINGW32__)
1494 static ScmObj syslib_sys_wait_signaledP(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1495 {
1496 ScmObj status_scm;
1497 int status;
1498 SCM_ENTER_SUBR("sys-wait-signaled?");
1499 status_scm = SCM_ARGREF(0);
1500 if (!SCM_EXACTP(status_scm)) Scm_Error("C integer required, but got %S", status_scm);
1501 status = Scm_GetInteger(status_scm);
1502 {
1503 {
1504 int SCM_RESULT;
1505 SCM_RESULT = WIFSIGNALED(status);
1506 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
1507 }
1508 }
1509 }
1510
1511 static SCM_DEFINE_STRING_CONST(syslib_sys_wait_signaledP__NAME, "sys-wait-signaled?", 18, 18);
1512 static SCM_DEFINE_SUBR(syslib_sys_wait_signaledP__STUB, 1, 0, SCM_OBJ(&syslib_sys_wait_signaledP__NAME), syslib_sys_wait_signaledP, NULL, NULL);
1513
1514 #endif /*!defined(__MINGW32__)*/
1515 #if !defined(__MINGW32__)
1516 static ScmObj syslib_sys_wait_termsig(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1517 {
1518 ScmObj status_scm;
1519 int status;
1520 SCM_ENTER_SUBR("sys-wait-termsig");
1521 status_scm = SCM_ARGREF(0);
1522 if (!SCM_EXACTP(status_scm)) Scm_Error("C integer required, but got %S", status_scm);
1523 status = Scm_GetInteger(status_scm);
1524 {
1525 {
1526 int SCM_RESULT;
1527 SCM_RESULT = WTERMSIG(status);
1528 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
1529 }
1530 }
1531 }
1532
1533 static SCM_DEFINE_STRING_CONST(syslib_sys_wait_termsig__NAME, "sys-wait-termsig", 16, 16);
1534 static SCM_DEFINE_SUBR(syslib_sys_wait_termsig__STUB, 1, 0, SCM_OBJ(&syslib_sys_wait_termsig__NAME), syslib_sys_wait_termsig, NULL, NULL);
1535
1536 #endif /*!defined(__MINGW32__)*/
1537 #if !defined(__MINGW32__)
1538 static ScmObj syslib_sys_wait_stoppedP(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1539 {
1540 ScmObj status_scm;
1541 int status;
1542 SCM_ENTER_SUBR("sys-wait-stopped?");
1543 status_scm = SCM_ARGREF(0);
1544 if (!SCM_EXACTP(status_scm)) Scm_Error("C integer required, but got %S", status_scm);
1545 status = Scm_GetInteger(status_scm);
1546 {
1547 {
1548 int SCM_RESULT;
1549 SCM_RESULT = WIFSTOPPED(status);
1550 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
1551 }
1552 }
1553 }
1554
1555 static SCM_DEFINE_STRING_CONST(syslib_sys_wait_stoppedP__NAME, "sys-wait-stopped?", 17, 17);
1556 static SCM_DEFINE_SUBR(syslib_sys_wait_stoppedP__STUB, 1, 0, SCM_OBJ(&syslib_sys_wait_stoppedP__NAME), syslib_sys_wait_stoppedP, NULL, NULL);
1557
1558 #endif /*!defined(__MINGW32__)*/
1559 #if !defined(__MINGW32__)
1560 static ScmObj syslib_sys_wait_stopsig(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1561 {
1562 ScmObj status_scm;
1563 int status;
1564 SCM_ENTER_SUBR("sys-wait-stopsig");
1565 status_scm = SCM_ARGREF(0);
1566 if (!SCM_EXACTP(status_scm)) Scm_Error("C integer required, but got %S", status_scm);
1567 status = Scm_GetInteger(status_scm);
1568 {
1569 {
1570 int SCM_RESULT;
1571 SCM_RESULT = WSTOPSIG(status);
1572 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
1573 }
1574 }
1575 }
1576
1577 static SCM_DEFINE_STRING_CONST(syslib_sys_wait_stopsig__NAME, "sys-wait-stopsig", 16, 16);
1578 static SCM_DEFINE_SUBR(syslib_sys_wait_stopsig__STUB, 1, 0, SCM_OBJ(&syslib_sys_wait_stopsig__NAME), syslib_sys_wait_stopsig, NULL, NULL);
1579
1580 #endif /*!defined(__MINGW32__)*/
1581 static ScmObj syslib_sys_time(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1582 {
1583 SCM_ENTER_SUBR("sys-time");
1584 {
1585 {
1586 ScmObj SCM_RESULT;
1587 SCM_RESULT = (Scm_MakeSysTime(time(NULL)));
1588 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1589 }
1590 }
1591 }
1592
1593 static SCM_DEFINE_STRING_CONST(syslib_sys_time__NAME, "sys-time", 8, 8);
1594 static SCM_DEFINE_SUBR(syslib_sys_time__STUB, 0, 0, SCM_OBJ(&syslib_sys_time__NAME), syslib_sys_time, NULL, NULL);
1595
1596 static ScmObj syslib_current_time(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1597 {
1598 SCM_ENTER_SUBR("current-time");
1599 {
1600 {
1601 ScmObj SCM_RESULT;
1602 SCM_RESULT = Scm_CurrentTime();
1603 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1604 }
1605 }
1606 }
1607
1608 static SCM_DEFINE_STRING_CONST(syslib_current_time__NAME, "current-time", 12, 12);
1609 static SCM_DEFINE_SUBR(syslib_current_time__STUB, 0, 0, SCM_OBJ(&syslib_current_time__NAME), syslib_current_time, NULL, NULL);
1610
1611 static ScmObj syslib_timeP(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1612 {
1613 ScmObj obj_scm;
1614 ScmObj obj;
1615 SCM_ENTER_SUBR("time?");
1616 obj_scm = SCM_ARGREF(0);
1617 obj = (obj_scm);
1618 {
1619 {
1620 int SCM_RESULT;
1621 SCM_RESULT = SCM_TIMEP(obj);
1622 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
1623 }
1624 }
1625 }
1626
1627 static SCM_DEFINE_STRING_CONST(syslib_timeP__NAME, "time?", 5, 5);
1628 static SCM_DEFINE_SUBR(syslib_timeP__STUB, 1, 0, SCM_OBJ(&syslib_timeP__NAME), syslib_timeP, NULL, NULL);
1629
1630 static ScmObj syslib_time_TOseconds(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1631 {
1632 ScmObj t_scm;
1633 ScmTime* t;
1634 SCM_ENTER_SUBR("time->seconds");
1635 t_scm = SCM_ARGREF(0);
1636 if (!SCM_TIMEP(t_scm)) Scm_Error("<time> required, but got %S", t_scm);
1637 t = SCM_TIME(t_scm);
1638 {
1639 {
1640 ScmObj SCM_RESULT;
1641 SCM_RESULT = Scm_TimeToSeconds(t);
1642 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1643 }
1644 }
1645 }
1646
1647 static SCM_DEFINE_STRING_CONST(syslib_time_TOseconds__NAME, "time->seconds", 13, 13);
1648 static SCM_DEFINE_SUBR(syslib_time_TOseconds__STUB, 1, 0, SCM_OBJ(&syslib_time_TOseconds__NAME), syslib_time_TOseconds, NULL, NULL);
1649
1650 static ScmObj syslib_seconds_TOtime(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1651 {
1652 ScmObj t_scm;
1653 double t;
1654 SCM_ENTER_SUBR("seconds->time");
1655 t_scm = SCM_ARGREF(0);
1656 if (!SCM_REALP(t_scm)) Scm_Error("real number required, but got %S", t_scm);
1657 t = Scm_GetDouble(t_scm);
1658 {
1659 {
1660 ScmObj SCM_RESULT;
1661 SCM_RESULT = Scm_RealSecondsToTime(t);
1662 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1663 }
1664 }
1665 }
1666
1667 static SCM_DEFINE_STRING_CONST(syslib_seconds_TOtime__NAME, "seconds->time", 13, 13);
1668 static SCM_DEFINE_SUBR(syslib_seconds_TOtime__STUB, 1, 0, SCM_OBJ(&syslib_seconds_TOtime__NAME), syslib_seconds_TOtime, NULL, NULL);
1669
1670 static ScmObj syslib_sys_asctime(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1671 {
1672 ScmObj tm_scm;
1673 ScmSysTm* tm;
1674 SCM_ENTER_SUBR("sys-asctime");
1675 tm_scm = SCM_ARGREF(0);
1676 if (!SCM_SYS_TM_P(tm_scm)) Scm_Error("<sys-tm> required, but got %S", tm_scm);
1677 tm = SCM_SYS_TM(tm_scm);
1678 {
1679 {
1680 ScmObj SCM_RESULT;
1681 SCM_RESULT = (SCM_MAKE_STR_COPYING(asctime(&SCM_SYS_TM_TM(tm))));
1682 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1683 }
1684 }
1685 }
1686
1687 static SCM_DEFINE_STRING_CONST(syslib_sys_asctime__NAME, "sys-asctime", 11, 11);
1688 static SCM_DEFINE_SUBR(syslib_sys_asctime__STUB, 1, 0, SCM_OBJ(&syslib_sys_asctime__NAME), syslib_sys_asctime, NULL, NULL);
1689
1690 static ScmObj syslib_sys_ctime(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1691 {
1692 ScmObj time_scm;
1693 ScmObj time;
1694 SCM_ENTER_SUBR("sys-ctime");
1695 time_scm = SCM_ARGREF(0);
1696 time = (time_scm);
1697 {
1698 {
1699 const char * SCM_RESULT;
1700 time_t tim = Scm_GetSysTime(time);
1701 SCM_RESULT = ctime(&tim);
1702 SCM_RETURN(SCM_MAKE_STR_COPYING(SCM_RESULT));
1703 }
1704 }
1705 }
1706
1707 static SCM_DEFINE_STRING_CONST(syslib_sys_ctime__NAME, "sys-ctime", 9, 9);
1708 static SCM_DEFINE_SUBR(syslib_sys_ctime__STUB, 1, 0, SCM_OBJ(&syslib_sys_ctime__NAME), syslib_sys_ctime, NULL, NULL);
1709
1710 static ScmObj syslib_sys_difftime(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1711 {
1712 ScmObj time1_scm;
1713 ScmObj time1;
1714 ScmObj time0_scm;
1715 ScmObj time0;
1716 SCM_ENTER_SUBR("sys-difftime");
1717 time1_scm = SCM_ARGREF(0);
1718 time1 = (time1_scm);
1719 time0_scm = SCM_ARGREF(1);
1720 time0 = (time0_scm);
1721 {
1722 {
1723 double SCM_RESULT;
1724 SCM_RESULT = (difftime(Scm_GetSysTime(time1), Scm_GetSysTime(time0)));
1725 SCM_RETURN(Scm_MakeFlonum(SCM_RESULT));
1726 }
1727 }
1728 }
1729
1730 static SCM_DEFINE_STRING_CONST(syslib_sys_difftime__NAME, "sys-difftime", 12, 12);
1731 static SCM_DEFINE_SUBR(syslib_sys_difftime__STUB, 2, 0, SCM_OBJ(&syslib_sys_difftime__NAME), syslib_sys_difftime, NULL, NULL);
1732
1733 static ScmObj syslib_sys_strftime(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1734 {
1735 ScmObj format_scm;
1736 const char * format;
1737 ScmObj tm_scm;
1738 ScmSysTm* tm;
1739 SCM_ENTER_SUBR("sys-strftime");
1740 format_scm = SCM_ARGREF(0);
1741 if (!SCM_STRINGP(format_scm)) Scm_Error("const C string required, but got %S", format_scm);
1742 format = SCM_STRING_CONST_CSTRING(format_scm);
1743 tm_scm = SCM_ARGREF(1);
1744 if (!SCM_SYS_TM_P(tm_scm)) Scm_Error("<sys-tm> required, but got %S", tm_scm);
1745 tm = SCM_SYS_TM(tm_scm);
1746 {
1747 {
1748 const char * SCM_RESULT;
1749 char tmpbuf[256];
1750 strftime(tmpbuf, sizeof(tmpbuf), format, &SCM_SYS_TM_TM(tm));
1751 SCM_RESULT = tmpbuf;
1752 SCM_RETURN(SCM_MAKE_STR_COPYING(SCM_RESULT));
1753 }
1754 }
1755 }
1756
1757 static SCM_DEFINE_STRING_CONST(syslib_sys_strftime__NAME, "sys-strftime", 12, 12);
1758 static SCM_DEFINE_SUBR(syslib_sys_strftime__STUB, 2, 0, SCM_OBJ(&syslib_sys_strftime__NAME), syslib_sys_strftime, NULL, NULL);
1759
1760 static ScmObj syslib_sys_gmtime(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1761 {
1762 ScmObj time_scm;
1763 ScmObj time;
1764 SCM_ENTER_SUBR("sys-gmtime");
1765 time_scm = SCM_ARGREF(0);
1766 time = (time_scm);
1767 {
1768 {
1769 ScmObj SCM_RESULT;
1770 time_t tim = Scm_GetSysTime(time);
1771 SCM_RESULT = Scm_MakeSysTm(gmtime(&tim));
1772 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1773 }
1774 }
1775 }
1776
1777 static SCM_DEFINE_STRING_CONST(syslib_sys_gmtime__NAME, "sys-gmtime", 10, 10);
1778 static SCM_DEFINE_SUBR(syslib_sys_gmtime__STUB, 1, 0, SCM_OBJ(&syslib_sys_gmtime__NAME), syslib_sys_gmtime, NULL, NULL);
1779
1780 static ScmObj syslib_sys_localtime(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1781 {
1782 ScmObj time_scm;
1783 ScmObj time;
1784 SCM_ENTER_SUBR("sys-localtime");
1785 time_scm = SCM_ARGREF(0);
1786 time = (time_scm);
1787 {
1788 {
1789 ScmObj SCM_RESULT;
1790 time_t tim = Scm_GetSysTime(time);
1791 SCM_RESULT = Scm_MakeSysTm(localtime(&tim));
1792 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1793 }
1794 }
1795 }
1796
1797 static SCM_DEFINE_STRING_CONST(syslib_sys_localtime__NAME, "sys-localtime", 13, 13);
1798 static SCM_DEFINE_SUBR(syslib_sys_localtime__STUB, 1, 0, SCM_OBJ(&syslib_sys_localtime__NAME), syslib_sys_localtime, NULL, NULL);
1799
1800 static ScmObj syslib_sys_mktime(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1801 {
1802 ScmObj tm_scm;
1803 ScmSysTm* tm;
1804 SCM_ENTER_SUBR("sys-mktime");
1805 tm_scm = SCM_ARGREF(0);
1806 if (!SCM_SYS_TM_P(tm_scm)) Scm_Error("<sys-tm> required, but got %S", tm_scm);
1807 tm = SCM_SYS_TM(tm_scm);
1808 {
1809 {
1810 ScmObj SCM_RESULT;
1811 SCM_RESULT = (Scm_MakeSysTime(mktime(&SCM_SYS_TM_TM(tm))));
1812 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1813 }
1814 }
1815 }
1816
1817 static SCM_DEFINE_STRING_CONST(syslib_sys_mktime__NAME, "sys-mktime", 10, 10);
1818 static SCM_DEFINE_SUBR(syslib_sys_mktime__STUB, 1, 0, SCM_OBJ(&syslib_sys_mktime__NAME), syslib_sys_mktime, NULL, NULL);
1819
1820 static SCM_DEFINE_STRING_CONST(syslib_R_OK__VAR__NAME, "R_OK", 4, 4);
1821 static ScmObj syslib_R_OK__VAR = SCM_UNBOUND;
1822 static SCM_DEFINE_STRING_CONST(syslib_W_OK__VAR__NAME, "W_OK", 4, 4);
1823 static ScmObj syslib_W_OK__VAR = SCM_UNBOUND;
1824 static SCM_DEFINE_STRING_CONST(syslib_X_OK__VAR__NAME, "X_OK", 4, 4);
1825 static ScmObj syslib_X_OK__VAR = SCM_UNBOUND;
1826 static SCM_DEFINE_STRING_CONST(syslib_F_OK__VAR__NAME, "F_OK", 4, 4);
1827 static ScmObj syslib_F_OK__VAR = SCM_UNBOUND;
1828 static ScmObj syslib_sys_access(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1829 {
1830 ScmObj pathname_scm;
1831 const char * pathname;
1832 ScmObj amode_scm;
1833 int amode;
1834 SCM_ENTER_SUBR("sys-access");
1835 pathname_scm = SCM_ARGREF(0);
1836 if (!SCM_STRINGP(pathname_scm)) Scm_Error("const C string required, but got %S", pathname_scm);
1837 pathname = SCM_STRING_CONST_CSTRING(pathname_scm);
1838 amode_scm = SCM_ARGREF(1);
1839 if (!SCM_EXACTP(amode_scm)) Scm_Error("C integer required, but got %S", amode_scm);
1840 amode = Scm_GetInteger(amode_scm);
1841 {
1842 {
1843 int SCM_RESULT;
1844 int r;
1845 if (Scm_IsSugid()) {
1846 Scm_Error("cannot use sys-access in suid/sgid program.");
1847 }
1848 SCM_SYSCALL(r, access(pathname, amode));
1849 SCM_RESULT = (r == 0);
1850 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
1851 }
1852 }
1853 }
1854
1855 static SCM_DEFINE_STRING_CONST(syslib_sys_access__NAME, "sys-access", 10, 10);
1856 static SCM_DEFINE_SUBR(syslib_sys_access__STUB, 2, 0, SCM_OBJ(&syslib_sys_access__NAME), syslib_sys_access, NULL, NULL);
1857
1858 static ScmObj syslib_sys_chdir(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1859 {
1860 ScmObj pathname_scm;
1861 const char * pathname;
1862 SCM_ENTER_SUBR("sys-chdir");
1863 pathname_scm = SCM_ARGREF(0);
1864 if (!SCM_STRINGP(pathname_scm)) Scm_Error("const C string required, but got %S", pathname_scm);
1865 pathname = SCM_STRING_CONST_CSTRING(pathname_scm);
1866 {
1867 {
1868 ScmObj SCM_RESULT;
1869 int r; SCM_SYSCALL(r, chdir(pathname));
1870 if (r < 0) Scm_SysError("chdir failed");
1871 SCM_RESULT = SCM_TRUE;
1872 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1873 }
1874 }
1875 }
1876
1877 static SCM_DEFINE_STRING_CONST(syslib_sys_chdir__NAME, "sys-chdir", 9, 9);
1878 static SCM_DEFINE_SUBR(syslib_sys_chdir__STUB, 1, 0, SCM_OBJ(&syslib_sys_chdir__NAME), syslib_sys_chdir, NULL, NULL);
1879
1880 static ScmObj syslib_sys_chmod(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1881 {
1882 ScmObj pathname_scm;
1883 const char * pathname;
1884 ScmObj mode_scm;
1885 int mode;
1886 SCM_ENTER_SUBR("sys-chmod");
1887 pathname_scm = SCM_ARGREF(0);
1888 if (!SCM_STRINGP(pathname_scm)) Scm_Error("const C string required, but got %S", pathname_scm);
1889 pathname = SCM_STRING_CONST_CSTRING(pathname_scm);
1890 mode_scm = SCM_ARGREF(1);
1891 if (!SCM_EXACTP(mode_scm)) Scm_Error("C integer required, but got %S", mode_scm);
1892 mode = Scm_GetInteger(mode_scm);
1893 {
1894 {
1895 ScmObj SCM_RESULT;
1896 int r; SCM_SYSCALL(r, chmod(pathname, mode));
1897 if (r < 0) Scm_SysError("chmod failed");
1898 SCM_RESULT = SCM_TRUE;
1899 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1900 }
1901 }
1902 }
1903
1904 static SCM_DEFINE_STRING_CONST(syslib_sys_chmod__NAME, "sys-chmod", 9, 9);
1905 static SCM_DEFINE_SUBR(syslib_sys_chmod__STUB, 2, 0, SCM_OBJ(&syslib_sys_chmod__NAME), syslib_sys_chmod, NULL, NULL);
1906
1907 static ScmObj syslib_sys_fork(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1908 {
1909 SCM_ENTER_SUBR("sys-fork");
1910 {
1911 {
1912 int SCM_RESULT;
1913 pid_t pid;
1914 GC_gcollect();
1915 SCM_SYSCALL(pid, fork());
1916 if (pid < 0) Scm_SysError("fork failed");
1917 SCM_RESULT = pid;
1918 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
1919 }
1920 }
1921 }
1922
1923 static SCM_DEFINE_STRING_CONST(syslib_sys_fork__NAME, "sys-fork", 8, 8);
1924 static SCM_DEFINE_SUBR(syslib_sys_fork__STUB, 0, 0, SCM_OBJ(&syslib_sys_fork__NAME), syslib_sys_fork, NULL, NULL);
1925
1926 static ScmObj syslib_sys_exec(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1927 {
1928 ScmObj command_scm;
1929 ScmString* command;
1930 ScmObj args_scm;
1931 ScmObj args;
1932 ScmObj iomap_scm;
1933 ScmObj iomap;
1934 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
1935 SCM_ENTER_SUBR("sys-exec");
1936 if (Scm_Length(SCM_OPTARGS) > 1)
1937 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
1938 command_scm = SCM_ARGREF(0);
1939 if (!SCM_STRINGP(command_scm)) Scm_Error("string required, but got %S", command_scm);
1940 command = SCM_STRING(command_scm);
1941 args_scm = SCM_ARGREF(1);
1942 if (!SCM_LISTP(args_scm)) Scm_Error("list required, but got %S", args_scm);
1943 args = (args_scm);
1944 if (SCM_NULLP(SCM_OPTARGS)) iomap_scm = SCM_UNBOUND;
1945 else {
1946 iomap_scm = SCM_CAR(SCM_OPTARGS);
1947 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
1948 }
1949 iomap = (iomap_scm);
1950 {
1951 Scm_SysExec(command, args, iomap, FALSE);
1952 SCM_RETURN(SCM_UNDEFINED);
1953 }
1954 }
1955
1956 static SCM_DEFINE_STRING_CONST(syslib_sys_exec__NAME, "sys-exec", 8, 8);
1957 static SCM_DEFINE_SUBR(syslib_sys_exec__STUB, 2, 1, SCM_OBJ(&syslib_sys_exec__NAME), syslib_sys_exec, NULL, NULL);
1958
1959 static ScmObj syslib_sys_fork_and_exec(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1960 {
1961 ScmObj command_scm;
1962 ScmString* command;
1963 ScmObj args_scm;
1964 ScmObj args;
1965 ScmObj iomap_scm;
1966 ScmObj iomap;
1967 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
1968 SCM_ENTER_SUBR("sys-fork-and-exec");
1969 if (Scm_Length(SCM_OPTARGS) > 1)
1970 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
1971 command_scm = SCM_ARGREF(0);
1972 if (!SCM_STRINGP(command_scm)) Scm_Error("string required, but got %S", command_scm);
1973 command = SCM_STRING(command_scm);
1974 args_scm = SCM_ARGREF(1);
1975 if (!SCM_LISTP(args_scm)) Scm_Error("list required, but got %S", args_scm);
1976 args = (args_scm);
1977 if (SCM_NULLP(SCM_OPTARGS)) iomap_scm = SCM_UNBOUND;
1978 else {
1979 iomap_scm = SCM_CAR(SCM_OPTARGS);
1980 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
1981 }
1982 iomap = (iomap_scm);
1983 {
1984 {
1985 ScmObj SCM_RESULT;
1986 SCM_RESULT = (Scm_SysExec(command, args, iomap, TRUE));
1987 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
1988 }
1989 }
1990 }
1991
1992 static SCM_DEFINE_STRING_CONST(syslib_sys_fork_and_exec__NAME, "sys-fork-and-exec", 17, 17);
1993 static SCM_DEFINE_SUBR(syslib_sys_fork_and_exec__STUB, 2, 1, SCM_OBJ(&syslib_sys_fork_and_exec__NAME), syslib_sys_fork_and_exec, NULL, NULL);
1994
1995 static ScmObj syslib_sys_getcwd(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
1996 {
1997 SCM_ENTER_SUBR("sys-getcwd");
1998 {
1999 {
2000 const char * SCM_RESULT;
2001 #define GETCWD_PATH_MAX 1024 /* TODO: needs to be configured */
2002 char p[GETCWD_PATH_MAX];
2003 if (getcwd(p, GETCWD_PATH_MAX-1) == NULL) {
2004 Scm_SysError("getcwd failed");
2005 }
2006 SCM_RESULT = p;
2007 SCM_RETURN(SCM_MAKE_STR_COPYING(SCM_RESULT));
2008 }
2009 }
2010 }
2011
2012 static SCM_DEFINE_STRING_CONST(syslib_sys_getcwd__NAME, "sys-getcwd", 10, 10);
2013 static SCM_DEFINE_SUBR(syslib_sys_getcwd__STUB, 0, 0, SCM_OBJ(&syslib_sys_getcwd__NAME), syslib_sys_getcwd, NULL, NULL);
2014
2015 static ScmObj syslib_sys_getegid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2016 {
2017 SCM_ENTER_SUBR("sys-getegid");
2018 {
2019 {
2020 int SCM_RESULT;
2021 SCM_RESULT = getegid();
2022 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2023 }
2024 }
2025 }
2026
2027 static SCM_DEFINE_STRING_CONST(syslib_sys_getegid__NAME, "sys-getegid", 11, 11);
2028 static SCM_DEFINE_SUBR(syslib_sys_getegid__STUB, 0, 0, SCM_OBJ(&syslib_sys_getegid__NAME), syslib_sys_getegid, NULL, NULL);
2029
2030 static ScmObj syslib_sys_getgid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2031 {
2032 SCM_ENTER_SUBR("sys-getgid");
2033 {
2034 {
2035 int SCM_RESULT;
2036 SCM_RESULT = getgid();
2037 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2038 }
2039 }
2040 }
2041
2042 static SCM_DEFINE_STRING_CONST(syslib_sys_getgid__NAME, "sys-getgid", 10, 10);
2043 static SCM_DEFINE_SUBR(syslib_sys_getgid__STUB, 0, 0, SCM_OBJ(&syslib_sys_getgid__NAME), syslib_sys_getgid, NULL, NULL);
2044
2045 static ScmObj syslib_sys_geteuid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2046 {
2047 SCM_ENTER_SUBR("sys-geteuid");
2048 {
2049 {
2050 int SCM_RESULT;
2051 SCM_RESULT = geteuid();
2052 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2053 }
2054 }
2055 }
2056
2057 static SCM_DEFINE_STRING_CONST(syslib_sys_geteuid__NAME, "sys-geteuid", 11, 11);
2058 static SCM_DEFINE_SUBR(syslib_sys_geteuid__STUB, 0, 0, SCM_OBJ(&syslib_sys_geteuid__NAME), syslib_sys_geteuid, NULL, NULL);
2059
2060 static ScmObj syslib_sys_getuid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2061 {
2062 SCM_ENTER_SUBR("sys-getuid");
2063 {
2064 {
2065 int SCM_RESULT;
2066 SCM_RESULT = getuid();
2067 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2068 }
2069 }
2070 }
2071
2072 static SCM_DEFINE_STRING_CONST(syslib_sys_getuid__NAME, "sys-getuid", 10, 10);
2073 static SCM_DEFINE_SUBR(syslib_sys_getuid__STUB, 0, 0, SCM_OBJ(&syslib_sys_getuid__NAME), syslib_sys_getuid, NULL, NULL);
2074
2075 static ScmObj syslib_sys_getpid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2076 {
2077 SCM_ENTER_SUBR("sys-getpid");
2078 {
2079 {
2080 int SCM_RESULT;
2081 SCM_RESULT = getpid();
2082 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2083 }
2084 }
2085 }
2086
2087 static SCM_DEFINE_STRING_CONST(syslib_sys_getpid__NAME, "sys-getpid", 10, 10);
2088 static SCM_DEFINE_SUBR(syslib_sys_getpid__STUB, 0, 0, SCM_OBJ(&syslib_sys_getpid__NAME), syslib_sys_getpid, NULL, NULL);
2089
2090 static ScmObj syslib_sys_getppid(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2091 {
2092 SCM_ENTER_SUBR("sys-getppid");
2093 {
2094 {
2095 int SCM_RESULT;
2096 SCM_RESULT = getppid();
2097 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2098 }
2099 }
2100 }
2101
2102 static SCM_DEFINE_STRING_CONST(syslib_sys_getppid__NAME, "sys-getppid", 11, 11);
2103 static SCM_DEFINE_SUBR(syslib_sys_getppid__STUB, 0, 0, SCM_OBJ(&syslib_sys_getppid__NAME), syslib_sys_getppid, NULL, NULL);
2104
2105 static ScmObj syslib_sys_link(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2106 {
2107 ScmObj existing_scm;
2108 const char * existing;
2109 ScmObj newpath_scm;
2110 const char * newpath;
2111 SCM_ENTER_SUBR("sys-link");
2112 existing_scm = SCM_ARGREF(0);
2113 if (!SCM_STRINGP(existing_scm)) Scm_Error("const C string required, but got %S", existing_scm);
2114 existing = SCM_STRING_CONST_CSTRING(existing_scm);
2115 newpath_scm = SCM_ARGREF(1);
2116 if (!SCM_STRINGP(newpath_scm)) Scm_Error("const C string required, but got %S", newpath_scm);
2117 newpath = SCM_STRING_CONST_CSTRING(newpath_scm);
2118 {
2119 {
2120 ScmObj SCM_RESULT;
2121 int r; SCM_SYSCALL(r, link(existing, newpath));
2122 if (r < 0) Scm_SysError("link failed");
2123 SCM_RESULT = SCM_TRUE;
2124 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2125 }
2126 }
2127 }
2128
2129 static SCM_DEFINE_STRING_CONST(syslib_sys_link__NAME, "sys-link", 8, 8);
2130 static SCM_DEFINE_SUBR(syslib_sys_link__STUB, 2, 0, SCM_OBJ(&syslib_sys_link__NAME), syslib_sys_link, NULL, NULL);
2131
2132 static ScmObj syslib_sys_pause(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2133 {
2134 SCM_ENTER_SUBR("sys-pause");
2135 {
2136 {
2137 ScmObj SCM_RESULT;
2138 SCM_RESULT = Scm_Pause();
2139 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2140 }
2141 }
2142 }
2143
2144 static SCM_DEFINE_STRING_CONST(syslib_sys_pause__NAME, "sys-pause", 9, 9);
2145 static SCM_DEFINE_SUBR(syslib_sys_pause__STUB, 0, 0, SCM_OBJ(&syslib_sys_pause__NAME), syslib_sys_pause, NULL, NULL);
2146
2147 static ScmObj syslib_sys_alarm(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2148 {
2149 ScmObj seconds_scm;
2150 int seconds;
2151 SCM_ENTER_SUBR("sys-alarm");
2152 seconds_scm = SCM_ARGREF(0);
2153 if (!SCM_INTP(seconds_scm)) Scm_Error("small integer required, but got %S", seconds_scm);
2154 seconds = SCM_INT_VALUE(seconds_scm);
2155 {
2156 {
2157 int SCM_RESULT;
2158 SCM_SYSCALL(SCM_RESULT, alarm(seconds));
2159 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2160 }
2161 }
2162 }
2163
2164 static SCM_DEFINE_STRING_CONST(syslib_sys_alarm__NAME, "sys-alarm", 9, 9);
2165 static SCM_DEFINE_SUBR(syslib_sys_alarm__STUB, 1, 0, SCM_OBJ(&syslib_sys_alarm__NAME), syslib_sys_alarm, NULL, NULL);
2166
2167 static SCM_DEFINE_STRING_CONST(KEYARG_name__NAME, "name", 4, 4);
2168 static ScmObj KEYARG_name = SCM_UNBOUND;
2169 static SCM_DEFINE_STRING_CONST(KEYARG_buffering__NAME, "buffering", 9, 9);
2170 static ScmObj KEYARG_buffering = SCM_UNBOUND;
2171 static SCM_DEFINE_STRING_CONST(KEYARG_bufferedP__NAME, "buffered?", 9, 9);
2172 static ScmObj KEYARG_bufferedP = SCM_UNBOUND;
2173 static ScmObj syslib_sys_pipe(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2174 {
2175 ScmObj name_scm;
2176 ScmObj name;
2177 ScmObj buffering_scm;
2178 ScmObj buffering;
2179 ScmObj bufferedP_scm;
2180 ScmObj bufferedP;
2181 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
2182 SCM_ENTER_SUBR("sys-pipe");
2183 name_scm = Scm_GetKeyword(SCM_OBJ(KEYARG_name), SCM_OPTARGS, SCM_MAKE_STR("(pipe)"));
2184 name = (name_scm);
2185 buffering_scm = Scm_GetKeyword(SCM_OBJ(KEYARG_buffering), SCM_OPTARGS, SCM_FALSE);
2186 buffering = (buffering_scm);
2187 bufferedP_scm = Scm_GetKeyword(SCM_OBJ(KEYARG_bufferedP), SCM_OPTARGS, SCM_FALSE);
2188 bufferedP = (bufferedP_scm);
2189 {
2190 ScmObj SCM_RESULT0;
2191 ScmObj SCM_RESULT1;
2192 {
2193 int fds[2], r, bufmode;
2194 SCM_SYSCALL(r, pipe(fds));
2195 if (r < 0) Scm_SysError("pipe failed");
2196 if (SCM_TRUEP(bufferedP)) {
2197 bufmode = SCM_PORT_BUFFER_FULL; /* for backward compatibility */
2198 } else {
2199 bufmode = Scm_BufferingMode(buffering, -1, SCM_PORT_BUFFER_LINE);
2200 }
2201 SCM_RESULT0 = Scm_MakePortWithFd(name, SCM_PORT_INPUT, fds[0], bufmode, TRUE);
2202 SCM_RESULT1 = Scm_MakePortWithFd(name, SCM_PORT_OUTPUT, fds[1], bufmode, TRUE);
2203 }
2204 SCM_RETURN(Scm_Values2(SCM_OBJ_SAFE(SCM_RESULT0),SCM_OBJ_SAFE(SCM_RESULT1)));
2205 }
2206 }
2207
2208 static SCM_DEFINE_STRING_CONST(syslib_sys_pipe__NAME, "sys-pipe", 8, 8);
2209 static SCM_DEFINE_SUBR(syslib_sys_pipe__STUB, 0, 1, SCM_OBJ(&syslib_sys_pipe__NAME), syslib_sys_pipe, NULL, NULL);
2210
2211 static ScmObj syslib_sys_close(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2212 {
2213 ScmObj fd_scm;
2214 int fd;
2215 SCM_ENTER_SUBR("sys-close");
2216 fd_scm = SCM_ARGREF(0);
2217 if (!SCM_EXACTP(fd_scm)) Scm_Error("C integer required, but got %S", fd_scm);
2218 fd = Scm_GetInteger(fd_scm);
2219 {
2220 {
2221 ScmObj SCM_RESULT;
2222 int r;
2223 SCM_SYSCALL(r, close(fd));
2224 if (r < 0) Scm_SysError("close failed");
2225 SCM_RESULT = SCM_TRUE;
2226 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2227 }
2228 }
2229 }
2230
2231 static SCM_DEFINE_STRING_CONST(syslib_sys_close__NAME, "sys-close", 9, 9);
2232 static SCM_DEFINE_SUBR(syslib_sys_close__STUB, 1, 0, SCM_OBJ(&syslib_sys_close__NAME), syslib_sys_close, NULL, NULL);
2233
2234 static ScmObj syslib_sys_mkdir(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2235 {
2236 ScmObj pathname_scm;
2237 const char * pathname;
2238 ScmObj mode_scm;
2239 int mode;
2240 SCM_ENTER_SUBR("sys-mkdir");
2241 pathname_scm = SCM_ARGREF(0);
2242 if (!SCM_STRINGP(pathname_scm)) Scm_Error("const C string required, but got %S", pathname_scm);
2243 pathname = SCM_STRING_CONST_CSTRING(pathname_scm);
2244 mode_scm = SCM_ARGREF(1);
2245 if (!SCM_EXACTP(mode_scm)) Scm_Error("C integer required, but got %S", mode_scm);
2246 mode = Scm_GetInteger(mode_scm);
2247 {
2248 {
2249 ScmObj SCM_RESULT;
2250 int r;
2251 #ifndef __MINGW32__
2252 SCM_SYSCALL(r, mkdir(pathname, mode));
2253 #else
2254 SCM_SYSCALL(r, mkdir(pathname));
2255 #endif /*__MINGW32__*/
2256 if (r < 0) Scm_SysError("mkdir failed");
2257 SCM_RESULT = SCM_TRUE;
2258 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2259 }
2260 }
2261 }
2262
2263 static SCM_DEFINE_STRING_CONST(syslib_sys_mkdir__NAME, "sys-mkdir", 9, 9);
2264 static SCM_DEFINE_SUBR(syslib_sys_mkdir__STUB, 2, 0, SCM_OBJ(&syslib_sys_mkdir__NAME), syslib_sys_mkdir, NULL, NULL);
2265
2266 static ScmObj syslib_sys_rmdir(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2267 {
2268 ScmObj pathname_scm;
2269 const char * pathname;
2270 SCM_ENTER_SUBR("sys-rmdir");
2271 pathname_scm = SCM_ARGREF(0);
2272 if (!SCM_STRINGP(pathname_scm)) Scm_Error("const C string required, but got %S", pathname_scm);
2273 pathname = SCM_STRING_CONST_CSTRING(pathname_scm);
2274 {
2275 {
2276 ScmObj SCM_RESULT;
2277 int r; SCM_SYSCALL(r, rmdir(pathname));
2278 if (r < 0) Scm_SysError("rmdir failed");
2279 SCM_RESULT = SCM_TRUE;
2280 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2281 }
2282 }
2283 }
2284
2285 static SCM_DEFINE_STRING_CONST(syslib_sys_rmdir__NAME, "sys-rmdir", 9, 9);
2286 static SCM_DEFINE_SUBR(syslib_sys_rmdir__STUB, 1, 0, SCM_OBJ(&syslib_sys_rmdir__NAME), syslib_sys_rmdir, NULL, NULL);
2287
2288 static ScmObj syslib_sys_umask(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2289 {
2290 ScmObj mode_scm;
2291 int mode;
2292 SCM_ENTER_SUBR("sys-umask");
2293 mode_scm = SCM_ARGREF(0);
2294 if (!SCM_INTP(mode_scm)) Scm_Error("small integer required, but got %S", mode_scm);
2295 mode = SCM_INT_VALUE(mode_scm);
2296 {
2297 {
2298 int SCM_RESULT;
2299 SCM_RESULT = umask(mode);
2300 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2301 }
2302 }
2303 }
2304
2305 static SCM_DEFINE_STRING_CONST(syslib_sys_umask__NAME, "sys-umask", 9, 9);
2306 static SCM_DEFINE_SUBR(syslib_sys_umask__STUB, 1, 0, SCM_OBJ(&syslib_sys_umask__NAME), syslib_sys_umask, NULL, NULL);
2307
2308 static ScmObj syslib_sys_sleep(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2309 {
2310 ScmObj seconds_scm;
2311 int seconds;
2312 SCM_ENTER_SUBR("sys-sleep");
2313 seconds_scm = SCM_ARGREF(0);
2314 if (!SCM_INTP(seconds_scm)) Scm_Error("small integer required, but got %S", seconds_scm);
2315 seconds = SCM_INT_VALUE(seconds_scm);
2316 {
2317 {
2318 int SCM_RESULT;
2319 SCM_RESULT = sleep(seconds);
2320 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2321 }
2322 }
2323 }
2324
2325 static SCM_DEFINE_STRING_CONST(syslib_sys_sleep__NAME, "sys-sleep", 9, 9);
2326 static SCM_DEFINE_SUBR(syslib_sys_sleep__STUB, 1, 0, SCM_OBJ(&syslib_sys_sleep__NAME), syslib_sys_sleep, NULL, NULL);
2327
2328 #if defined(HAVE_NANOSLEEP)
2329 static ScmObj syslib_sys_nanosleep(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2330 {
2331 ScmObj nanoseconds_scm;
2332 ScmObj nanoseconds;
2333 SCM_ENTER_SUBR("sys-nanosleep");
2334 nanoseconds_scm = SCM_ARGREF(0);
2335 nanoseconds = (nanoseconds_scm);
2336 {
2337 struct timespec spec, rem;
2338 if (SCM_TIMEP(nanoseconds)) {
2339 spec.tv_sec = SCM_TIME(nanoseconds)->sec;
2340 spec.tv_nsec = SCM_TIME(nanoseconds)->nsec;
2341 } else if (!SCM_REALP(nanoseconds)) {
2342 Scm_Error("bad timeout spec: <time> object or real number is required, but got %S", nanoseconds);
2343 } else {
2344 double v = Scm_GetDouble(nanoseconds);
2345 if (v < 0) Scm_Error("bad timeout spec: positive number required, but got %S", nanoseconds);
2346 spec.tv_sec = (unsigned long)floor(v/1.0e9);
2347 spec.tv_nsec = (unsigned long)fmod(v, 1.0e9);
2348 while (spec.tv_nsec >= 1000000000) {
2349 spec.tv_nsec -= 1000000000;
2350 spec.tv_sec += 1;
2351 }
2352 }
2353 rem.tv_sec = rem.tv_nsec = 0;
2354 nanosleep(&spec, &rem);
2355 if (rem.tv_sec == 0 && rem.tv_nsec == 0) SCM_RETURN(SCM_FALSE);
2356 else SCM_RETURN(Scm_MakeTime(SCM_FALSE, rem.tv_sec, rem.tv_nsec));
2357 }
2358 }
2359
2360 static SCM_DEFINE_STRING_CONST(syslib_sys_nanosleep__NAME, "sys-nanosleep", 13, 13);
2361 static SCM_DEFINE_SUBR(syslib_sys_nanosleep__STUB, 1, 0, SCM_OBJ(&syslib_sys_nanosleep__NAME), syslib_sys_nanosleep, NULL, NULL);
2362
2363 #endif /*defined(HAVE_NANOSLEEP)*/
2364 static ScmObj syslib_sys_unlink(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2365 {
2366 ScmObj pathname_scm;
2367 const char * pathname;
2368 SCM_ENTER_SUBR("sys-unlink");
2369 pathname_scm = SCM_ARGREF(0);
2370 if (!SCM_STRINGP(pathname_scm)) Scm_Error("const C string required, but got %S", pathname_scm);
2371 pathname = SCM_STRING_CONST_CSTRING(pathname_scm);
2372 {
2373 {
2374 ScmObj SCM_RESULT;
2375 int r; SCM_SYSCALL(r, unlink(pathname));
2376 if (r < 0) {
2377 if (errno == ENOENT) { SCM_RETURN(SCM_FALSE); }
2378 else Scm_SysError("unlink failed");
2379 }
2380 SCM_RESULT = SCM_TRUE;
2381 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2382 }
2383 }
2384 }
2385
2386 static SCM_DEFINE_STRING_CONST(syslib_sys_unlink__NAME, "sys-unlink", 10, 10);
2387 static SCM_DEFINE_SUBR(syslib_sys_unlink__STUB, 1, 0, SCM_OBJ(&syslib_sys_unlink__NAME), syslib_sys_unlink, NULL, NULL);
2388
2389 static ScmObj syslib_sys_isatty(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2390 {
2391 ScmObj port_or_fd_scm;
2392 ScmObj port_or_fd;
2393 SCM_ENTER_SUBR("sys-isatty");
2394 port_or_fd_scm = SCM_ARGREF(0);
2395 port_or_fd = (port_or_fd_scm);
2396 {
2397 {
2398 int SCM_RESULT;
2399 int fd = Scm_GetPortFd(port_or_fd, FALSE);
2400 SCM_RESULT = (fd >= 0 && isatty(fd));
2401 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
2402 }
2403 }
2404 }
2405
2406 static SCM_DEFINE_STRING_CONST(syslib_sys_isatty__NAME, "sys-isatty", 10, 10);
2407 static SCM_DEFINE_SUBR(syslib_sys_isatty__STUB, 1, 0, SCM_OBJ(&syslib_sys_isatty__NAME), syslib_sys_isatty, NULL, NULL);
2408
2409 static ScmObj syslib_sys_ttyname(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2410 {
2411 ScmObj port_or_fd_scm;
2412 ScmObj port_or_fd;
2413 SCM_ENTER_SUBR("sys-ttyname");
2414 port_or_fd_scm = SCM_ARGREF(0);
2415 port_or_fd = (port_or_fd_scm);
2416 {
2417 {
2418 const char * SCM_RESULT;
2419 int fd = Scm_GetPortFd(port_or_fd, FALSE);
2420 if (fd < 0) SCM_RESULT = NULL;
2421 else SCM_RESULT = ttyname(fd);
2422 SCM_RETURN(SCM_MAKE_MAYBE(SCM_MAKE_STR_COPYING, SCM_RESULT));
2423 }
2424 }
2425 }
2426
2427 static SCM_DEFINE_STRING_CONST(syslib_sys_ttyname__NAME, "sys-ttyname", 11, 11);
2428 static SCM_DEFINE_SUBR(syslib_sys_ttyname__STUB, 1, 0, SCM_OBJ(&syslib_sys_ttyname__NAME), syslib_sys_ttyname, NULL, NULL);
2429
2430 static ScmObj syslib_sys_truncate(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2431 {
2432 ScmObj path_scm;
2433 const char * path;
2434 ScmObj length_scm;
2435 ScmObj length;
2436 SCM_ENTER_SUBR("sys-truncate");
2437 path_scm = SCM_ARGREF(0);
2438 if (!SCM_STRINGP(path_scm)) Scm_Error("const C string required, but got %S", path_scm);
2439 path = SCM_STRING_CONST_CSTRING(path_scm);
2440 length_scm = SCM_ARGREF(1);
2441 if (!SCM_EXACTP(length_scm)) Scm_Error("exact integer required, but got %S", length_scm);
2442 length = (length_scm);
2443 {
2444 {
2445 ScmObj SCM_RESULT;
2446 int r; SCM_SYSCALL(r, truncate(path, Scm_IntegerToOffset(length)));
2447 if (r < 0) Scm_SysError("truncate failed");
2448 SCM_RESULT = SCM_TRUE;
2449 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2450 }
2451 }
2452 }
2453
2454 static SCM_DEFINE_STRING_CONST(syslib_sys_truncate__NAME, "sys-truncate", 12, 12);
2455 static SCM_DEFINE_SUBR(syslib_sys_truncate__STUB, 2, 0, SCM_OBJ(&syslib_sys_truncate__NAME), syslib_sys_truncate, NULL, NULL);
2456
2457 static ScmObj syslib_sys_ftruncate(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2458 {
2459 ScmObj port_or_fd_scm;
2460 ScmObj port_or_fd;
2461 ScmObj length_scm;
2462 ScmObj length;
2463 SCM_ENTER_SUBR("sys-ftruncate");
2464 port_or_fd_scm = SCM_ARGREF(0);
2465 port_or_fd = (port_or_fd_scm);
2466 length_scm = SCM_ARGREF(1);
2467 if (!SCM_EXACTP(length_scm)) Scm_Error("exact integer required, but got %S", length_scm);
2468 length = (length_scm);
2469 {
2470 {
2471 ScmObj SCM_RESULT;
2472 int r; int fd = Scm_GetPortFd(port_or_fd, TRUE);
2473 SCM_SYSCALL(r, ftruncate(fd, Scm_IntegerToOffset(length)));
2474 if (r < 0) Scm_SysError("ftruncate failed");
2475 SCM_RESULT = SCM_TRUE;
2476 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2477 }
2478 }
2479 }
2480
2481 static SCM_DEFINE_STRING_CONST(syslib_sys_ftruncate__NAME, "sys-ftruncate", 13, 13);
2482 static SCM_DEFINE_SUBR(syslib_sys_ftruncate__STUB, 2, 0, SCM_OBJ(&syslib_sys_ftruncate__NAME), syslib_sys_ftruncate, NULL, NULL);
2483
2484 #if defined(HAVE_CRYPT)
2485 static ScmObj syslib_sys_crypt(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2486 {
2487 ScmObj key_scm;
2488 const char * key;
2489 ScmObj salt_scm;
2490 const char * salt;
2491 SCM_ENTER_SUBR("sys-crypt");
2492 key_scm = SCM_ARGREF(0);
2493 if (!SCM_STRINGP(key_scm)) Scm_Error("const C string required, but got %S", key_scm);
2494 key = SCM_STRING_CONST_CSTRING(key_scm);
2495 salt_scm = SCM_ARGREF(1);
2496 if (!SCM_STRINGP(salt_scm)) Scm_Error("const C string required, but got %S", salt_scm);
2497 salt = SCM_STRING_CONST_CSTRING(salt_scm);
2498 {
2499 {
2500 const char * SCM_RESULT;
2501 SCM_RESULT = ((const char *)crypt(key, salt));
2502 SCM_RETURN(SCM_MAKE_STR_COPYING(SCM_RESULT));
2503 }
2504 }
2505 }
2506
2507 static SCM_DEFINE_STRING_CONST(syslib_sys_crypt__NAME, "sys-crypt", 9, 9);
2508 static SCM_DEFINE_SUBR(syslib_sys_crypt__STUB, 2, 0, SCM_OBJ(&syslib_sys_crypt__NAME), syslib_sys_crypt, NULL, NULL);
2509
2510 #endif /*defined(HAVE_CRYPT)*/
2511 #if defined(HAVE_SYMLINK)
2512 static ScmObj syslib_sys_symlink(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2513 {
2514 ScmObj existing_scm;
2515 const char * existing;
2516 ScmObj newpath_scm;
2517 const char * newpath;
2518 SCM_ENTER_SUBR("sys-symlink");
2519 existing_scm = SCM_ARGREF(0);
2520 if (!SCM_STRINGP(existing_scm)) Scm_Error("const C string required, but got %S", existing_scm);
2521 existing = SCM_STRING_CONST_CSTRING(existing_scm);
2522 newpath_scm = SCM_ARGREF(1);
2523 if (!SCM_STRINGP(newpath_scm)) Scm_Error("const C string required, but got %S", newpath_scm);
2524 newpath = SCM_STRING_CONST_CSTRING(newpath_scm);
2525 {
2526
2527 #ifdef HAVE_SYMLINK
2528 int r;
2529 SCM_SYSCALL(r, symlink(existing, newpath));
2530 if (r < 0) Scm_SysError("link failed");
2531 SCM_RETURN(SCM_TRUE);
2532 #else
2533 Scm_Error("the system doesn't support symbolic links");
2534 SCM_RETURN(SCM_FALSE);
2535 #endif
2536
2537 }
2538 }
2539
2540 static SCM_DEFINE_STRING_CONST(syslib_sys_symlink__NAME, "sys-symlink", 11, 11);
2541 static SCM_DEFINE_SUBR(syslib_sys_symlink__STUB, 2, 0, SCM_OBJ(&syslib_sys_symlink__NAME), syslib_sys_symlink, NULL, NULL);
2542
2543 #endif /*defined(HAVE_SYMLINK)*/
2544 #if defined(HAVE_READLINK)
2545 static ScmObj syslib_sys_readlink(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2546 {
2547 ScmObj path_scm;
2548 const char * path;
2549 SCM_ENTER_SUBR("sys-readlink");
2550 path_scm = SCM_ARGREF(0);
2551 if (!SCM_STRINGP(path_scm)) Scm_Error("const C string required, but got %S", path_scm);
2552 path = SCM_STRING_CONST_CSTRING(path_scm);
2553 {
2554 #define READLINK_PATH_MAX 1024 /* TODO: needs to be configured */
2555 char buf[READLINK_PATH_MAX];
2556 int n;
2557 SCM_SYSCALL(n, readlink(path, buf, READLINK_PATH_MAX));
2558 if (n < 0) Scm_SysError("readlink failed");
2559 if (n == READLINK_PATH_MAX) Scm_Error("readlink result too long");
2560 return Scm_MakeString(buf, n, -1, SCM_MAKSTR_COPYING);
2561 }
2562 }
2563
2564 static SCM_DEFINE_STRING_CONST(syslib_sys_readlink__NAME, "sys-readlink", 12, 12);
2565 static SCM_DEFINE_SUBR(syslib_sys_readlink__STUB, 1, 0, SCM_OBJ(&syslib_sys_readlink__NAME), syslib_sys_readlink, NULL, NULL);
2566
2567 #endif /*defined(HAVE_READLINK)*/
2568 #if defined(HAVE_SELECT)
2569 static ScmObj syslib_sys_fdset_ref(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2570 {
2571 ScmObj fdset_scm;
2572 ScmSysFdset* fdset;
2573 ScmObj pf_scm;
2574 ScmObj pf;
2575 SCM_ENTER_SUBR("sys-fdset-ref");
2576 fdset_scm = SCM_ARGREF(0);
2577 if (!SCM_SYS_FDSET_P(fdset_scm)) Scm_Error("<sys-fdset> required, but got %S", fdset_scm);
2578 fdset = SCM_SYS_FDSET(fdset_scm);
2579 pf_scm = SCM_ARGREF(1);
2580 pf = (pf_scm);
2581 {
2582 {
2583 int SCM_RESULT;
2584 int fd = Scm_GetPortFd(pf, FALSE);
2585 if (fd < 0) SCM_RESULT = TRUE;
2586 else SCM_RESULT = FD_ISSET(fd, &fdset->fdset);
2587 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
2588 }
2589 }
2590 }
2591
2592 static SCM_DEFINE_STRING_CONST(syslib_sys_fdset_ref__NAME, "sys-fdset-ref", 13, 13);
2593 static SCM_DEFINE_SUBR(syslib_sys_fdset_ref__STUB, 2, 0, SCM_OBJ(&syslib_sys_fdset_ref__NAME), syslib_sys_fdset_ref, NULL, NULL);
2594
2595 #endif /*defined(HAVE_SELECT)*/
2596 #if defined(HAVE_SELECT)
2597 static ScmObj syslib_sys_fdset_setX(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2598 {
2599 ScmObj fdset_scm;
2600 ScmSysFdset* fdset;
2601 ScmObj pf_scm;
2602 ScmObj pf;
2603 ScmObj flag_scm;
2604 int flag;
2605 SCM_ENTER_SUBR("sys-fdset-set!");
2606 fdset_scm = SCM_ARGREF(0);
2607 if (!SCM_SYS_FDSET_P(fdset_scm)) Scm_Error("<sys-fdset> required, but got %S", fdset_scm);
2608 fdset = SCM_SYS_FDSET(fdset_scm);
2609 pf_scm = SCM_ARGREF(1);
2610 pf = (pf_scm);
2611 flag_scm = SCM_ARGREF(2);
2612 if (!SCM_BOOLP(flag_scm)) Scm_Error("boolean required, but got %S", flag_scm);
2613 flag = SCM_BOOL_VALUE(flag_scm);
2614 {
2615 int fd = Scm_GetPortFd(pf, FALSE);
2616 if (fd >= 0) {
2617 if (flag) {
2618 FD_SET(fd, &fdset->fdset);
2619 if (fdset->maxfd < fd) fdset->maxfd = fd;
2620 } else {
2621 FD_CLR(fd, &fdset->fdset);
2622 if (fdset->maxfd == fd) {
2623 int i;
2624 for (i=fdset->maxfd-1; i>=0; i--) {
2625 if (FD_ISSET(i, &fdset->fdset)) break;
2626 }
2627 fdset->maxfd = i;
2628 }
2629 }
2630 }
2631 SCM_RETURN(SCM_UNDEFINED);
2632 }
2633 }
2634
2635 static SCM_DEFINE_STRING_CONST(syslib_sys_fdset_setX__NAME, "sys-fdset-set!", 14, 14);
2636 static SCM_DEFINE_SUBR(syslib_sys_fdset_setX__STUB, 3, 0, SCM_OBJ(&syslib_sys_fdset_setX__NAME), syslib_sys_fdset_setX, NULL, NULL);
2637
2638 #endif /*defined(HAVE_SELECT)*/
2639 #if defined(HAVE_SELECT)
2640 static ScmObj syslib_sys_fdset_max_fd(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2641 {
2642 ScmObj fdset_scm;
2643 ScmSysFdset* fdset;
2644 SCM_ENTER_SUBR("sys-fdset-max-fd");
2645 fdset_scm = SCM_ARGREF(0);
2646 if (!SCM_SYS_FDSET_P(fdset_scm)) Scm_Error("<sys-fdset> required, but got %S", fdset_scm);
2647 fdset = SCM_SYS_FDSET(fdset_scm);
2648 {
2649 {
2650 int SCM_RESULT;
2651 SCM_RESULT = (fdset->maxfd);
2652 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
2653 }
2654 }
2655 }
2656
2657 static SCM_DEFINE_STRING_CONST(syslib_sys_fdset_max_fd__NAME, "sys-fdset-max-fd", 16, 16);
2658 static SCM_DEFINE_SUBR(syslib_sys_fdset_max_fd__STUB, 1, 0, SCM_OBJ(&syslib_sys_fdset_max_fd__NAME), syslib_sys_fdset_max_fd, NULL, NULL);
2659
2660 #endif /*defined(HAVE_SELECT)*/
2661 #if defined(HAVE_SELECT)
2662 static ScmObj syslib_sys_select(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2663 {
2664 ScmObj rfds_scm;
2665 ScmObj rfds;
2666 ScmObj wfds_scm;
2667 ScmObj wfds;
2668 ScmObj efds_scm;
2669 ScmObj efds;
2670 ScmObj timeout_scm;
2671 ScmObj timeout;
2672 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
2673 SCM_ENTER_SUBR("sys-select");
2674 if (Scm_Length(SCM_OPTARGS) > 1)
2675 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
2676 rfds_scm = SCM_ARGREF(0);
2677 rfds = (rfds_scm);
2678 wfds_scm = SCM_ARGREF(1);
2679 wfds = (wfds_scm);
2680 efds_scm = SCM_ARGREF(2);
2681 efds = (efds_scm);
2682 if (SCM_NULLP(SCM_OPTARGS)) timeout_scm = SCM_FALSE;
2683 else {
2684 timeout_scm = SCM_CAR(SCM_OPTARGS);
2685 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
2686 }
2687 timeout = (timeout_scm);
2688 {
2689 {
2690 ScmObj SCM_RESULT;
2691 SCM_RESULT = Scm_SysSelect(rfds, wfds, efds, timeout);
2692 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2693 }
2694 }
2695 }
2696
2697 static SCM_DEFINE_STRING_CONST(syslib_sys_select__NAME, "sys-select", 10, 10);
2698 static SCM_DEFINE_SUBR(syslib_sys_select__STUB, 3, 1, SCM_OBJ(&syslib_sys_select__NAME), syslib_sys_select, NULL, NULL);
2699
2700 #endif /*defined(HAVE_SELECT)*/
2701 #if defined(HAVE_SELECT)
2702 static ScmObj syslib_sys_selectX(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
2703 {
2704 ScmObj rfds_scm;
2705 ScmObj rfds;
2706 ScmObj wfds_scm;
2707 ScmObj wfds;
2708 ScmObj efds_scm;
2709 ScmObj efds;
2710 ScmObj timeout_scm;
2711 ScmObj timeout;
2712 ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
2713 SCM_ENTER_SUBR("sys-select!");
2714 if (Scm_Length(SCM_OPTARGS) > 1)
2715 Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
2716 rfds_scm = SCM_ARGREF(0);
2717 rfds = (rfds_scm);
2718 wfds_scm = SCM_ARGREF(1);
2719 wfds = (wfds_scm);
2720 efds_scm = SCM_ARGREF(2);
2721 efds = (efds_scm);
2722 if (SCM_NULLP(SCM_OPTARGS)) timeout_scm = SCM_FALSE;
2723 else {
2724 timeout_scm = SCM_CAR(SCM_OPTARGS);
2725 SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
2726 }
2727 timeout = (timeout_scm);
2728 {
2729 {
2730 ScmObj SCM_RESULT;
2731 SCM_RESULT = Scm_SysSelectX(rfds, wfds, efds, timeout);
2732 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
2733 }
2734 }
2735 }
2736
2737 static SCM_DEFINE_STRING_CONST(syslib_sys_selectX__NAME, "sys-select!", 11, 11);
2738 static SCM_DEFINE_SUBR(syslib_sys_selectX__STUB, 3, 1, SCM_OBJ(&syslib_sys_selectX__NAME), syslib_sys_selectX, NULL, NULL);
2739
2740 #endif /*defined(HAVE_SELECT)*/
2741 void Scm_Init_syslib(ScmModule *module)
2742 {
2743
2744 #if defined(HAVE_SELECT)
2745 SCM_DEFINE(module, "sys-select!", SCM_OBJ(&syslib_sys_selectX__STUB));
2746 #endif /* defined(HAVE_SELECT) */
2747 #if defined(HAVE_SELECT)
2748 SCM_DEFINE(module, "sys-select", SCM_OBJ(&syslib_sys_select__STUB));
2749 #endif /* defined(HAVE_SELECT) */
2750 #if defined(HAVE_SELECT)
2751 SCM_DEFINE(module, "sys-fdset-max-fd", SCM_OBJ(&syslib_sys_fdset_max_fd__STUB));
2752 #endif /* defined(HAVE_SELECT) */
2753 #if defined(HAVE_SELECT)
2754 SCM_DEFINE(module, "sys-fdset-set!", SCM_OBJ(&syslib_sys_fdset_setX__STUB));
2755 #endif /* defined(HAVE_SELECT) */
2756 #if defined(HAVE_SELECT)
2757 SCM_DEFINE(module, "sys-fdset-ref", SCM_OBJ(&syslib_sys_fdset_ref__STUB));
2758 Scm_SetterSet(SCM_PROCEDURE(&syslib_sys_fdset_ref__STUB), SCM_PROCEDURE(&syslib_sys_fdset_setX__STUB), TRUE);
2759 #endif /* defined(HAVE_SELECT) */
2760 #if defined(HAVE_READLINK)
2761 SCM_DEFINE(module, "sys-readlink", SCM_OBJ(&syslib_sys_readlink__STUB));
2762 #endif /* defined(HAVE_READLINK) */
2763 #if defined(HAVE_SYMLINK)
2764 SCM_DEFINE(module, "sys-symlink", SCM_OBJ(&syslib_sys_symlink__STUB));
2765 #endif /* defined(HAVE_SYMLINK) */
2766 #if defined(HAVE_CRYPT)
2767 SCM_DEFINE(module, "sys-crypt", SCM_OBJ(&syslib_sys_crypt__STUB));
2768 #endif /* defined(HAVE_CRYPT) */
2769 SCM_DEFINE(module, "sys-ftruncate", SCM_OBJ(&syslib_sys_ftruncate__STUB));
2770 SCM_DEFINE(module, "sys-truncate", SCM_OBJ(&syslib_sys_truncate__STUB));
2771 SCM_DEFINE(module, "sys-ttyname", SCM_OBJ(&syslib_sys_ttyname__STUB));
2772 SCM_DEFINE(module, "sys-isatty", SCM_OBJ(&syslib_sys_isatty__STUB));
2773 SCM_DEFINE(module, "sys-unlink", SCM_OBJ(&syslib_sys_unlink__STUB));
2774 #if defined(HAVE_NANOSLEEP)
2775 SCM_DEFINE(module, "sys-nanosleep", SCM_OBJ(&syslib_sys_nanosleep__STUB));
2776 #endif /* defined(HAVE_NANOSLEEP) */
2777 SCM_DEFINE(module, "sys-sleep", SCM_OBJ(&syslib_sys_sleep__STUB));
2778 SCM_DEFINE(module, "sys-umask", SCM_OBJ(&syslib_sys_umask__STUB));
2779 SCM_DEFINE(module, "sys-rmdir", SCM_OBJ(&syslib_sys_rmdir__STUB));
2780 SCM_DEFINE(module, "sys-mkdir", SCM_OBJ(&syslib_sys_mkdir__STUB));
2781 SCM_DEFINE(module, "sys-close", SCM_OBJ(&syslib_sys_close__STUB));
2782 KEYARG_bufferedP = Scm_MakeKeyword(&KEYARG_bufferedP__NAME);
2783 KEYARG_buffering = Scm_MakeKeyword(&KEYARG_buffering__NAME);
2784 KEYARG_name = Scm_MakeKeyword(&KEYARG_name__NAME);
2785 SCM_DEFINE(module, "sys-pipe", SCM_OBJ(&syslib_sys_pipe__STUB));
2786 SCM_DEFINE(module, "sys-alarm", SCM_OBJ(&syslib_sys_alarm__STUB));
2787 SCM_DEFINE(module, "sys-pause", SCM_OBJ(&syslib_sys_pause__STUB));
2788 SCM_DEFINE(module, "sys-link", SCM_OBJ(&syslib_sys_link__STUB));
2789 SCM_DEFINE(module, "sys-getppid", SCM_OBJ(&syslib_sys_getppid__STUB));
2790 SCM_DEFINE(module, "sys-getpid", SCM_OBJ(&syslib_sys_getpid__STUB));
2791 SCM_DEFINE(module, "sys-getuid", SCM_OBJ(&syslib_sys_getuid__STUB));
2792 SCM_DEFINE(module, "sys-geteuid", SCM_OBJ(&syslib_sys_geteuid__STUB));
2793 SCM_DEFINE(module, "sys-getgid", SCM_OBJ(&syslib_sys_getgid__STUB));
2794 SCM_DEFINE(module, "sys-getegid", SCM_OBJ(&syslib_sys_getegid__STUB));
2795 SCM_DEFINE(module, "sys-getcwd", SCM_OBJ(&syslib_sys_getcwd__STUB));
2796 SCM_DEFINE(module, "sys-fork-and-exec", SCM_OBJ(&syslib_sys_fork_and_exec__STUB));
2797 SCM_DEFINE(module, "sys-exec", SCM_OBJ(&syslib_sys_exec__STUB));
2798 SCM_DEFINE(module, "sys-fork", SCM_OBJ(&syslib_sys_fork__STUB));
2799 SCM_DEFINE(module, "sys-chmod", SCM_OBJ(&syslib_sys_chmod__STUB));
2800 SCM_DEFINE(module, "sys-chdir", SCM_OBJ(&syslib_sys_chdir__STUB));
2801 SCM_DEFINE(module, "sys-access", SCM_OBJ(&syslib_sys_access__STUB));
2802 syslib_F_OK__VAR = Scm_Intern(&syslib_F_OK__VAR__NAME);
2803 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_F_OK__VAR)), SCM_OBJ(Scm_MakeInteger(F_OK)));
2804 syslib_X_OK__VAR = Scm_Intern(&syslib_X_OK__VAR__NAME);
2805 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_X_OK__VAR)), SCM_OBJ(Scm_MakeInteger(X_OK)));
2806 syslib_W_OK__VAR = Scm_Intern(&syslib_W_OK__VAR__NAME);
2807 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_W_OK__VAR)), SCM_OBJ(Scm_MakeInteger(W_OK)));
2808 syslib_R_OK__VAR = Scm_Intern(&syslib_R_OK__VAR__NAME);
2809 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_R_OK__VAR)), SCM_OBJ(Scm_MakeInteger(R_OK)));
2810 SCM_DEFINE(module, "sys-mktime", SCM_OBJ(&syslib_sys_mktime__STUB));
2811 SCM_DEFINE(module, "sys-localtime", SCM_OBJ(&syslib_sys_localtime__STUB));
2812 SCM_DEFINE(module, "sys-gmtime", SCM_OBJ(&syslib_sys_gmtime__STUB));
2813 SCM_DEFINE(module, "sys-strftime", SCM_OBJ(&syslib_sys_strftime__STUB));
2814 SCM_DEFINE(module, "sys-difftime", SCM_OBJ(&syslib_sys_difftime__STUB));
2815 SCM_DEFINE(module, "sys-ctime", SCM_OBJ(&syslib_sys_ctime__STUB));
2816 SCM_DEFINE(module, "sys-asctime", SCM_OBJ(&syslib_sys_asctime__STUB));
2817 SCM_DEFINE(module, "seconds->time", SCM_OBJ(&syslib_seconds_TOtime__STUB));
2818 SCM_DEFINE(module, "time->seconds", SCM_OBJ(&syslib_time_TOseconds__STUB));
2819 SCM_DEFINE(module, "time?", SCM_OBJ(&syslib_timeP__STUB));
2820 SCM_DEFINE(module, "current-time", SCM_OBJ(&syslib_current_time__STUB));
2821 SCM_DEFINE(module, "sys-time", SCM_OBJ(&syslib_sys_time__STUB));
2822 #if !defined(__MINGW32__)
2823 SCM_DEFINE(module, "sys-wait-stopsig", SCM_OBJ(&syslib_sys_wait_stopsig__STUB));
2824 #endif /* !defined(__MINGW32__) */
2825 #if !defined(__MINGW32__)
2826 SCM_DEFINE(module, "sys-wait-stopped?", SCM_OBJ(&syslib_sys_wait_stoppedP__STUB));
2827 #endif /* !defined(__MINGW32__) */
2828 #if !defined(__MINGW32__)
2829 SCM_DEFINE(module, "sys-wait-termsig", SCM_OBJ(&syslib_sys_wait_termsig__STUB));
2830 #endif /* !defined(__MINGW32__) */
2831 #if !defined(__MINGW32__)
2832 SCM_DEFINE(module, "sys-wait-signaled?", SCM_OBJ(&syslib_sys_wait_signaledP__STUB));
2833 #endif /* !defined(__MINGW32__) */
2834 #if !defined(__MINGW32__)
2835 SCM_DEFINE(module, "sys-wait-exit-status", SCM_OBJ(&syslib_sys_wait_exit_status__STUB));
2836 #endif /* !defined(__MINGW32__) */
2837 #if !defined(__MINGW32__)
2838 SCM_DEFINE(module, "sys-wait-exited?", SCM_OBJ(&syslib_sys_wait_exitedP__STUB));
2839 #endif /* !defined(__MINGW32__) */
2840 #if !defined(__MINGW32__)
2841 KEYARG_untraced = Scm_MakeKeyword(&KEYARG_untraced__NAME);
2842 #endif /* !defined(__MINGW32__) */
2843 #if !defined(__MINGW32__)
2844 KEYARG_nohang = Scm_MakeKeyword(&KEYARG_nohang__NAME);
2845 #endif /* !defined(__MINGW32__) */
2846 #if !defined(__MINGW32__)
2847 SCM_DEFINE(module, "sys-waitpid", SCM_OBJ(&syslib_sys_waitpid__STUB));
2848 #endif /* !defined(__MINGW32__) */
2849 #if !defined(__MINGW32__)
2850 SCM_DEFINE(module, "sys-wait", SCM_OBJ(&syslib_sys_wait__STUB));
2851 #endif /* !defined(__MINGW32__) */
2852 SCM_DEFINE(module, "sys-fstat", SCM_OBJ(&syslib_sys_fstat__STUB));
2853 #if !defined(__MINGW32__)
2854 SCM_DEFINE(module, "sys-lstat", SCM_OBJ(&syslib_sys_lstat__STUB));
2855 #endif /* !defined(__MINGW32__) */
2856 SCM_DEFINE(module, "sys-stat", SCM_OBJ(&syslib_sys_stat__STUB));
2857 SCM_DEFINE(module, "sys-strerror", SCM_OBJ(&syslib_sys_strerror__STUB));
2858 syslib_RAND_MAX__VAR = Scm_Intern(&syslib_RAND_MAX__VAR__NAME);
2859 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_RAND_MAX__VAR)), SCM_OBJ(Scm_MakeIntegerFromUI(RAND_MAX)));
2860 SCM_DEFINE(module, "sys-srandom", SCM_OBJ(&syslib_sys_srandom__STUB));
2861 SCM_DEFINE(module, "sys-random", SCM_OBJ(&syslib_sys_random__STUB));
2862 SCM_DEFINE(module, "sys-system", SCM_OBJ(&syslib_sys_system__STUB));
2863 SCM_DEFINE(module, "sys-getenv", SCM_OBJ(&syslib_sys_getenv__STUB));
2864 SCM_DEFINE(module, "sys-exit", SCM_OBJ(&syslib_sys_exit__STUB));
2865 SCM_DEFINE(module, "sys-mkstemp", SCM_OBJ(&syslib_sys_mkstemp__STUB));
2866 SCM_DEFINE(module, "sys-tmpnam", SCM_OBJ(&syslib_sys_tmpnam__STUB));
2867 SCM_DEFINE(module, "sys-rename", SCM_OBJ(&syslib_sys_rename__STUB));
2868 SCM_DEFINE(module, "sys-remove", SCM_OBJ(&syslib_sys_remove__STUB));
2869 SCM_DEFINE(module, "sys-sigsuspend", SCM_OBJ(&syslib_sys_sigsuspend__STUB));
2870 SCM_DEFINE(module, "sys-sigmask", SCM_OBJ(&syslib_sys_sigmask__STUB));
2871 syslib_SIG_UNBLOCK__VAR = Scm_Intern(&syslib_SIG_UNBLOCK__VAR__NAME);
2872 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_SIG_UNBLOCK__VAR)), SCM_OBJ(Scm_MakeInteger(SIG_UNBLOCK)));
2873 syslib_SIG_BLOCK__VAR = Scm_Intern(&syslib_SIG_BLOCK__VAR__NAME);
2874 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_SIG_BLOCK__VAR)), SCM_OBJ(Scm_MakeInteger(SIG_BLOCK)));
2875 syslib_SIG_SETMASK__VAR = Scm_Intern(&syslib_SIG_SETMASK__VAR__NAME);
2876 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_SIG_SETMASK__VAR)), SCM_OBJ(Scm_MakeInteger(SIG_SETMASK)));
2877 SCM_DEFINE(module, "get-signal-handlers", SCM_OBJ(&syslib_get_signal_handlers__STUB));
2878 SCM_DEFINE(module, "get-signal-handler", SCM_OBJ(&syslib_get_signal_handler__STUB));
2879 SCM_DEFINE(module, "set-signal-handler!", SCM_OBJ(&syslib_set_signal_handlerX__STUB));
2880 SCM_DEFINE(module, "sys-kill", SCM_OBJ(&syslib_sys_kill__STUB));
2881 SCM_DEFINE(module, "sys-signal-name", SCM_OBJ(&syslib_sys_signal_name__STUB));
2882 SCM_DEFINE(module, "sys-sigset-empty!", SCM_OBJ(&syslib_sys_sigset_emptyX__STUB));
2883 SCM_DEFINE(module, "sys-sigset-fill!", SCM_OBJ(&syslib_sys_sigset_fillX__STUB));
2884 SCM_DEFINE(module, "sys-sigset-delete!", SCM_OBJ(&syslib_sys_sigset_deleteX__STUB));
2885 SCM_DEFINE(module, "sys-sigset-add!", SCM_OBJ(&syslib_sys_sigset_addX__STUB));
2886 SCM_DEFINE(module, "sys-user-name->uid", SCM_OBJ(&syslib_sys_user_name_TOuid__STUB));
2887 SCM_DEFINE(module, "sys-uid->user-name", SCM_OBJ(&syslib_sys_uid_TOuser_name__STUB));
2888 SCM_DEFINE(module, "sys-getpwnam", SCM_OBJ(&syslib_sys_getpwnam__STUB));
2889 SCM_DEFINE(module, "sys-getpwuid", SCM_OBJ(&syslib_sys_getpwuid__STUB));
2890 SCM_DEFINE(module, "sys-setlocale", SCM_OBJ(&syslib_sys_setlocale__STUB));
2891 syslib_LC_TIME__VAR = Scm_Intern(&syslib_LC_TIME__VAR__NAME);
2892 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_LC_TIME__VAR)), SCM_OBJ(Scm_MakeInteger(LC_TIME)));
2893 syslib_LC_NUMERIC__VAR = Scm_Intern(&syslib_LC_NUMERIC__VAR__NAME);
2894 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_LC_NUMERIC__VAR)), SCM_OBJ(Scm_MakeInteger(LC_NUMERIC)));
2895 syslib_LC_MONETARY__VAR = Scm_Intern(&syslib_LC_MONETARY__VAR__NAME);
2896 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_LC_MONETARY__VAR)), SCM_OBJ(Scm_MakeInteger(LC_MONETARY)));
2897 syslib_LC_CTYPE__VAR = Scm_Intern(&syslib_LC_CTYPE__VAR__NAME);
2898 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_LC_CTYPE__VAR)), SCM_OBJ(Scm_MakeInteger(LC_CTYPE)));
2899 syslib_LC_COLLATE__VAR = Scm_Intern(&syslib_LC_COLLATE__VAR__NAME);
2900 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_LC_COLLATE__VAR)), SCM_OBJ(Scm_MakeInteger(LC_COLLATE)));
2901 syslib_LC_ALL__VAR = Scm_Intern(&syslib_LC_ALL__VAR__NAME);
2902 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_LC_ALL__VAR)), SCM_OBJ(Scm_MakeInteger(LC_ALL)));
2903 SCM_DEFINE(module, "sys-group-name->gid", SCM_OBJ(&syslib_sys_group_name_TOgid__STUB));
2904 SCM_DEFINE(module, "sys-gid->group-name", SCM_OBJ(&syslib_sys_gid_TOgroup_name__STUB));
2905 SCM_DEFINE(module, "sys-getgrnam", SCM_OBJ(&syslib_sys_getgrnam__STUB));
2906 SCM_DEFINE(module, "sys-getgrgid", SCM_OBJ(&syslib_sys_getgrgid__STUB));
2907 #if defined(EXFULL)
2908 syslib_EXFULL__VAR = Scm_Intern(&syslib_EXFULL__VAR__NAME);
2909 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EXFULL__VAR)), SCM_OBJ(Scm_MakeInteger(EXFULL)));
2910 #endif /* defined(EXFULL) */
2911 #if defined(EXDEV)
2912 syslib_EXDEV__VAR = Scm_Intern(&syslib_EXDEV__VAR__NAME);
2913 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EXDEV__VAR)), SCM_OBJ(Scm_MakeInteger(EXDEV)));
2914 #endif /* defined(EXDEV) */
2915 #if defined(EWOULDBLOCK)
2916 syslib_EWOULDBLOCK__VAR = Scm_Intern(&syslib_EWOULDBLOCK__VAR__NAME);
2917 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EWOULDBLOCK__VAR)), SCM_OBJ(Scm_MakeInteger(EWOULDBLOCK)));
2918 #endif /* defined(EWOULDBLOCK) */
2919 #if defined(EUSERS)
2920 syslib_EUSERS__VAR = Scm_Intern(&syslib_EUSERS__VAR__NAME);
2921 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EUSERS__VAR)), SCM_OBJ(Scm_MakeInteger(EUSERS)));
2922 #endif /* defined(EUSERS) */
2923 #if defined(EUNATCH)
2924 syslib_EUNATCH__VAR = Scm_Intern(&syslib_EUNATCH__VAR__NAME);
2925 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EUNATCH__VAR)), SCM_OBJ(Scm_MakeInteger(EUNATCH)));
2926 #endif /* defined(EUNATCH) */
2927 #if defined(EUCLEAN)
2928 syslib_EUCLEAN__VAR = Scm_Intern(&syslib_EUCLEAN__VAR__NAME);
2929 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EUCLEAN__VAR)), SCM_OBJ(Scm_MakeInteger(EUCLEAN)));
2930 #endif /* defined(EUCLEAN) */
2931 #if defined(ETXTBSY)
2932 syslib_ETXTBSY__VAR = Scm_Intern(&syslib_ETXTBSY__VAR__NAME);
2933 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ETXTBSY__VAR)), SCM_OBJ(Scm_MakeInteger(ETXTBSY)));
2934 #endif /* defined(ETXTBSY) */
2935 #if defined(ETOOMANYREFS)
2936 syslib_ETOOMANYREFS__VAR = Scm_Intern(&syslib_ETOOMANYREFS__VAR__NAME);
2937 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ETOOMANYREFS__VAR)), SCM_OBJ(Scm_MakeInteger(ETOOMANYREFS)));
2938 #endif /* defined(ETOOMANYREFS) */
2939 #if defined(ETIMEDOUT)
2940 syslib_ETIMEDOUT__VAR = Scm_Intern(&syslib_ETIMEDOUT__VAR__NAME);
2941 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ETIMEDOUT__VAR)), SCM_OBJ(Scm_MakeInteger(ETIMEDOUT)));
2942 #endif /* defined(ETIMEDOUT) */
2943 #if defined(ETIME)
2944 syslib_ETIME__VAR = Scm_Intern(&syslib_ETIME__VAR__NAME);
2945 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ETIME__VAR)), SCM_OBJ(Scm_MakeInteger(ETIME)));
2946 #endif /* defined(ETIME) */
2947 #if defined(ESTRPIPE)
2948 syslib_ESTRPIPE__VAR = Scm_Intern(&syslib_ESTRPIPE__VAR__NAME);
2949 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ESTRPIPE__VAR)), SCM_OBJ(Scm_MakeInteger(ESTRPIPE)));
2950 #endif /* defined(ESTRPIPE) */
2951 #if defined(ESTALE)
2952 syslib_ESTALE__VAR = Scm_Intern(&syslib_ESTALE__VAR__NAME);
2953 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ESTALE__VAR)), SCM_OBJ(Scm_MakeInteger(ESTALE)));
2954 #endif /* defined(ESTALE) */
2955 #if defined(ESRMNT)
2956 syslib_ESRMNT__VAR = Scm_Intern(&syslib_ESRMNT__VAR__NAME);
2957 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ESRMNT__VAR)), SCM_OBJ(Scm_MakeInteger(ESRMNT)));
2958 #endif /* defined(ESRMNT) */
2959 #if defined(ESRCH)
2960 syslib_ESRCH__VAR = Scm_Intern(&syslib_ESRCH__VAR__NAME);
2961 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ESRCH__VAR)), SCM_OBJ(Scm_MakeInteger(ESRCH)));
2962 #endif /* defined(ESRCH) */
2963 #if defined(ESPIPE)
2964 syslib_ESPIPE__VAR = Scm_Intern(&syslib_ESPIPE__VAR__NAME);
2965 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ESPIPE__VAR)), SCM_OBJ(Scm_MakeInteger(ESPIPE)));
2966 #endif /* defined(ESPIPE) */
2967 #if defined(ESOCKTNOSUPPORT)
2968 syslib_ESOCKTNOSUPPORT__VAR = Scm_Intern(&syslib_ESOCKTNOSUPPORT__VAR__NAME);
2969 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ESOCKTNOSUPPORT__VAR)), SCM_OBJ(Scm_MakeInteger(ESOCKTNOSUPPORT)));
2970 #endif /* defined(ESOCKTNOSUPPORT) */
2971 #if defined(ESHUTDOWN)
2972 syslib_ESHUTDOWN__VAR = Scm_Intern(&syslib_ESHUTDOWN__VAR__NAME);
2973 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ESHUTDOWN__VAR)), SCM_OBJ(Scm_MakeInteger(ESHUTDOWN)));
2974 #endif /* defined(ESHUTDOWN) */
2975 #if defined(EROFS)
2976 syslib_EROFS__VAR = Scm_Intern(&syslib_EROFS__VAR__NAME);
2977 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EROFS__VAR)), SCM_OBJ(Scm_MakeInteger(EROFS)));
2978 #endif /* defined(EROFS) */
2979 #if defined(ERESTART)
2980 syslib_ERESTART__VAR = Scm_Intern(&syslib_ERESTART__VAR__NAME);
2981 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ERESTART__VAR)), SCM_OBJ(Scm_MakeInteger(ERESTART)));
2982 #endif /* defined(ERESTART) */
2983 #if defined(EREMOTEIO)
2984 syslib_EREMOTEIO__VAR = Scm_Intern(&syslib_EREMOTEIO__VAR__NAME);
2985 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EREMOTEIO__VAR)), SCM_OBJ(Scm_MakeInteger(EREMOTEIO)));
2986 #endif /* defined(EREMOTEIO) */
2987 #if defined(EREMOTE)
2988 syslib_EREMOTE__VAR = Scm_Intern(&syslib_EREMOTE__VAR__NAME);
2989 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EREMOTE__VAR)), SCM_OBJ(Scm_MakeInteger(EREMOTE)));
2990 #endif /* defined(EREMOTE) */
2991 #if defined(EREMCHG)
2992 syslib_EREMCHG__VAR = Scm_Intern(&syslib_EREMCHG__VAR__NAME);
2993 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EREMCHG__VAR)), SCM_OBJ(Scm_MakeInteger(EREMCHG)));
2994 #endif /* defined(EREMCHG) */
2995 #if defined(ERANGE)
2996 syslib_ERANGE__VAR = Scm_Intern(&syslib_ERANGE__VAR__NAME);
2997 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ERANGE__VAR)), SCM_OBJ(Scm_MakeInteger(ERANGE)));
2998 #endif /* defined(ERANGE) */
2999 #if defined(EPROTOTYPE)
3000 syslib_EPROTOTYPE__VAR = Scm_Intern(&syslib_EPROTOTYPE__VAR__NAME);
3001 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EPROTOTYPE__VAR)), SCM_OBJ(Scm_MakeInteger(EPROTOTYPE)));
3002 #endif /* defined(EPROTOTYPE) */
3003 #if defined(EPROTONOSUPPORT)
3004 syslib_EPROTONOSUPPORT__VAR = Scm_Intern(&syslib_EPROTONOSUPPORT__VAR__NAME);
3005 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EPROTONOSUPPORT__VAR)), SCM_OBJ(Scm_MakeInteger(EPROTONOSUPPORT)));
3006 #endif /* defined(EPROTONOSUPPORT) */
3007 #if defined(EPROTO)
3008 syslib_EPROTO__VAR = Scm_Intern(&syslib_EPROTO__VAR__NAME);
3009 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EPROTO__VAR)), SCM_OBJ(Scm_MakeInteger(EPROTO)));
3010 #endif /* defined(EPROTO) */
3011 #if defined(EPIPE)
3012 syslib_EPIPE__VAR = Scm_Intern(&syslib_EPIPE__VAR__NAME);
3013 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EPIPE__VAR)), SCM_OBJ(Scm_MakeInteger(EPIPE)));
3014 #endif /* defined(EPIPE) */
3015 #if defined(EPFNOSUPPORT)
3016 syslib_EPFNOSUPPORT__VAR = Scm_Intern(&syslib_EPFNOSUPPORT__VAR__NAME);
3017 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EPFNOSUPPORT__VAR)), SCM_OBJ(Scm_MakeInteger(EPFNOSUPPORT)));
3018 #endif /* defined(EPFNOSUPPORT) */
3019 #if defined(EPERM)
3020 syslib_EPERM__VAR = Scm_Intern(&syslib_EPERM__VAR__NAME);
3021 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EPERM__VAR)), SCM_OBJ(Scm_MakeInteger(EPERM)));
3022 #endif /* defined(EPERM) */
3023 #if defined(EOVERFLOW)
3024 syslib_EOVERFLOW__VAR = Scm_Intern(&syslib_EOVERFLOW__VAR__NAME);
3025 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EOVERFLOW__VAR)), SCM_OBJ(Scm_MakeInteger(EOVERFLOW)));
3026 #endif /* defined(EOVERFLOW) */
3027 #if defined(EOPNOTSUPP)
3028 syslib_EOPNOTSUPP__VAR = Scm_Intern(&syslib_EOPNOTSUPP__VAR__NAME);
3029 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EOPNOTSUPP__VAR)), SCM_OBJ(Scm_MakeInteger(EOPNOTSUPP)));
3030 #endif /* defined(EOPNOTSUPP) */
3031 #if defined(ENXIO)
3032 syslib_ENXIO__VAR = Scm_Intern(&syslib_ENXIO__VAR__NAME);
3033 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENXIO__VAR)), SCM_OBJ(Scm_MakeInteger(ENXIO)));
3034 #endif /* defined(ENXIO) */
3035 #if defined(ENOTUNIQ)
3036 syslib_ENOTUNIQ__VAR = Scm_Intern(&syslib_ENOTUNIQ__VAR__NAME);
3037 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOTUNIQ__VAR)), SCM_OBJ(Scm_MakeInteger(ENOTUNIQ)));
3038 #endif /* defined(ENOTUNIQ) */
3039 #if defined(ENOTTY)
3040 syslib_ENOTTY__VAR = Scm_Intern(&syslib_ENOTTY__VAR__NAME);
3041 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOTTY__VAR)), SCM_OBJ(Scm_MakeInteger(ENOTTY)));
3042 #endif /* defined(ENOTTY) */
3043 #if defined(ENOTSOCK)
3044 syslib_ENOTSOCK__VAR = Scm_Intern(&syslib_ENOTSOCK__VAR__NAME);
3045 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOTSOCK__VAR)), SCM_OBJ(Scm_MakeInteger(ENOTSOCK)));
3046 #endif /* defined(ENOTSOCK) */
3047 #if defined(ENOTNAM)
3048 syslib_ENOTNAM__VAR = Scm_Intern(&syslib_ENOTNAM__VAR__NAME);
3049 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOTNAM__VAR)), SCM_OBJ(Scm_MakeInteger(ENOTNAM)));
3050 #endif /* defined(ENOTNAM) */
3051 #if defined(ENOTEMPTY)
3052 syslib_ENOTEMPTY__VAR = Scm_Intern(&syslib_ENOTEMPTY__VAR__NAME);
3053 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOTEMPTY__VAR)), SCM_OBJ(Scm_MakeInteger(ENOTEMPTY)));
3054 #endif /* defined(ENOTEMPTY) */
3055 #if defined(ENOTDIR)
3056 syslib_ENOTDIR__VAR = Scm_Intern(&syslib_ENOTDIR__VAR__NAME);
3057 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOTDIR__VAR)), SCM_OBJ(Scm_MakeInteger(ENOTDIR)));
3058 #endif /* defined(ENOTDIR) */
3059 #if defined(ENOTCONN)
3060 syslib_ENOTCONN__VAR = Scm_Intern(&syslib_ENOTCONN__VAR__NAME);
3061 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOTCONN__VAR)), SCM_OBJ(Scm_MakeInteger(ENOTCONN)));
3062 #endif /* defined(ENOTCONN) */
3063 #if defined(ENOTBLK)
3064 syslib_ENOTBLK__VAR = Scm_Intern(&syslib_ENOTBLK__VAR__NAME);
3065 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOTBLK__VAR)), SCM_OBJ(Scm_MakeInteger(ENOTBLK)));
3066 #endif /* defined(ENOTBLK) */
3067 #if defined(ENOSYS)
3068 syslib_ENOSYS__VAR = Scm_Intern(&syslib_ENOSYS__VAR__NAME);
3069 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOSYS__VAR)), SCM_OBJ(Scm_MakeInteger(ENOSYS)));
3070 #endif /* defined(ENOSYS) */
3071 #if defined(ENOSTR)
3072 syslib_ENOSTR__VAR = Scm_Intern(&syslib_ENOSTR__VAR__NAME);
3073 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOSTR__VAR)), SCM_OBJ(Scm_MakeInteger(ENOSTR)));
3074 #endif /* defined(ENOSTR) */
3075 #if defined(ENOSR)
3076 syslib_ENOSR__VAR = Scm_Intern(&syslib_ENOSR__VAR__NAME);
3077 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOSR__VAR)), SCM_OBJ(Scm_MakeInteger(ENOSR)));
3078 #endif /* defined(ENOSR) */
3079 #if defined(ENOSPC)
3080 syslib_ENOSPC__VAR = Scm_Intern(&syslib_ENOSPC__VAR__NAME);
3081 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOSPC__VAR)), SCM_OBJ(Scm_MakeInteger(ENOSPC)));
3082 #endif /* defined(ENOSPC) */
3083 #if defined(ENOPROTOOPT)
3084 syslib_ENOPROTOOPT__VAR = Scm_Intern(&syslib_ENOPROTOOPT__VAR__NAME);
3085 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOPROTOOPT__VAR)), SCM_OBJ(Scm_MakeInteger(ENOPROTOOPT)));
3086 #endif /* defined(ENOPROTOOPT) */
3087 #if defined(ENOPKG)
3088 syslib_ENOPKG__VAR = Scm_Intern(&syslib_ENOPKG__VAR__NAME);
3089 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOPKG__VAR)), SCM_OBJ(Scm_MakeInteger(ENOPKG)));
3090 #endif /* defined(ENOPKG) */
3091 #if defined(ENONET)
3092 syslib_ENONET__VAR = Scm_Intern(&syslib_ENONET__VAR__NAME);
3093 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENONET__VAR)), SCM_OBJ(Scm_MakeInteger(ENONET)));
3094 #endif /* defined(ENONET) */
3095 #if defined(ENOMSG)
3096 syslib_ENOMSG__VAR = Scm_Intern(&syslib_ENOMSG__VAR__NAME);
3097 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOMSG__VAR)), SCM_OBJ(Scm_MakeInteger(ENOMSG)));
3098 #endif /* defined(ENOMSG) */
3099 #if defined(ENOMEM)
3100 syslib_ENOMEM__VAR = Scm_Intern(&syslib_ENOMEM__VAR__NAME);
3101 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOMEM__VAR)), SCM_OBJ(Scm_MakeInteger(ENOMEM)));
3102 #endif /* defined(ENOMEM) */
3103 #if defined(ENOMEDIUM)
3104 syslib_ENOMEDIUM__VAR = Scm_Intern(&syslib_ENOMEDIUM__VAR__NAME);
3105 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOMEDIUM__VAR)), SCM_OBJ(Scm_MakeInteger(ENOMEDIUM)));
3106 #endif /* defined(ENOMEDIUM) */
3107 #if defined(ENOLINK)
3108 syslib_ENOLINK__VAR = Scm_Intern(&syslib_ENOLINK__VAR__NAME);
3109 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOLINK__VAR)), SCM_OBJ(Scm_MakeInteger(ENOLINK)));
3110 #endif /* defined(ENOLINK) */
3111 #if defined(ENOLCK)
3112 syslib_ENOLCK__VAR = Scm_Intern(&syslib_ENOLCK__VAR__NAME);
3113 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOLCK__VAR)), SCM_OBJ(Scm_MakeInteger(ENOLCK)));
3114 #endif /* defined(ENOLCK) */
3115 #if defined(ENOKEY)
3116 syslib_ENOKEY__VAR = Scm_Intern(&syslib_ENOKEY__VAR__NAME);
3117 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOKEY__VAR)), SCM_OBJ(Scm_MakeInteger(ENOKEY)));
3118 #endif /* defined(ENOKEY) */
3119 #if defined(ENOEXEC)
3120 syslib_ENOEXEC__VAR = Scm_Intern(&syslib_ENOEXEC__VAR__NAME);
3121 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOEXEC__VAR)), SCM_OBJ(Scm_MakeInteger(ENOEXEC)));
3122 #endif /* defined(ENOEXEC) */
3123 #if defined(ENOENT)
3124 syslib_ENOENT__VAR = Scm_Intern(&syslib_ENOENT__VAR__NAME);
3125 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOENT__VAR)), SCM_OBJ(Scm_MakeInteger(ENOENT)));
3126 #endif /* defined(ENOENT) */
3127 #if defined(ENODEV)
3128 syslib_ENODEV__VAR = Scm_Intern(&syslib_ENODEV__VAR__NAME);
3129 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENODEV__VAR)), SCM_OBJ(Scm_MakeInteger(ENODEV)));
3130 #endif /* defined(ENODEV) */
3131 #if defined(ENODATA)
3132 syslib_ENODATA__VAR = Scm_Intern(&syslib_ENODATA__VAR__NAME);
3133 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENODATA__VAR)), SCM_OBJ(Scm_MakeInteger(ENODATA)));
3134 #endif /* defined(ENODATA) */
3135 #if defined(ENOCSI)
3136 syslib_ENOCSI__VAR = Scm_Intern(&syslib_ENOCSI__VAR__NAME);
3137 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOCSI__VAR)), SCM_OBJ(Scm_MakeInteger(ENOCSI)));
3138 #endif /* defined(ENOCSI) */
3139 #if defined(ENOBUFS)
3140 syslib_ENOBUFS__VAR = Scm_Intern(&syslib_ENOBUFS__VAR__NAME);
3141 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOBUFS__VAR)), SCM_OBJ(Scm_MakeInteger(ENOBUFS)));
3142 #endif /* defined(ENOBUFS) */
3143 #if defined(ENOANO)
3144 syslib_ENOANO__VAR = Scm_Intern(&syslib_ENOANO__VAR__NAME);
3145 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENOANO__VAR)), SCM_OBJ(Scm_MakeInteger(ENOANO)));
3146 #endif /* defined(ENOANO) */
3147 #if defined(ENFILE)
3148 syslib_ENFILE__VAR = Scm_Intern(&syslib_ENFILE__VAR__NAME);
3149 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENFILE__VAR)), SCM_OBJ(Scm_MakeInteger(ENFILE)));
3150 #endif /* defined(ENFILE) */
3151 #if defined(ENETUNREACH)
3152 syslib_ENETUNREACH__VAR = Scm_Intern(&syslib_ENETUNREACH__VAR__NAME);
3153 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENETUNREACH__VAR)), SCM_OBJ(Scm_MakeInteger(ENETUNREACH)));
3154 #endif /* defined(ENETUNREACH) */
3155 #if defined(ENETRESET)
3156 syslib_ENETRESET__VAR = Scm_Intern(&syslib_ENETRESET__VAR__NAME);
3157 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENETRESET__VAR)), SCM_OBJ(Scm_MakeInteger(ENETRESET)));
3158 #endif /* defined(ENETRESET) */
3159 #if defined(ENETDOWN)
3160 syslib_ENETDOWN__VAR = Scm_Intern(&syslib_ENETDOWN__VAR__NAME);
3161 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENETDOWN__VAR)), SCM_OBJ(Scm_MakeInteger(ENETDOWN)));
3162 #endif /* defined(ENETDOWN) */
3163 #if defined(ENAVAIL)
3164 syslib_ENAVAIL__VAR = Scm_Intern(&syslib_ENAVAIL__VAR__NAME);
3165 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENAVAIL__VAR)), SCM_OBJ(Scm_MakeInteger(ENAVAIL)));
3166 #endif /* defined(ENAVAIL) */
3167 #if defined(ENAMETOOLONG)
3168 syslib_ENAMETOOLONG__VAR = Scm_Intern(&syslib_ENAMETOOLONG__VAR__NAME);
3169 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ENAMETOOLONG__VAR)), SCM_OBJ(Scm_MakeInteger(ENAMETOOLONG)));
3170 #endif /* defined(ENAMETOOLONG) */
3171 #if defined(EMULTIHOP)
3172 syslib_EMULTIHOP__VAR = Scm_Intern(&syslib_EMULTIHOP__VAR__NAME);
3173 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EMULTIHOP__VAR)), SCM_OBJ(Scm_MakeInteger(EMULTIHOP)));
3174 #endif /* defined(EMULTIHOP) */
3175 #if defined(EMSGSIZE)
3176 syslib_EMSGSIZE__VAR = Scm_Intern(&syslib_EMSGSIZE__VAR__NAME);
3177 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EMSGSIZE__VAR)), SCM_OBJ(Scm_MakeInteger(EMSGSIZE)));
3178 #endif /* defined(EMSGSIZE) */
3179 #if defined(EMLINK)
3180 syslib_EMLINK__VAR = Scm_Intern(&syslib_EMLINK__VAR__NAME);
3181 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EMLINK__VAR)), SCM_OBJ(Scm_MakeInteger(EMLINK)));
3182 #endif /* defined(EMLINK) */
3183 #if defined(EMFILE)
3184 syslib_EMFILE__VAR = Scm_Intern(&syslib_EMFILE__VAR__NAME);
3185 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EMFILE__VAR)), SCM_OBJ(Scm_MakeInteger(EMFILE)));
3186 #endif /* defined(EMFILE) */
3187 #if defined(EMEDIUMTYPE)
3188 syslib_EMEDIUMTYPE__VAR = Scm_Intern(&syslib_EMEDIUMTYPE__VAR__NAME);
3189 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EMEDIUMTYPE__VAR)), SCM_OBJ(Scm_MakeInteger(EMEDIUMTYPE)));
3190 #endif /* defined(EMEDIUMTYPE) */
3191 #if defined(ELOOP)
3192 syslib_ELOOP__VAR = Scm_Intern(&syslib_ELOOP__VAR__NAME);
3193 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ELOOP__VAR)), SCM_OBJ(Scm_MakeInteger(ELOOP)));
3194 #endif /* defined(ELOOP) */
3195 #if defined(ELNRNG)
3196 syslib_ELNRNG__VAR = Scm_Intern(&syslib_ELNRNG__VAR__NAME);
3197 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ELNRNG__VAR)), SCM_OBJ(Scm_MakeInteger(ELNRNG)));
3198 #endif /* defined(ELNRNG) */
3199 #if defined(ELIBSCN)
3200 syslib_ELIBSCN__VAR = Scm_Intern(&syslib_ELIBSCN__VAR__NAME);
3201 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ELIBSCN__VAR)), SCM_OBJ(Scm_MakeInteger(ELIBSCN)));
3202 #endif /* defined(ELIBSCN) */
3203 #if defined(ELIBMAX)
3204 syslib_ELIBMAX__VAR = Scm_Intern(&syslib_ELIBMAX__VAR__NAME);
3205 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ELIBMAX__VAR)), SCM_OBJ(Scm_MakeInteger(ELIBMAX)));
3206 #endif /* defined(ELIBMAX) */
3207 #if defined(ELIBEXEC)
3208 syslib_ELIBEXEC__VAR = Scm_Intern(&syslib_ELIBEXEC__VAR__NAME);
3209 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ELIBEXEC__VAR)), SCM_OBJ(Scm_MakeInteger(ELIBEXEC)));
3210 #endif /* defined(ELIBEXEC) */
3211 #if defined(ELIBBAD)
3212 syslib_ELIBBAD__VAR = Scm_Intern(&syslib_ELIBBAD__VAR__NAME);
3213 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ELIBBAD__VAR)), SCM_OBJ(Scm_MakeInteger(ELIBBAD)));
3214 #endif /* defined(ELIBBAD) */
3215 #if defined(ELIBACC)
3216 syslib_ELIBACC__VAR = Scm_Intern(&syslib_ELIBACC__VAR__NAME);
3217 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ELIBACC__VAR)), SCM_OBJ(Scm_MakeInteger(ELIBACC)));
3218 #endif /* defined(ELIBACC) */
3219 #if defined(EL3RST)
3220 syslib_EL3RST__VAR = Scm_Intern(&syslib_EL3RST__VAR__NAME);
3221 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EL3RST__VAR)), SCM_OBJ(Scm_MakeInteger(EL3RST)));
3222 #endif /* defined(EL3RST) */
3223 #if defined(EL3HLT)
3224 syslib_EL3HLT__VAR = Scm_Intern(&syslib_EL3HLT__VAR__NAME);
3225 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EL3HLT__VAR)), SCM_OBJ(Scm_MakeInteger(EL3HLT)));
3226 #endif /* defined(EL3HLT) */
3227 #if defined(EL2NSYNC)
3228 syslib_EL2NSYNC__VAR = Scm_Intern(&syslib_EL2NSYNC__VAR__NAME);
3229 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EL2NSYNC__VAR)), SCM_OBJ(Scm_MakeInteger(EL2NSYNC)));
3230 #endif /* defined(EL2NSYNC) */
3231 #if defined(EL2HLT)
3232 syslib_EL2HLT__VAR = Scm_Intern(&syslib_EL2HLT__VAR__NAME);
3233 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EL2HLT__VAR)), SCM_OBJ(Scm_MakeInteger(EL2HLT)));
3234 #endif /* defined(EL2HLT) */
3235 #if defined(EKEYREVOKED)
3236 syslib_EKEYREVOKED__VAR = Scm_Intern(&syslib_EKEYREVOKED__VAR__NAME);
3237 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EKEYREVOKED__VAR)), SCM_OBJ(Scm_MakeInteger(EKEYREVOKED)));
3238 #endif /* defined(EKEYREVOKED) */
3239 #if defined(EKEYREJECTED)
3240 syslib_EKEYREJECTED__VAR = Scm_Intern(&syslib_EKEYREJECTED__VAR__NAME);
3241 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EKEYREJECTED__VAR)), SCM_OBJ(Scm_MakeInteger(EKEYREJECTED)));
3242 #endif /* defined(EKEYREJECTED) */
3243 #if defined(EKEYEXPIRED)
3244 syslib_EKEYEXPIRED__VAR = Scm_Intern(&syslib_EKEYEXPIRED__VAR__NAME);
3245 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EKEYEXPIRED__VAR)), SCM_OBJ(Scm_MakeInteger(EKEYEXPIRED)));
3246 #endif /* defined(EKEYEXPIRED) */
3247 #if defined(EISNAM)
3248 syslib_EISNAM__VAR = Scm_Intern(&syslib_EISNAM__VAR__NAME);
3249 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EISNAM__VAR)), SCM_OBJ(Scm_MakeInteger(EISNAM)));
3250 #endif /* defined(EISNAM) */
3251 #if defined(EISDIR)
3252 syslib_EISDIR__VAR = Scm_Intern(&syslib_EISDIR__VAR__NAME);
3253 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EISDIR__VAR)), SCM_OBJ(Scm_MakeInteger(EISDIR)));
3254 #endif /* defined(EISDIR) */
3255 #if defined(EISCONN)
3256 syslib_EISCONN__VAR = Scm_Intern(&syslib_EISCONN__VAR__NAME);
3257 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EISCONN__VAR)), SCM_OBJ(Scm_MakeInteger(EISCONN)));
3258 #endif /* defined(EISCONN) */
3259 #if defined(EIO)
3260 syslib_EIO__VAR = Scm_Intern(&syslib_EIO__VAR__NAME);
3261 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EIO__VAR)), SCM_OBJ(Scm_MakeInteger(EIO)));
3262 #endif /* defined(EIO) */
3263 #if defined(EINVAL)
3264 syslib_EINVAL__VAR = Scm_Intern(&syslib_EINVAL__VAR__NAME);
3265 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EINVAL__VAR)), SCM_OBJ(Scm_MakeInteger(EINVAL)));
3266 #endif /* defined(EINVAL) */
3267 #if defined(EINTR)
3268 syslib_EINTR__VAR = Scm_Intern(&syslib_EINTR__VAR__NAME);
3269 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EINTR__VAR)), SCM_OBJ(Scm_MakeInteger(EINTR)));
3270 #endif /* defined(EINTR) */
3271 #if defined(EINPROGRESS)
3272 syslib_EINPROGRESS__VAR = Scm_Intern(&syslib_EINPROGRESS__VAR__NAME);
3273 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EINPROGRESS__VAR)), SCM_OBJ(Scm_MakeInteger(EINPROGRESS)));
3274 #endif /* defined(EINPROGRESS) */
3275 #if defined(EILSEQ)
3276 syslib_EILSEQ__VAR = Scm_Intern(&syslib_EILSEQ__VAR__NAME);
3277 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EILSEQ__VAR)), SCM_OBJ(Scm_MakeInteger(EILSEQ)));
3278 #endif /* defined(EILSEQ) */
3279 #if defined(EIDRM)
3280 syslib_EIDRM__VAR = Scm_Intern(&syslib_EIDRM__VAR__NAME);
3281 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EIDRM__VAR)), SCM_OBJ(Scm_MakeInteger(EIDRM)));
3282 #endif /* defined(EIDRM) */
3283 #if defined(EHOSTUNREACH)
3284 syslib_EHOSTUNREACH__VAR = Scm_Intern(&syslib_EHOSTUNREACH__VAR__NAME);
3285 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EHOSTUNREACH__VAR)), SCM_OBJ(Scm_MakeInteger(EHOSTUNREACH)));
3286 #endif /* defined(EHOSTUNREACH) */
3287 #if defined(EHOSTDOWN)
3288 syslib_EHOSTDOWN__VAR = Scm_Intern(&syslib_EHOSTDOWN__VAR__NAME);
3289 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EHOSTDOWN__VAR)), SCM_OBJ(Scm_MakeInteger(EHOSTDOWN)));
3290 #endif /* defined(EHOSTDOWN) */
3291 #if defined(EFBIG)
3292 syslib_EFBIG__VAR = Scm_Intern(&syslib_EFBIG__VAR__NAME);
3293 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EFBIG__VAR)), SCM_OBJ(Scm_MakeInteger(EFBIG)));
3294 #endif /* defined(EFBIG) */
3295 #if defined(EFAULT)
3296 syslib_EFAULT__VAR = Scm_Intern(&syslib_EFAULT__VAR__NAME);
3297 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EFAULT__VAR)), SCM_OBJ(Scm_MakeInteger(EFAULT)));
3298 #endif /* defined(EFAULT) */
3299 #if defined(EEXIST)
3300 syslib_EEXIST__VAR = Scm_Intern(&syslib_EEXIST__VAR__NAME);
3301 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EEXIST__VAR)), SCM_OBJ(Scm_MakeInteger(EEXIST)));
3302 #endif /* defined(EEXIST) */
3303 #if defined(EDQUOT)
3304 syslib_EDQUOT__VAR = Scm_Intern(&syslib_EDQUOT__VAR__NAME);
3305 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EDQUOT__VAR)), SCM_OBJ(Scm_MakeInteger(EDQUOT)));
3306 #endif /* defined(EDQUOT) */
3307 #if defined(EDOTDOT)
3308 syslib_EDOTDOT__VAR = Scm_Intern(&syslib_EDOTDOT__VAR__NAME);
3309 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EDOTDOT__VAR)), SCM_OBJ(Scm_MakeInteger(EDOTDOT)));
3310 #endif /* defined(EDOTDOT) */
3311 #if defined(EDOM)
3312 syslib_EDOM__VAR = Scm_Intern(&syslib_EDOM__VAR__NAME);
3313 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EDOM__VAR)), SCM_OBJ(Scm_MakeInteger(EDOM)));
3314 #endif /* defined(EDOM) */
3315 #if defined(EDESTADDRREQ)
3316 syslib_EDESTADDRREQ__VAR = Scm_Intern(&syslib_EDESTADDRREQ__VAR__NAME);
3317 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EDESTADDRREQ__VAR)), SCM_OBJ(Scm_MakeInteger(EDESTADDRREQ)));
3318 #endif /* defined(EDESTADDRREQ) */
3319 #if defined(EDEADLOCK)
3320 syslib_EDEADLOCK__VAR = Scm_Intern(&syslib_EDEADLOCK__VAR__NAME);
3321 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EDEADLOCK__VAR)), SCM_OBJ(Scm_MakeInteger(EDEADLOCK)));
3322 #endif /* defined(EDEADLOCK) */
3323 #if defined(EDEADLK)
3324 syslib_EDEADLK__VAR = Scm_Intern(&syslib_EDEADLK__VAR__NAME);
3325 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EDEADLK__VAR)), SCM_OBJ(Scm_MakeInteger(EDEADLK)));
3326 #endif /* defined(EDEADLK) */
3327 #if defined(ECONNRESET)
3328 syslib_ECONNRESET__VAR = Scm_Intern(&syslib_ECONNRESET__VAR__NAME);
3329 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ECONNRESET__VAR)), SCM_OBJ(Scm_MakeInteger(ECONNRESET)));
3330 #endif /* defined(ECONNRESET) */
3331 #if defined(ECONNREFUSED)
3332 syslib_ECONNREFUSED__VAR = Scm_Intern(&syslib_ECONNREFUSED__VAR__NAME);
3333 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ECONNREFUSED__VAR)), SCM_OBJ(Scm_MakeInteger(ECONNREFUSED)));
3334 #endif /* defined(ECONNREFUSED) */
3335 #if defined(ECONNABORTED)
3336 syslib_ECONNABORTED__VAR = Scm_Intern(&syslib_ECONNABORTED__VAR__NAME);
3337 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ECONNABORTED__VAR)), SCM_OBJ(Scm_MakeInteger(ECONNABORTED)));
3338 #endif /* defined(ECONNABORTED) */
3339 #if defined(ECOMM)
3340 syslib_ECOMM__VAR = Scm_Intern(&syslib_ECOMM__VAR__NAME);
3341 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ECOMM__VAR)), SCM_OBJ(Scm_MakeInteger(ECOMM)));
3342 #endif /* defined(ECOMM) */
3343 #if defined(ECHRNG)
3344 syslib_ECHRNG__VAR = Scm_Intern(&syslib_ECHRNG__VAR__NAME);
3345 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ECHRNG__VAR)), SCM_OBJ(Scm_MakeInteger(ECHRNG)));
3346 #endif /* defined(ECHRNG) */
3347 #if defined(ECHILD)
3348 syslib_ECHILD__VAR = Scm_Intern(&syslib_ECHILD__VAR__NAME);
3349 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ECHILD__VAR)), SCM_OBJ(Scm_MakeInteger(ECHILD)));
3350 #endif /* defined(ECHILD) */
3351 #if defined(ECANCELED)
3352 syslib_ECANCELED__VAR = Scm_Intern(&syslib_ECANCELED__VAR__NAME);
3353 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_ECANCELED__VAR)), SCM_OBJ(Scm_MakeInteger(ECANCELED)));
3354 #endif /* defined(ECANCELED) */
3355 #if defined(EBUSY)
3356 syslib_EBUSY__VAR = Scm_Intern(&syslib_EBUSY__VAR__NAME);
3357 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EBUSY__VAR)), SCM_OBJ(Scm_MakeInteger(EBUSY)));
3358 #endif /* defined(EBUSY) */
3359 #if defined(EBFONT)
3360 syslib_EBFONT__VAR = Scm_Intern(&syslib_EBFONT__VAR__NAME);
3361 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EBFONT__VAR)), SCM_OBJ(Scm_MakeInteger(EBFONT)));
3362 #endif /* defined(EBFONT) */
3363 #if defined(EBADSLT)
3364 syslib_EBADSLT__VAR = Scm_Intern(&syslib_EBADSLT__VAR__NAME);
3365 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EBADSLT__VAR)), SCM_OBJ(Scm_MakeInteger(EBADSLT)));
3366 #endif /* defined(EBADSLT) */
3367 #if defined(EBADRQC)
3368 syslib_EBADRQC__VAR = Scm_Intern(&syslib_EBADRQC__VAR__NAME);
3369 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EBADRQC__VAR)), SCM_OBJ(Scm_MakeInteger(EBADRQC)));
3370 #endif /* defined(EBADRQC) */
3371 #if defined(EBADR)
3372 syslib_EBADR__VAR = Scm_Intern(&syslib_EBADR__VAR__NAME);
3373 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EBADR__VAR)), SCM_OBJ(Scm_MakeInteger(EBADR)));
3374 #endif /* defined(EBADR) */
3375 #if defined(EBADMSG)
3376 syslib_EBADMSG__VAR = Scm_Intern(&syslib_EBADMSG__VAR__NAME);
3377 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EBADMSG__VAR)), SCM_OBJ(Scm_MakeInteger(EBADMSG)));
3378 #endif /* defined(EBADMSG) */
3379 #if defined(EBADFD)
3380 syslib_EBADFD__VAR = Scm_Intern(&syslib_EBADFD__VAR__NAME);
3381 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EBADFD__VAR)), SCM_OBJ(Scm_MakeInteger(EBADFD)));
3382 #endif /* defined(EBADFD) */
3383 #if defined(EBADF)
3384 syslib_EBADF__VAR = Scm_Intern(&syslib_EBADF__VAR__NAME);
3385 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EBADF__VAR)), SCM_OBJ(Scm_MakeInteger(EBADF)));
3386 #endif /* defined(EBADF) */
3387 #if defined(EBADE)
3388 syslib_EBADE__VAR = Scm_Intern(&syslib_EBADE__VAR__NAME);
3389 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EBADE__VAR)), SCM_OBJ(Scm_MakeInteger(EBADE)));
3390 #endif /* defined(EBADE) */
3391 #if defined(EALREADY)
3392 syslib_EALREADY__VAR = Scm_Intern(&syslib_EALREADY__VAR__NAME);
3393 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EALREADY__VAR)), SCM_OBJ(Scm_MakeInteger(EALREADY)));
3394 #endif /* defined(EALREADY) */
3395 #if defined(EAGAIN)
3396 syslib_EAGAIN__VAR = Scm_Intern(&syslib_EAGAIN__VAR__NAME);
3397 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EAGAIN__VAR)), SCM_OBJ(Scm_MakeInteger(EAGAIN)));
3398 #endif /* defined(EAGAIN) */
3399 #if defined(EAFNOSUPPORT)
3400 syslib_EAFNOSUPPORT__VAR = Scm_Intern(&syslib_EAFNOSUPPORT__VAR__NAME);
3401 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EAFNOSUPPORT__VAR)), SCM_OBJ(Scm_MakeInteger(EAFNOSUPPORT)));
3402 #endif /* defined(EAFNOSUPPORT) */
3403 #if defined(EADV)
3404 syslib_EADV__VAR = Scm_Intern(&syslib_EADV__VAR__NAME);
3405 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EADV__VAR)), SCM_OBJ(Scm_MakeInteger(EADV)));
3406 #endif /* defined(EADV) */
3407 #if defined(EADDRNOTAVAIL)
3408 syslib_EADDRNOTAVAIL__VAR = Scm_Intern(&syslib_EADDRNOTAVAIL__VAR__NAME);
3409 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EADDRNOTAVAIL__VAR)), SCM_OBJ(Scm_MakeInteger(EADDRNOTAVAIL)));
3410 #endif /* defined(EADDRNOTAVAIL) */
3411 #if defined(EADDRINUSE)
3412 syslib_EADDRINUSE__VAR = Scm_Intern(&syslib_EADDRINUSE__VAR__NAME);
3413 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EADDRINUSE__VAR)), SCM_OBJ(Scm_MakeInteger(EADDRINUSE)));
3414 #endif /* defined(EADDRINUSE) */
3415 #if defined(EACCES)
3416 syslib_EACCES__VAR = Scm_Intern(&syslib_EACCES__VAR__NAME);
3417 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_EACCES__VAR)), SCM_OBJ(Scm_MakeInteger(EACCES)));
3418 #endif /* defined(EACCES) */
3419 #if defined(E2BIG)
3420 syslib_E2BIG__VAR = Scm_Intern(&syslib_E2BIG__VAR__NAME);
3421 Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(syslib_E2BIG__VAR)), SCM_OBJ(Scm_MakeInteger(E2BIG)));
3422 #endif /* defined(E2BIG) */
3423 SCM_DEFINE(module, "sys-dirname", SCM_OBJ(&syslib_sys_dirname__STUB));
3424 SCM_DEFINE(module, "sys-basename", SCM_OBJ(&syslib_sys_basename__STUB));
3425 KEYARG_canonicalize = Scm_MakeKeyword(&KEYARG_canonicalize__NAME);
3426 KEYARG_expand = Scm_MakeKeyword(&KEYARG_expand__NAME);
3427 KEYARG_absolute = Scm_MakeKeyword(&KEYARG_absolute__NAME);
3428 SCM_DEFINE(module, "sys-normalize-pathname", SCM_OBJ(&syslib_sys_normalize_pathname__STUB));
3429 SCM_DEFINE(module, "sys-glob", SCM_OBJ(&syslib_sys_glob__STUB));
3430 SCM_DEFINE(module, "sys-readdir", SCM_OBJ(&syslib_sys_readdir__STUB));
3431 }