root/src/syslib.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. syslib_sys_readdir
  2. syslib_sys_glob
  3. syslib_sys_normalize_pathname
  4. syslib_sys_basename
  5. syslib_sys_dirname
  6. syslib_sys_getgrgid
  7. syslib_sys_getgrnam
  8. syslib_sys_gid_TOgroup_name
  9. syslib_sys_group_name_TOgid
  10. syslib_sys_setlocale
  11. syslib_sys_getpwuid
  12. syslib_sys_getpwnam
  13. syslib_sys_uid_TOuser_name
  14. syslib_sys_user_name_TOuid
  15. syslib_sys_sigset_addX
  16. syslib_sys_sigset_deleteX
  17. syslib_sys_sigset_fillX
  18. syslib_sys_sigset_emptyX
  19. syslib_sys_signal_name
  20. syslib_sys_kill
  21. syslib_set_signal_handlerX
  22. syslib_get_signal_handler
  23. syslib_get_signal_handlers
  24. syslib_sys_sigmask
  25. syslib_sys_sigsuspend
  26. syslib_sys_remove
  27. syslib_sys_rename
  28. syslib_sys_tmpnam
  29. syslib_sys_mkstemp
  30. syslib_sys_exit
  31. syslib_sys_getenv
  32. syslib_sys_system
  33. syslib_sys_random
  34. syslib_sys_srandom
  35. syslib_sys_strerror
  36. syslib_sys_stat
  37. syslib_sys_lstat
  38. syslib_sys_fstat
  39. syslib_sys_wait
  40. syslib_sys_waitpid
  41. syslib_sys_wait_exitedP
  42. syslib_sys_wait_exit_status
  43. syslib_sys_wait_signaledP
  44. syslib_sys_wait_termsig
  45. syslib_sys_wait_stoppedP
  46. syslib_sys_wait_stopsig
  47. syslib_sys_time
  48. syslib_current_time
  49. syslib_timeP
  50. syslib_time_TOseconds
  51. syslib_seconds_TOtime
  52. syslib_sys_asctime
  53. syslib_sys_ctime
  54. syslib_sys_difftime
  55. syslib_sys_strftime
  56. syslib_sys_gmtime
  57. syslib_sys_localtime
  58. syslib_sys_mktime
  59. syslib_sys_access
  60. syslib_sys_chdir
  61. syslib_sys_chmod
  62. syslib_sys_fork
  63. syslib_sys_exec
  64. syslib_sys_fork_and_exec
  65. syslib_sys_getcwd
  66. syslib_sys_getegid
  67. syslib_sys_getgid
  68. syslib_sys_geteuid
  69. syslib_sys_getuid
  70. syslib_sys_getpid
  71. syslib_sys_getppid
  72. syslib_sys_link
  73. syslib_sys_pause
  74. syslib_sys_alarm
  75. syslib_sys_pipe
  76. syslib_sys_close
  77. syslib_sys_mkdir
  78. syslib_sys_rmdir
  79. syslib_sys_umask
  80. syslib_sys_sleep
  81. syslib_sys_nanosleep
  82. syslib_sys_unlink
  83. syslib_sys_isatty
  84. syslib_sys_ttyname
  85. syslib_sys_truncate
  86. syslib_sys_ftruncate
  87. syslib_sys_crypt
  88. syslib_sys_symlink
  89. syslib_sys_readlink
  90. syslib_sys_fdset_ref
  91. syslib_sys_fdset_setX
  92. syslib_sys_fdset_max_fd
  93. syslib_sys_select
  94. syslib_sys_selectX
  95. 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 }

/* [<][>][^][v][top][bottom][index][help] */