 ENUM: fdb_encryption_algorithm_t
     { FDB_ENCRYPTION_NONE 0 }
     { FDB_ENCRYPTION_AES256 1 } ;
+
+STRUCT: fdb_doc
+    { keylen size_t }
+    { metalen size_t }
+    { bodylen size_t }
+    { size_ondisk size_t }
+    { key void* }
+    { seqnum fdb_seqnum_t }
+    { offset uint64_t }
+    { meta void* }
+    { body void* }
+    { deleted bool }
+    { flags uint32_t } ;
+
+CALLBACK: void fdb_log_callback ( int err_code, char* err_msg, void* ctx_data )
+CALLBACK: void fdb_fatal_error_callback ( )
+CALLBACK: fdb_compact_decision fdb_compaction_callback (
+                               fdb_file_handle* fhandle,
+                               fdb_compaction_status status,
+                               char* kv_store_name,
+                               fdb_doc* doc,
+                               uint64_t last_oldfile_offset,
+                               uint64_t last_newfile_offset,
+                               void* ctx )
 
 STRUCT: fdb_encryption_key
     { algorithm fdb_encryption_algorithm_t }


TYPEDEF: void* fdb_custom_cmp_fixed
TYPEDEF: void* fdb_custom_cmp_variable
TYPEDEF: void* fdb_fatal_error_callback
TYPEDEF: void* fdb_log_callback
TYPEDEF: void* fdb_file_handle
TYPEDEF: void* fdb_kvs_handle
TYPEDEF: void* fdb_iterator
TYPEDEF: void* fdb_compaction_callback

ENUM: fdb_open_flags
    { FDB_OPEN_FLAG_CREATE 1 }

    { create_if_missing bool }
    { custom_cmp fdb_custom_cmp_variable } ;

! filename is a pointer to the handle's filename
! new_filename is a pointer to the handle's new_file

