@@ -84,6 +84,15 @@ def shlib_name(library: str) -> str:
8484OBXValidateOnOpenPagesFlags = ctypes .c_int
8585OBXValidateOnOpenKvFlags = ctypes .c_int
8686OBXBackupRestoreFlags = ctypes .c_int
87+ OBXLogLevel = ctypes .c_int
88+
89+ from enum import IntEnum
90+ class LogLevel (IntEnum ):
91+ Verbose = 10
92+ Debug = 20
93+ Info = 30
94+ Warn = 40
95+ Error = 50
8796
8897class DebugFlags (IntEnum ):
8998 """Debug flags"""
@@ -563,8 +572,11 @@ def c_array_pointer(py_list: Union[List[Any], np.ndarray], c_type):
563572# OBX_C_API void obx_opt_async_object_bytes_max_size_to_cache(OBX_store_options* opt, uint64_t value);
564573obx_opt_async_object_bytes_max_size_to_cache = c_fn ('obx_opt_async_object_bytes_max_size_to_cache' , None , [OBX_store_options_p , ctypes .c_uint64 ])
565574
575+ #typedef void obx_log_callback(OBXLogLevel log_level, const char* message, size_t message_size, void* user_data);
576+ obx_log_callback_fn = ctypes .CFUNCTYPE (None , OBXLogLevel , ctypes .c_char_p , ctypes .c_size_t , ctypes .c_voidp )
577+
566578# OBX_C_API void obx_opt_log_callback(OBX_store_options* opt, obx_log_callback* callback, void* user_data);
567- # obx_opt_log_callback = c_fn('obx_opt_log_callback', None, [OBX_store_options_p, ...]) TODO
579+ obx_opt_log_callback = c_fn ('obx_opt_log_callback' , None , [OBX_store_options_p , obx_log_callback_fn , ctypes . c_voidp ])
568580
569581# OBX_C_API void obx_opt_backup_restore(OBX_store_options* opt, const char* backup_file, uint32_t flags);
570582obx_opt_backup_restore = c_fn ('obx_opt_backup_restore' , None , [OBX_store_options_p , ctypes .c_char_p , OBXBackupRestoreFlags ])
0 commit comments