anchor.diff:    (fpow :int8)
     (opts bdb-options))
   
  -(cffi:defcfun ("tcbdbsetcache" tcbdbsetcache) :pointer
  +(defcfun ("tcbdbsetcache" tcbdbsetcache) :pointer
     (bdb :pointer)
     (lcnum :pointer)
     (ncnum :pointer))
   
  -(cffi:defcfun ("tcbdbsetxmsiz" tcbdbsetxmsiz) :boolean
  +(defcfun ("tcbdbsetxmsiz" tcbdbsetxmsiz) :boolean
     (bdb :pointer)
     (xmsiz :int64))
   
  -(cffi:defcfun ("tcbdbopen" tcbdbopen) :boolean
  +(defcfun ("tcbdbopen" tcbdbopen) :boolean
     (bdb :pointer)
     (path :string)
     (mode bdb-open-flags))
   
  -(cffi:defcfun ("tcbdbclose" tcbdbclose) :boolean
  -  (bdb :pointer))
  -
  -(cffi:defcfun ("tcbdbput" tcbdbput) :boolean
  -  (bdb :pointer)
  -  (kbuf :pointer)
  -  (ksiz :int)
  -  (vbuf :pointer)
  -  (vsiz :int))
  -
  -(cffi:defcfun ("tcbdbput2" tcbdbput2) :boolean
  -  (bdb :pointer)
  -  (kstr :string)
  -  (vstr :string))
  -
  -(cffi:defcfun ("tcbdbputkeep" tcbdbputkeep) :boolean
  -  (bdb :pointer)
  -  (kbuf :pointer)
  -  (ksiz :int)
  -  (vbuf :pointer)
  -  (vsiz :int))
  -
  -(cffi:defcfun ("tcbdbputkeep2" tcbdbputkeep2) :boolean
  -  (bdb :pointer)
  -  (kstr :string)
  -  (vstr :string))
  -
  -(cffi:defcfun ("tcbdbputcat" tcbdbputcat) :boolean
  -  (bdb :pointer)
  -  (kbuf :pointer)
  -  (ksiz :int)
  -  (vbuf :pointer)
  -  (vsiz :int))
  -
  -(cffi:defcfun ("tcbdbputcat2" tcbdbputcat2) :boolean
  -  (bdb :pointer)
  -  (kstr :string)
  -  (vstr :string))
  -
  -(cffi:defcfun ("tcbdbputdup" tcbdbputdup) :boolean
  -  (bdb :pointer)
  -  (kbuf :pointer)
  -  (ksiz :int)
  -  (vbuf :pointer)
  -  (vsiz :int))
  -
  -(cffi:defcfun ("tcbdbputdup2" tcbdbputdup2) :boolean
  -  (bdb :pointer)
  -  (kstr :string)
  -  (vstr :string))
  -
  -(cffi:defcfun ("tcbdbputdup3" tcbdbputdup3) :boolean
  +(defcfun ("tcbdbclose" tcbdbclose) :boolean
  +  (bdb :pointer))
  +
  +(defcfun ("tcbdbput" tcbdbput) :boolean
  +  (bdb :pointer)
  +  (kbuf :pointer)
  +  (ksiz :int)
  +  (vbuf :pointer)
  +  (vsiz :int))
  +
  +(defcfun ("tcbdbput2" tcbdbput2) :boolean
  +  (bdb :pointer)
  +  (kstr :string)
  +  (vstr :string))
  +
  +(defcfun ("tcbdbputkeep" tcbdbputkeep) :boolean
  +  (bdb :pointer)
  +  (kbuf :pointer)
  +  (ksiz :int)
  +  (vbuf :pointer)
  +  (vsiz :int))
  +
  +(defcfun ("tcbdbputkeep2" tcbdbputkeep2) :boolean
  +  (bdb :pointer)
  +  (kstr :string)
  +  (vstr :string))
  +
  +(defcfun ("tcbdbputcat" tcbdbputcat) :boolean
  +  (bdb :pointer)
  +  (kbuf :pointer)
  +  (ksiz :int)
  +  (vbuf :pointer)
  +  (vsiz :int))
  +
  +(defcfun ("tcbdbputcat2" tcbdbputcat2) :boolean
  +  (bdb :pointer)
  +  (kstr :string)
  +  (vstr :string))
  +
  +(defcfun ("tcbdbputdup" tcbdbputdup) :boolean
  +  (bdb :pointer)
  +  (kbuf :pointer)
  +  (ksiz :int)
  +  (vbuf :pointer)
  +  (vsiz :int))
  +
  +(defcfun ("tcbdbputdup2" tcbdbputdup2) :boolean
  +  (bdb :pointer)
  +  (kstr :string)
  +  (vstr :string))
  +
  +(defcfun ("tcbdbputdup3" tcbdbputdup3) :boolean
     (bdb :pointer)
     (kbuf :pointer)
     (ksiz :int)
     (vals :pointer))
   
  -(cffi:defcfun ("tcbdbout" tcbdbout) :boolean
  +(defcfun ("tcbdbout" tcbdbout) :boolean
     (bdb :pointer)
     (kbuf :pointer)
     (ksiz :int))
   
  -(cffi:defcfun ("tcbdbout2" tcbdbout2) :boolean
  -  (bdb :pointer)
  -  (kstr :string))
  -
  -(cffi:defcfun ("tcbdbout3" tcbdbout3) :boolean
  +(defcfun ("tcbdbout2" tcbdbout2) :boolean
  +  (bdb :pointer)
  +  (kstr :string))
  +
  +(defcfun ("tcbdbout3" tcbdbout3) :boolean
     (bdb :pointer)
     (kbuf :pointer)
     (ksiz :int))
   
  -(cffi:defcfun ("tcbdbget" tcbdbget) :pointer
  +(defcfun ("tcbdbget" tcbdbget) :pointer
     (bdb :pointer)
     (kbuf :pointer)
     (ksiz :int)
     (sp :pointer))
   
  -(cffi:defcfun ("tcbdbget2" tcbdbget2) :pointer
  -  (bdb :pointer)
  -  (kstr :string))
  -
  -;; (cffi:defcfun ("tcbdbget3" tcbdbget3) :pointer
  +(defcfun ("tcbdbget2" tcbdbget2) :pointer
  +  (bdb :pointer)
  +  (kstr :string))
  +
  +;; (defcfun ("tcbdbget3" tcbdbget3) :pointer
   ;;   (bdb :pointer)
   ;;   (kbuf :pointer)
   ;;   (ksiz :int)
   ;;   (sp :pointer))
   
  -;; (cffi:defcfun ("tcbdbget4" tcbdbget4) :pointer
  +;; (defcfun ("tcbdbget4" tcbdbget4) :pointer
   ;;   (bdb :pointer)
   ;;   (kbuf :pointer)
   ;;   (ksiz :int))
   
  -(cffi:defcfun ("tcbdbvnum" tcbdbvnum) :int
  +(defcfun ("tcbdbvnum" tcbdbvnum) :int
     (bdb :pointer)
     (kbuf :pointer)
     (ksiz :int))
   
  -(cffi:defcfun ("tcbdbvnum2" tcbdbvnum2) :int
  -  (bdb :pointer)
  -  (kstr :string))
  -
  -(cffi:defcfun ("tcbdbvsiz" tcbdbvsiz) :int
  +(defcfun ("tcbdbvnum2" tcbdbvnum2) :int
  +  (bdb :pointer)
  +  (kstr :string))
  +
  +(defcfun ("tcbdbvsiz" tcbdbvsiz) :int
     (bdb :pointer)
     (kbuf :pointer)
     (ksiz :int))
   
  -(cffi:defcfun ("tcbdbvsiz2" tcbdbvsiz2) :int
  -  (bdb :pointer)
  -  (kstr :string))
  -
  -;; (cffi:defcfun ("tcbdbrange" tcbdbrange) :pointer
  +(defcfun ("tcbdbvsiz2" tcbdbvsiz2) :int
  +  (bdb :pointer)
  +  (kstr :string))
  +
  +;; (defcfun ("tcbdbrange" tcbdbrange) :pointer
   ;;   (bdb :pointer)
   ;;   (bkbuf :pointer)
   ;;   (bksiz :int)
  
positive.code: ;;   (einc :pointer)
  ;;   (max :int))
  
  ;; (cffi:defcfun ("tcbdbfwmkeys" tcbdbfwmkeys) :pointer
  ;;   (bdb :pointer)
  ;;   (pbuf :pointer)
  ;;   (psiz :int)
  ;;   (max :int))
  
  ;; (cffi:defcfun ("tcbdbfwmkeys2" tcbdbfwmkeys2) :pointer
  ;;   (bdb :pointer)
  ;;   (pstr :string)
  ;;   (max :int))
  
  (cffi:defcfun ("tcbdbsync" tcbdbsync) :boolean
    (bdb :pointer))
  
  (cffi:defcfun ("tcbdboptimize" tcbdboptimize) :boolean
    (bdb :pointer)
    (lmemb :int32)
    (nmemb :int32)
  
negative.code:   (fpow :int8)
    (opts bdb-options))
  
  (defcfun ("tcbdbvanish" tcbdbvanish) :boolean
    (bdb :pointer))
  
  (defcfun ("tcbdbcopy" tcbdbcopy) :pointer
    (bdb :pointer)
    (path :string))
  
  (defcfun ("tcbdbtranbegin" tcbdbtranbegin) :boolean
    (bdb :pointer))
  
  (defcfun ("tcbdbtrancommit" tcbdbtrancommit) :boolean
    (bdb :pointer))
  
  (defcfun ("tcbdbtranabort" tcbdbtranabort) :boolean
    (bdb :pointer))
  
  (defcfun ("tcbdbpath" tcbdbpath) :string
    (bdb :pointer))
  
  (defcfun ("tcbdbrnum" tcbdbrnum) :uint64
    (bdb :pointer))
  
  (defcfun ("tcbdbfsiz" tcbdbfsiz) :uint64
    (bdb :pointer))
  
  (defcfun ("tcbdbcurnew" tcbdbcurnew) :pointer
    (bdb :pointer))
  
  (defcfun ("tcbdbcurdel" tcbdbcurdel) :void
    (cur :pointer))
  
  (defcfun ("tcbdbcurfirst" tcbdbcurfirst) :boolean
    (cur :pointer))
  
  (defcfun ("tcbdbcurlast" tcbdbcurlast) :boolean
    (cur :pointer))
  
  (defcfun ("tcbdbcurjump" tcbdbcurjump) :boolean
    (cur :pointer)
    (kbuf :pointer)
    (ksiz :int))
  
  (defcfun ("tcbdbcurjump2" tcbdbcurjump2) :boolean
    (cur :pointer)
    (kstr :string))
  
  (defcfun ("tcbdbcurprev" tcbdbcurprev) :boolean
    (cur :pointer))
  
  (defcfun ("tcbdbcurnext" tcbdbcurnext) :boolean
    (cur :pointer))
  
  (defcfun ("tcbdbcurput" tcbdbcurput) :boolean
    (cur :pointer)
    (vbuf :pointer)
    (vsiz :int)
    (cpmode :int))
  
  (defcfun ("tcbdbcurput2" tcbdbcurput2) :boolean
    (cur :pointer)
    (vstr :string)
    (cpmode :int))
  
  (defcfun ("tcbdbcurout" tcbdbcurout) :pointer
    (cur :pointer))
  
  (defcfun ("tcbdbcurkey" tcbdbcurkey) :pointer
    (cur :pointer)
    (sp :pointer))
  
  (defcfun ("tcbdbcurkey2" tcbdbcurkey2) :pointer
    (cur :pointer))
  
  (defcfun ("tcbdbcurkey3" tcbdbcurkey3) :pointer
    (cur :pointer)
    (sp :pointer))
  
  (defcfun ("tcbdbcurval" tcbdbcurval) :pointer
    (cur :pointer)
    (sp :pointer))
  
  (defcfun ("tcbdbcurval2" tcbdbcurval2) :pointer
    (cur :pointer))
  
  (defcfun ("tcbdbcurval3" tcbdbcurval3) :pointer
    (cur :pointer)
    (sp :pointer))
  
  (defcfun ("tcbdbcurrec" tcbdbcurrec) :pointer
    (cur :pointer)
    (kxstr :pointer)
    (vxstr :pointer))
  
  
  ;; (defcfun ("tclistnew" tclistnew) :pointer)
  
  ;; (defcfun ("tclistnew2" tclistnew2) :pointer
  ;;   (anum :int))
  
  ;; (defcfun ("tclistdup" tclistdup) :pointer
  ;;   (list :pointer))
  
  ;; (defcfun ("tclistdel" tclistdel) :void
  ;;   (list :pointer))
  
  ;; (defcfun ("tclistnum" tclistnum) :int
  ;;   (list :pointer))
  
  ;; (defcfun ("tclistval" tclistval) :pointer
  ;;   (list :pointer)
  ;;   (index :int)
  ;;   (sp :pointer))
  
  ;; (defcfun ("tclistval2" tclistval2) :string
  ;;   (list :pointer)
  ;;   (index :int))
  
  ;; (defcfun ("tclistpush" tclistpush) :void
  ;;   (list :pointer)
  ;;   (ptr :pointer)
  ;;   (size :int))
  
  ;; (defcfun ("tclistpush2" tclistpush2) :void
  ;;   (list :pointer)
  ;;   (str :string))
  
  ;; (defcfun ("tclistpushmalloc" tclistpushmalloc) :void
  ;;   (list :pointer)
  ;;   (ptr :pointer)
  ;;   (size :int))
  
  ;; (defcfun ("tclistpop" tclistpop) :pointer
  ;;   (list :pointer)
  ;;   (sp :pointer))
  
  ;; (defcfun ("tclistpop2" tclistpop2) :string
  ;;   (list :pointer))
  
  ;; (defcfun ("tclistunshift" tclistunshift) :void
  ;;   (list :pointer)
  ;;   (ptr :pointer)
  ;;   (size :int))
  
  ;; (defcfun ("tclistunshift2" tclistunshift2) :void
  ;;   (list :pointer)
  ;;   (str :string))
  
  ;; (defcfun ("tclistshift" tclistshift) :pointer
  ;;   (list :pointer)
  ;;   (sp :pointer))
  
  ;; (defcfun ("tclistshift2" tclistshift2) :string
  ;;   (list :pointer))
  
  ;; (defcfun ("tclistinsert" tclistinsert) :void
  ;;   (list :pointer)
  ;;   (index :int)
  ;;   (ptr :pointer)
  ;;   (size :int))
  
  ;; (defcfun ("tclistinsert2" tclistinsert2) :void
  ;;   (list :pointer)
  ;;   (index :int)
  ;;   (str :string))
  
  ;; (defcfun ("tclistremove" tclistremove) :pointer
  ;;   (list :pointer)
  ;;   (index :int)
  ;;   (sp :pointer))
  
  ;; (defcfun ("tclistremove2" tclistremove2) :string
  ;;   (list :pointer)
  ;;   (index :int))
  
  ;; (defcfun ("tclistover" tclistover) :void
  ;;   (list :pointer)
  ;;   (index :int)
  ;;   (ptr :pointer)
  ;;   (size :int))
  
  ;; (defcfun ("tclistover2" tclistover2) :void
  ;;   (list :pointer)
  ;;   (index :int)
  ;;   (str :string))
  
  ;; (defcfun ("tclistsort" tclistsort) :void
  ;;   (list :pointer))
  
  ;; (defcfun ("tclistsortci" tclistsortci) :void
  ;;   (list :pointer))
  
  ;; (defcfun ("tclistsortex" tclistsortex) :void
  ;;   (list :pointer)
  ;;   (cmp :pointer))
  
  ;; (defcfun ("tclistlsearch" tclistlsearch) :int
  ;;   (list :pointer)
  ;;   (ptr :pointer)
  ;;   (size :int))
  
  ;; (defcfun ("tclistbsearch" tclistbsearch) :int
  ;;   (list :pointer)
  ;;   (ptr :pointer)
  ;;   (size :int))
  
  ;; (defcfun ("tclistclear" tclistclear) :void
  ;;   (list :pointer))
  
  ;; (defcfun ("tclistdump" tclistdump) :pointer
  ;;   (list :pointer)
  ;;   (sp :pointer))
  
  ;; (defcfun ("tclistload" tclistload) :pointer
  ;;   (ptr :pointer)
  ;;   (size :int))
  
  
  (defcfun ("tchdberrmsg" tchdberrmsg) :string
    (ecode :int))
  
  (defcfun ("tchdbnew" tchdbnew) :pointer)
  
  (defcfun ("tchdbdel" tchdbdel) :void
    (hdb :pointer))
  
  (defcfun ("tchdbecode" tchdbecode) :int
    (hdb :pointer))
  
  ;; (defcfun ("tchdbsetmutex" tchdbsetmutex) :pointer
  ;;   (hdb :pointer))
  
  (defcfun ("tchdbtune" tchdbtune) :boolean
    (hdb :pointer)
    (bnum :int64)
    (apow :int8)
    (fpow :int8)
    (opts hdb-options))
  
  (defcfun ("tchdbsetcache" tchdbsetcache) :boolean
    (hdb :pointer)
    (rcnum :int32))
  
  (defcfun ("tchdbsetxmsiz" tchdbsetxmsiz) :boolean
    (hdb :pointer)
    (xmsiz :int64))
  
  (defcfun ("tchdbopen" tchdbopen) :boolean
    (hdb :pointer)
    (path :string)
    (mode hdb-open-flags))
  
  (defcfun ("tchdbclose" tchdbclose) :boolean
    (hdb :pointer))
  
  (defcfun ("tchdbput" tchdbput) :boolean
    (hdb :pointer)
    (kbuf :pointer)
    (ksiz :int)
    (vbuf :pointer)
    (vsiz :int))
  
  (defcfun ("tchdbput2" tchdbput2) :boolean
    (hdb :pointer)
    (kstr :string)
    (vstr :string))
  
  (defcfun ("tchdbputkeep" tchdbputkeep) :boolean
    (hdb :pointer)
    (kbuf :pointer)
    (ksiz :int)
    (vbuf :pointer)
    (vsiz :int))
  
  (defcfun ("tchdbputkeep2" tchdbputkeep2) :boolean
    (hdb :pointer)
    (kstr :string)
    (vstr :string))
  
  (defcfun ("tchdbputcat" tchdbputcat) :boolean
    (hdb :pointer)
    (kbuf :pointer)
    (ksiz :int)
    (vbuf :pointer)
    (vsiz :int))
  
  (defcfun ("tchdbputcat2" tchdbputcat2) :boolean
    (hdb :pointer)
    (kstr :string)
    (vstr :string))
  
  (defcfun ("tchdbputasync" tchdbputasync) :boolean
    (hdb :pointer)
    (kbuf :pointer)
    (ksiz :int)
    (vbuf :pointer)
    (vsiz :int))
  
  (defcfun ("tchdbputasync2" tchdbputasync2) :boolean
    (hdb :pointer)
    (kstr :string)
    (vstr :string))
  
  (defcfun ("tchdbout" tchdbout) :boolean
    (hdb :pointer)
    (kbuf :pointer)
    (ksiz :int))
  
  (defcfun ("tchdbout2" tchdbout2) :boolean
    (hdb :pointer)
    (kstr :string))
  
  (defcfun ("tchdbget" tchdbget) :pointer
    (hdb :pointer)
    (kbuf :pointer)
    (ksiz :int)
    (sp :pointer))
  
  (defcfun ("tchdbget2" tchdbget2) :pointer
    (hdb :pointer)
    (kstr :string))
  
  ;; (defcfun ("tchdbget3" tchdbget3) :int
  ;;   (hdb :pointer)
  ;;   (kbuf :pointer)
  ;;   (ksiz :int)
  ;;   (vbuf :pointer)
  ;;   (max :int))
  
  (defcfun ("tchdbvsiz" tchdbvsiz) :int
    (hdb :pointer)
    (kbuf :pointer)
    (ksiz :int))
  
  (defcfun ("tchdbvsiz2" tchdbvsiz2) :int
    (hdb :pointer)
    (kstr :string))
  
  (defcfun ("tchdbiterinit" tchdbiterinit) :boolean
    (hdb :pointer))
  
  (defcfun ("tchdbiternext" tchdbiternext) :pointer
    (hdb :pointer)
    (sp :pointer))
  
  (defcfun ("tchdbiternext2" tchdbiternext2) :string
    (hdb :pointer))
  
  (defcfun ("tchdbiternext3" tchdbiternext3) :boolean
    (hdb :pointer)
    (kxstr :pointer)
    (vxstr :pointer))
  
  ;; (defcfun ("tchdbfwmkeys" tchdbfwmkeys) :pointer
  ;;   (hdb :pointer)
  ;;   (pbuf :pointer)
  ;;   (psiz :int)
  ;;   (max :int))
  
  ;; (defcfun ("tchdbfwmkeys2" tchdbfwmkeys2) :pointer
  ;;   (hdb :pointer)
  ;;   (pstr :string)
  ;;   (max :int))
  
  (defcfun ("tchdbsync" tchdbsync) :boolean
    (hdb :pointer))
  
  (defcfun ("tchdboptimize" tchdboptimize) :boolean
    (hdb :pointer)
    (bnum :int64)
    (apow :int8)
    (fpow :int8)
    (opts hdb-options))
  
  (defcfun ("tchdbvanish" tchdbvanish) :boolean
    (hdb :pointer))
  
  (defcfun ("tchdbcopy" tchdbcopy) :pointer
    (hdb :pointer)
    (path :string))
  
  (defcfun ("tchdbtranbegin" tchdbtranbegin) :boolean
    (hdb :pointer))
  
  (defcfun ("tchdbtrancommit" tchdbtrancommit) :boolean
    (hdb :pointer))
  
  (defcfun ("tchdbtranabort" tchdbtranabort) :boolean
    (hdb :pointer))
  
  (defcfun ("tchdbpath" tchdbpath) :string
    (hdb :pointer))
  
  (defcfun ("tchdbrnum" tchdbrnum) :uint64
    (hdb :pointer))
  
  (defcfun ("tchdbfsiz" tchdbfsiz) :uint64
    (hdb :pointer))
  