root/ext/dbm/ndbm.c

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

DEFINITIONS

This source file includes following definitions.
  1. ScmNdbm
  2. ndbm_print
  3. Scm_Init_ndbm
  4. ndbm_finalize
  5. ndbm_ndbm_open
  6. ndbm_ndbm_close
  7. ndbm_ndbm_closedP
  8. ndbm_ndbm_store
  9. ndbm_ndbm_fetch
  10. ndbm_ndbm_existsP
  11. ndbm_ndbm_delete
  12. ndbm_ndbm_firstkey
  13. ndbm_ndbm_nextkey
  14. ndbm_ndbm_error
  15. ndbm_ndbm_clearerror
  16. Scm_Init_ndbm

   1 /* Generated by genstub.  Do not edit. */
   2 #include <gauche.h>
   3 #if defined(__CYGWIN__) || defined(__MINGW32__)
   4 #define SCM_CGEN_CONST /*empty*/
   5 #else
   6 #define SCM_CGEN_CONST const
   7 #endif
   8 
   9  #include <fcntl.h>
  10  #include <gauche/extend.h>
  11  #include "dbmconf.h"
  12 
  13  #if HAVE_NDBM_H
  14  #include <ndbm.h>
  15  #elif HAVE_GDBM_NDBM_H
  16  #include <gdbm/ndbm.h>
  17  #endif
  18 
  19  SCM_CLASS_DECL(Scm_NdbmClass); 
  20  static void ndbm_print(ScmObj, ScmPort *, ScmWriteContext*);
  21  SCM_DEFINE_BUILTIN_CLASS_SIMPLE(Scm_NdbmClass, ndbm_print);
  22 
  23  #define SCM_CLASS_NDBM       (&Scm_NdbmClass)
  24  #define SCM_NDBM(obj)        ((ScmNdbm*)obj)
  25  #define SCM_NDBMP(obj)       SCM_XTYPEP(obj, SCM_CLASS_NDBM)
  26 
  27  typedef struct ScmNdbmRec {
  28     SCM_HEADER;
  29     ScmObj name;
  30     DBM *dbf;                   /* NULL if closed */
  31  } ScmNdbm;
  32 
  33  static void ndbm_print(ScmObj obj, ScmPort *out, ScmWriteContext *ctx)
  34  {
  35     Scm_Printf(out, "#<ndbm-file %S>", SCM_NDBM(obj)->name);
  36  }
  37 
  38  #define TO_DATUM(datum_, scm_)                     \
  39    do {                                             \
  40      const ScmStringBody *b = SCM_STRING_BODY(scm_);\
  41      datum_.dptr = (char*)SCM_STRING_BODY_START(b); \
  42      datum_.dsize = SCM_STRING_BODY_SIZE(b);        \
  43    } while (0)
  44  #define FROM_DATUM(scm_, datum_)           \
  45    do {                                     \
  46      if (datum_.dptr) {                     \
  47        scm_ = Scm_MakeString(datum_.dptr, datum_.dsize, -1, SCM_MAKSTR_COPYING); \
  48      } else {                               \
  49        scm_ = SCM_FALSE;                    \
  50      }                                      \
  51    } while (0)
  52 
  53  #define CHECK_NDBM(g)    if (!g->dbf) Scm_Error("ndbm file already closed: %S", g)
  54 
  55  /* Hack for initialization stub */
  56  static void Scm_ndbm_internal_init(ScmModule*);
  57  void Scm_Init_ndbm(void)
  58  {
  59     ScmModule *mod;
  60     SCM_INIT_EXTENSION(ndbm);
  61     mod = SCM_FIND_MODULE("dbm.ndbm", SCM_FIND_MODULE_CREATE);
  62     Scm_InitStaticClass(&Scm_NdbmClass, "<ndbm-file>", mod, NULL, 0);
  63     Scm_ndbm_internal_init(mod);
  64  }
  65  #define Scm_Init_ndbm  Scm_ndbm_internal_init
  66 
  67 static void ndbm_finalize(ScmObj obj, void *data)
  68  {
  69     ScmNdbm *n = SCM_NDBM(obj);
  70     if (n->dbf) { dbm_close(n->dbf); n->dbf = NULL; }
  71  }
  72 
  73 static ScmObj ndbm_ndbm_open(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
  74 {
  75   ScmObj name_scm;
  76   ScmString* name;
  77   ScmObj flags_scm;
  78   int flags;
  79   ScmObj mode_scm;
  80   int mode;
  81   SCM_ENTER_SUBR("ndbm-open");
  82   name_scm = SCM_ARGREF(0);
  83   if (!SCM_STRINGP(name_scm)) Scm_Error("string required, but got %S", name_scm);
  84   name = SCM_STRING(name_scm);
  85   flags_scm = SCM_ARGREF(1);
  86   if (!SCM_INTP(flags_scm)) Scm_Error("small integer required, but got %S", flags_scm);
  87   flags = SCM_INT_VALUE(flags_scm);
  88   mode_scm = SCM_ARGREF(2);
  89   if (!SCM_INTP(mode_scm)) Scm_Error("small integer required, but got %S", mode_scm);
  90   mode = SCM_INT_VALUE(mode_scm);
  91   {
  92  ScmNdbm *z = SCM_NEW(ScmNdbm);
  93   SCM_SET_CLASS(z, SCM_CLASS_NDBM);
  94   Scm_RegisterFinalizer(SCM_OBJ(z), ndbm_finalize, NULL);
  95   z->name = SCM_OBJ(name);
  96   z->dbf = dbm_open(Scm_GetString(name), flags, mode);
  97   if (z->dbf == NULL) Scm_SysError("couldn't open ndbm file %S", name);
  98   SCM_RETURN(SCM_OBJ(z));
  99   }
 100 }
 101 
 102 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_open__NAME, "ndbm-open", 9, 9);
 103 static SCM_DEFINE_SUBR(ndbm_ndbm_open__STUB, 3, 0, SCM_OBJ(&ndbm_ndbm_open__NAME), ndbm_ndbm_open, NULL, NULL);
 104 
 105 static ScmObj ndbm_ndbm_close(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 106 {
 107   ScmObj ndbm_scm;
 108   ScmNdbm* ndbm;
 109   SCM_ENTER_SUBR("ndbm-close");
 110   ndbm_scm = SCM_ARGREF(0);
 111   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 112   ndbm = SCM_NDBM(ndbm_scm);
 113   {
 114 if (ndbm->dbf) {
 115   dbm_close(ndbm->dbf);
 116   ndbm->dbf = NULL;
 117 }
 118 SCM_RETURN(SCM_UNDEFINED);
 119   }
 120 }
 121 
 122 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_close__NAME, "ndbm-close", 10, 10);
 123 static SCM_DEFINE_SUBR(ndbm_ndbm_close__STUB, 1, 0, SCM_OBJ(&ndbm_ndbm_close__NAME), ndbm_ndbm_close, NULL, NULL);
 124 
 125 static ScmObj ndbm_ndbm_closedP(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 126 {
 127   ScmObj ndbm_scm;
 128   ScmNdbm* ndbm;
 129   SCM_ENTER_SUBR("ndbm-closed?");
 130   ndbm_scm = SCM_ARGREF(0);
 131   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 132   ndbm = SCM_NDBM(ndbm_scm);
 133   {
 134 {
 135 int SCM_RESULT;
 136  SCM_RESULT = (ndbm->dbf == NULL);
 137 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
 138 }
 139   }
 140 }
 141 
 142 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_closedP__NAME, "ndbm-closed?", 12, 12);
 143 static SCM_DEFINE_SUBR(ndbm_ndbm_closedP__STUB, 1, 0, SCM_OBJ(&ndbm_ndbm_closedP__NAME), ndbm_ndbm_closedP, NULL, NULL);
 144 
 145 static ScmObj ndbm_ndbm_store(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 146 {
 147   ScmObj ndbm_scm;
 148   ScmNdbm* ndbm;
 149   ScmObj key_scm;
 150   ScmString* key;
 151   ScmObj val_scm;
 152   ScmString* val;
 153   ScmObj flags_scm;
 154   int flags;
 155   ScmObj SCM_OPTARGS = SCM_ARGREF(SCM_ARGCNT-1);
 156   SCM_ENTER_SUBR("ndbm-store");
 157   if (Scm_Length(SCM_OPTARGS) > 1)
 158     Scm_Error("too many arguments: up to 1 is expected, %d given.", Scm_Length(SCM_OPTARGS));
 159   ndbm_scm = SCM_ARGREF(0);
 160   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 161   ndbm = SCM_NDBM(ndbm_scm);
 162   key_scm = SCM_ARGREF(1);
 163   if (!SCM_STRINGP(key_scm)) Scm_Error("string required, but got %S", key_scm);
 164   key = SCM_STRING(key_scm);
 165   val_scm = SCM_ARGREF(2);
 166   if (!SCM_STRINGP(val_scm)) Scm_Error("string required, but got %S", val_scm);
 167   val = SCM_STRING(val_scm);
 168   if (SCM_NULLP(SCM_OPTARGS)) flags_scm = Scm_MakeInteger(0);
 169   else {
 170     flags_scm = SCM_CAR(SCM_OPTARGS);
 171     SCM_OPTARGS = SCM_CDR(SCM_OPTARGS);
 172   }
 173   if (!SCM_INTP(flags_scm)) Scm_Error("small integer required, but got %S", flags_scm);
 174   flags = SCM_INT_VALUE(flags_scm);
 175   {
 176 {
 177 int SCM_RESULT;
 178 datum dkey, dval;
 179 CHECK_NDBM(ndbm);
 180 TO_DATUM(dkey, key);
 181 TO_DATUM(dval, val);
 182 SCM_RESULT = dbm_store(ndbm->dbf, dkey, dval, flags);
 183 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
 184 }
 185   }
 186 }
 187 
 188 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_store__NAME, "ndbm-store", 10, 10);
 189 static SCM_DEFINE_SUBR(ndbm_ndbm_store__STUB, 3, 1, SCM_OBJ(&ndbm_ndbm_store__NAME), ndbm_ndbm_store, NULL, NULL);
 190 
 191 static ScmObj ndbm_ndbm_fetch(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 192 {
 193   ScmObj ndbm_scm;
 194   ScmNdbm* ndbm;
 195   ScmObj key_scm;
 196   ScmString* key;
 197   SCM_ENTER_SUBR("ndbm-fetch");
 198   ndbm_scm = SCM_ARGREF(0);
 199   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 200   ndbm = SCM_NDBM(ndbm_scm);
 201   key_scm = SCM_ARGREF(1);
 202   if (!SCM_STRINGP(key_scm)) Scm_Error("string required, but got %S", key_scm);
 203   key = SCM_STRING(key_scm);
 204   {
 205 {
 206 ScmObj SCM_RESULT;
 207 datum dkey, dval;
 208 CHECK_NDBM(ndbm);
 209 TO_DATUM(dkey, key);
 210 dval = dbm_fetch(ndbm->dbf, dkey);
 211 FROM_DATUM(SCM_RESULT, dval);
 212 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
 213 }
 214   }
 215 }
 216 
 217 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_fetch__NAME, "ndbm-fetch", 10, 10);
 218 static SCM_DEFINE_SUBR(ndbm_ndbm_fetch__STUB, 2, 0, SCM_OBJ(&ndbm_ndbm_fetch__NAME), ndbm_ndbm_fetch, NULL, NULL);
 219 
 220 static ScmObj ndbm_ndbm_existsP(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 221 {
 222   ScmObj ndbm_scm;
 223   ScmNdbm* ndbm;
 224   ScmObj key_scm;
 225   ScmString* key;
 226   SCM_ENTER_SUBR("ndbm-exists?");
 227   ndbm_scm = SCM_ARGREF(0);
 228   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 229   ndbm = SCM_NDBM(ndbm_scm);
 230   key_scm = SCM_ARGREF(1);
 231   if (!SCM_STRINGP(key_scm)) Scm_Error("string required, but got %S", key_scm);
 232   key = SCM_STRING(key_scm);
 233   {
 234 {
 235 int SCM_RESULT;
 236 datum dkey, dval;
 237 CHECK_NDBM(ndbm);
 238 TO_DATUM(dkey, key);
 239 dval = dbm_fetch(ndbm->dbf, dkey);
 240 SCM_RESULT = (dval.dptr != NULL);
 241 SCM_RETURN(SCM_MAKE_BOOL(SCM_RESULT));
 242 }
 243   }
 244 }
 245 
 246 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_existsP__NAME, "ndbm-exists?", 12, 12);
 247 static SCM_DEFINE_SUBR(ndbm_ndbm_existsP__STUB, 2, 0, SCM_OBJ(&ndbm_ndbm_existsP__NAME), ndbm_ndbm_existsP, NULL, NULL);
 248 
 249 static ScmObj ndbm_ndbm_delete(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 250 {
 251   ScmObj ndbm_scm;
 252   ScmNdbm* ndbm;
 253   ScmObj key_scm;
 254   ScmString* key;
 255   SCM_ENTER_SUBR("ndbm-delete");
 256   ndbm_scm = SCM_ARGREF(0);
 257   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 258   ndbm = SCM_NDBM(ndbm_scm);
 259   key_scm = SCM_ARGREF(1);
 260   if (!SCM_STRINGP(key_scm)) Scm_Error("string required, but got %S", key_scm);
 261   key = SCM_STRING(key_scm);
 262   {
 263 {
 264 int SCM_RESULT;
 265 datum dkey;
 266 CHECK_NDBM(ndbm);
 267 TO_DATUM(dkey, key);
 268 SCM_RESULT = dbm_delete(ndbm->dbf, dkey);
 269 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
 270 }
 271   }
 272 }
 273 
 274 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_delete__NAME, "ndbm-delete", 11, 11);
 275 static SCM_DEFINE_SUBR(ndbm_ndbm_delete__STUB, 2, 0, SCM_OBJ(&ndbm_ndbm_delete__NAME), ndbm_ndbm_delete, NULL, NULL);
 276 
 277 static ScmObj ndbm_ndbm_firstkey(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 278 {
 279   ScmObj ndbm_scm;
 280   ScmNdbm* ndbm;
 281   SCM_ENTER_SUBR("ndbm-firstkey");
 282   ndbm_scm = SCM_ARGREF(0);
 283   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 284   ndbm = SCM_NDBM(ndbm_scm);
 285   {
 286 {
 287 ScmObj SCM_RESULT;
 288 datum dkey;
 289 CHECK_NDBM(ndbm);
 290 dkey = dbm_firstkey(ndbm->dbf);
 291 FROM_DATUM(SCM_RESULT, dkey);
 292 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
 293 }
 294   }
 295 }
 296 
 297 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_firstkey__NAME, "ndbm-firstkey", 13, 13);
 298 static SCM_DEFINE_SUBR(ndbm_ndbm_firstkey__STUB, 1, 0, SCM_OBJ(&ndbm_ndbm_firstkey__NAME), ndbm_ndbm_firstkey, NULL, NULL);
 299 
 300 static ScmObj ndbm_ndbm_nextkey(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 301 {
 302   ScmObj ndbm_scm;
 303   ScmNdbm* ndbm;
 304   SCM_ENTER_SUBR("ndbm-nextkey");
 305   ndbm_scm = SCM_ARGREF(0);
 306   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 307   ndbm = SCM_NDBM(ndbm_scm);
 308   {
 309 {
 310 ScmObj SCM_RESULT;
 311 datum dkey;
 312 CHECK_NDBM(ndbm);
 313 dkey = dbm_nextkey(ndbm->dbf);
 314 FROM_DATUM(SCM_RESULT, dkey);
 315 SCM_RETURN(SCM_OBJ_SAFE(SCM_RESULT));
 316 }
 317   }
 318 }
 319 
 320 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_nextkey__NAME, "ndbm-nextkey", 12, 12);
 321 static SCM_DEFINE_SUBR(ndbm_ndbm_nextkey__STUB, 1, 0, SCM_OBJ(&ndbm_ndbm_nextkey__NAME), ndbm_ndbm_nextkey, NULL, NULL);
 322 
 323 static ScmObj ndbm_ndbm_error(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 324 {
 325   ScmObj ndbm_scm;
 326   ScmNdbm* ndbm;
 327   SCM_ENTER_SUBR("ndbm-error");
 328   ndbm_scm = SCM_ARGREF(0);
 329   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 330   ndbm = SCM_NDBM(ndbm_scm);
 331   {
 332 {
 333 int SCM_RESULT;
 334 CHECK_NDBM(ndbm);
 335 SCM_RESULT = dbm_error(ndbm->dbf);
 336 SCM_RETURN(Scm_MakeInteger(SCM_RESULT));
 337 }
 338   }
 339 }
 340 
 341 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_error__NAME, "ndbm-error", 10, 10);
 342 static SCM_DEFINE_SUBR(ndbm_ndbm_error__STUB, 1, 0, SCM_OBJ(&ndbm_ndbm_error__NAME), ndbm_ndbm_error, NULL, NULL);
 343 
 344 static ScmObj ndbm_ndbm_clearerror(ScmObj *SCM_FP, int SCM_ARGCNT, void *data_)
 345 {
 346   ScmObj ndbm_scm;
 347   ScmNdbm* ndbm;
 348   SCM_ENTER_SUBR("ndbm-clearerror");
 349   ndbm_scm = SCM_ARGREF(0);
 350   if (!SCM_NDBMP(ndbm_scm)) Scm_Error("<ndbm> required, but got %S", ndbm_scm);
 351   ndbm = SCM_NDBM(ndbm_scm);
 352   {
 353 CHECK_NDBM(ndbm);
 354 dbm_clearerr(ndbm->dbf);
 355 SCM_RETURN(SCM_UNDEFINED);
 356   }
 357 }
 358 
 359 static SCM_DEFINE_STRING_CONST(ndbm_ndbm_clearerror__NAME, "ndbm-clearerror", 15, 15);
 360 static SCM_DEFINE_SUBR(ndbm_ndbm_clearerror__STUB, 1, 0, SCM_OBJ(&ndbm_ndbm_clearerror__NAME), ndbm_ndbm_clearerror, NULL, NULL);
 361 
 362 static SCM_DEFINE_STRING_CONST(ndbm_DBM_INSERT__VAR__NAME, "DBM_INSERT", 10, 10);
 363 static ScmObj ndbm_DBM_INSERT__VAR = SCM_UNBOUND;
 364 static SCM_DEFINE_STRING_CONST(ndbm_DBM_REPLACE__VAR__NAME, "DBM_REPLACE", 11, 11);
 365 static ScmObj ndbm_DBM_REPLACE__VAR = SCM_UNBOUND;
 366 static SCM_DEFINE_STRING_CONST(ndbm_O_RDONLY__VAR__NAME, "O_RDONLY", 8, 8);
 367 static ScmObj ndbm_O_RDONLY__VAR = SCM_UNBOUND;
 368 static SCM_DEFINE_STRING_CONST(ndbm_O_WRONLY__VAR__NAME, "O_WRONLY", 8, 8);
 369 static ScmObj ndbm_O_WRONLY__VAR = SCM_UNBOUND;
 370 static SCM_DEFINE_STRING_CONST(ndbm_O_RDWR__VAR__NAME, "O_RDWR", 6, 6);
 371 static ScmObj ndbm_O_RDWR__VAR = SCM_UNBOUND;
 372 static SCM_DEFINE_STRING_CONST(ndbm_O_CREAT__VAR__NAME, "O_CREAT", 7, 7);
 373 static ScmObj ndbm_O_CREAT__VAR = SCM_UNBOUND;
 374 static SCM_DEFINE_STRING_CONST(ndbm_O_TRUNC__VAR__NAME, "O_TRUNC", 7, 7);
 375 static ScmObj ndbm_O_TRUNC__VAR = SCM_UNBOUND;
 376 void Scm_Init_ndbm(ScmModule *module)
 377 {
 378 
 379   ndbm_O_TRUNC__VAR = Scm_Intern(&ndbm_O_TRUNC__VAR__NAME);
 380   Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(ndbm_O_TRUNC__VAR)), SCM_OBJ(Scm_MakeInteger(O_TRUNC)));
 381   ndbm_O_CREAT__VAR = Scm_Intern(&ndbm_O_CREAT__VAR__NAME);
 382   Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(ndbm_O_CREAT__VAR)), SCM_OBJ(Scm_MakeInteger(O_CREAT)));
 383   ndbm_O_RDWR__VAR = Scm_Intern(&ndbm_O_RDWR__VAR__NAME);
 384   Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(ndbm_O_RDWR__VAR)), SCM_OBJ(Scm_MakeInteger(O_RDWR)));
 385   ndbm_O_WRONLY__VAR = Scm_Intern(&ndbm_O_WRONLY__VAR__NAME);
 386   Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(ndbm_O_WRONLY__VAR)), SCM_OBJ(Scm_MakeInteger(O_WRONLY)));
 387   ndbm_O_RDONLY__VAR = Scm_Intern(&ndbm_O_RDONLY__VAR__NAME);
 388   Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(ndbm_O_RDONLY__VAR)), SCM_OBJ(Scm_MakeInteger(O_RDONLY)));
 389   ndbm_DBM_REPLACE__VAR = Scm_Intern(&ndbm_DBM_REPLACE__VAR__NAME);
 390   Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(ndbm_DBM_REPLACE__VAR)), SCM_OBJ(Scm_MakeInteger(DBM_REPLACE)));
 391   ndbm_DBM_INSERT__VAR = Scm_Intern(&ndbm_DBM_INSERT__VAR__NAME);
 392   Scm_DefineConst(module, SCM_SYMBOL(SCM_OBJ(ndbm_DBM_INSERT__VAR)), SCM_OBJ(Scm_MakeInteger(DBM_INSERT)));
 393   SCM_DEFINE(module, "ndbm-clearerror", SCM_OBJ(&ndbm_ndbm_clearerror__STUB));
 394   SCM_DEFINE(module, "ndbm-error", SCM_OBJ(&ndbm_ndbm_error__STUB));
 395   SCM_DEFINE(module, "ndbm-nextkey", SCM_OBJ(&ndbm_ndbm_nextkey__STUB));
 396   SCM_DEFINE(module, "ndbm-firstkey", SCM_OBJ(&ndbm_ndbm_firstkey__STUB));
 397   SCM_DEFINE(module, "ndbm-delete", SCM_OBJ(&ndbm_ndbm_delete__STUB));
 398   SCM_DEFINE(module, "ndbm-exists?", SCM_OBJ(&ndbm_ndbm_existsP__STUB));
 399   SCM_DEFINE(module, "ndbm-fetch", SCM_OBJ(&ndbm_ndbm_fetch__STUB));
 400   SCM_DEFINE(module, "ndbm-store", SCM_OBJ(&ndbm_ndbm_store__STUB));
 401   SCM_DEFINE(module, "ndbm-closed?", SCM_OBJ(&ndbm_ndbm_closedP__STUB));
 402   SCM_DEFINE(module, "ndbm-close", SCM_OBJ(&ndbm_ndbm_close__STUB));
 403   SCM_DEFINE(module, "ndbm-open", SCM_OBJ(&ndbm_ndbm_open__STUB));
 404 }

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