useDynLib(RBerkeley)

export(
        ### Utility ###
        mkFlags,
        db_version,
        db_strerror,

        ### DBT ###
        DBT,

        ### Cursor ###
        db_cursor,
        dbcursor_close,
        dbcursor_count,
        dbcursor_del,
        dbcursor_dup,
        dbcursor_get,
        dbcursor_put,
        dbcursor_set_priority,
        dbcursor_get_priority,

        ### Database ###
        db_create,
        db_open,
        db_close,
        db_compact,
        db_truncate,
        db_remove,
        db_rename,
        db_upgrade,
        db_get_dbname,
        db_get_type,
        db_sync,

        db_exists,
        db_del,
        db_put,
        db_get, db_getP, # experimental partial get. See DBT
        db_key_range,

        db_set_cachesize,
        db_get_cachesize,
        db_set_pagesize,
        db_get_pagesize,
        db_set_priority,
        db_get_priority,
        db_set_flags,
        db_get_flags,
        db_set_errpfx,
        db_get_errpfx,
        db_set_errfile,
        db_set_msgfile,
        db_set_re_source,

        db_get_byteswapped,
        db_stat,
        db_stat_print,

        db_set_encrypt,
        db_get_encrypt_flags,

        db_set_lorder,
        db_get_lorder,

        ### Environments ###
        db_env_create,
        db_get_env,
        dbenv_open,
        dbenv_get_home,
        dbenv_get_open_flags,
        dbenv_close,
        dbenv_remove,
        dbenv_dbremove,
        dbenv_dbrename,

        dbenv_stat_print,
        dbenv_set_cachesize,
        dbenv_get_cachesize,
        dbenv_set_data_dir,
        dbenv_get_data_dirs,
        dbenv_set_tmp_dir,
        dbenv_get_tmp_dir,
        dbenv_set_flags,
        dbenv_get_flags,
        dbenv_set_shm_key,
        dbenv_get_shm_key,
        dbenv_set_intermediate_dir_mode,
        dbenv_get_intermediate_dir_mode,
        dbenv_set_verbose,
        dbenv_get_verbose,

        ### Mutexes ###
        dbenv_mutex_alloc,
        dbenv_mutex_free,
        dbenv_mutex_stat_print,
        dbenv_mutex_lock,
        dbenv_mutex_unlock,

        ### Memory Pools ###
        db_get_mpf,
        dbenv_memp_stat_print,

        ### Transactions ###
        dbenv_txn_stat_print,
        dbenv_txn_begin,
        dbtxn_abort,
        dbtxn_commit,
        dbtxn_id
      )

S3method(print, DB)
