 FUNCTION: fdb_status fdb_iterator_close ( fdb_iterator* iterator ) ;
 
 FUNCTION: fdb_status fdb_compact ( fdb_file_handle* handle, c-string new_filename ) ;
-FUNCTION: size_t fdb_estimate_space_used ( fdb_file_handle* fhandle ) ;
+FUNCTION: fdb_status fdb_compact_upto ( fdb_file_handle* handle, c-string new_filename, fdb_snapshot_marker_t marker ) ;
+
 FUNCTION: fdb_status fdb_get_file_info ( fdb_file_handle* handle, fdb_file_info* info ) ;
 FUNCTION: fdb_status fdb_get_kvs_info ( fdb_kvs_handle* handle, fdb_kvs_info* info ) ;
 FUNCTION: fdb_status fdb_get_kvs_seqnum ( fdb_kvs_handle* handle, fdb_seqnum_t* seqnum ) ;
 FUNCTION: fdb_status fdb_get_kvs_name_list ( fdb_kvs_handle* handle, fdb_kvs_name_list* kvs_name_list ) ;
+
+FUNCTION: fdb_status fdb_get_all_snap_markers (
+    fdb_file_handle* fhandle,
+    fdb_snapshot_info_t** markers,
+    uint64_t* size ) ;
+
+FUNCTION: fdb_status fdb_free_snap_markers ( fdb_snapshot_info_t* markers, uint64_t size ) ;
 FUNCTION: fdb_status fdb_free_kvs_name_list ( fdb_kvs_name_list* kvs_name_list ) ;
+
 
 FUNCTION: fdb_status fdb_switch_compaction_mode ( fdb_file_handle* fhandle, fdb_compaction_mode_t mode, size_t new_threshold ) ;
 FUNCTION: fdb_status fdb_close ( fdb_file_handle* fhandle ) ;

TYPEDEF: void* fdb_file_handle
TYPEDEF: void* fdb_kvs_handle
TYPEDEF: void* fdb_iterator

ENUM: fdb_open_flags
    { FDB_OPEN_FLAG_CREATE 1 }

STRUCT: fdb_kvs_name_list
    { num_kvs_names size_t }
    { kvs_names char** } ;

STRUCT: fdb_kvs_commit_marker_t
    { kv_store_name char* }
    { seqnum fdb_seqnum_t } ;

TYPEDEF: uint64_t fdb_snapshot_marker_t

STRUCT: fdb_snapshot_info_t
    { marker fdb_snapshot_marker_t }
    { num_kvs_markers int64_t }
    { kvs_markers fdb_kvs_commit_marker_t* } ;

! end fdb_types.h

