blockdev library

blockdev library — a library for doing low-level operations with block devices

Functions

Types and Values

#define BD_INIT_ERROR
enum BDInitError

Includes

#include <blockdev.h>

Description

Functions

bd_init ()

gboolean
bd_init (BDPluginSpec **require_plugins,
         BDUtilsLogFunc log_func,
         GError **error);

Parameters

require_plugins

NULL-terminated list of plugins that should be loaded (if no so_name is specified for the plugin, the default is used) or NULL to load all plugins.

[allow-none][array zero-terminated=1]

log_func

logging function to use.

[allow-none][scope notified]

error

place to store error (if any).

[out]

Returns

whether the library was successfully initialized or not


bd_try_init ()

gboolean
bd_try_init (BDPluginSpec **require_plugins,
             BDUtilsLogFunc log_func,
             GError **error);

Checks the state of the library and if it is uninitialized, tries to initialize it. Otherwise just returns early. The difference between:

<code> if (!bd_is_initialized()) bd_init(None, None, &error); </code>

and this function is that this function does the check and init in an atomic way (holding the lock preventing other threads from doing changes in between).

Parameters

require_plugins

NULL-terminated list of plugins that should be loaded (if no so_name is specified for the plugin, the default is used) or NULL to load all plugins.

[allow-none][array zero-terminated=1]

log_func

logging function to use.

[allow-none][scope notified]

error

place to store error (if any).

[out]

Returns

whether the library was or had already been successfully initialized or not


bd_reinit ()

gboolean
bd_reinit (BDPluginSpec **require_plugins,
           gboolean reload,
           BDUtilsLogFunc log_func,
           GError **error);

Parameters

require_plugins

NULL-terminated list of plugins that should be loaded (if no so_name is specified for the plugin, the default is used) or NULL to load all plugins.

[allow-none][array zero-terminated=1]

reload

whether to reload the already loaded plugins or not

 

log_func

logging function to use or NULL to keep the old one.

[allow-none][scope notified]

error

place to store error (if any).

[out]

Returns

whether the library was successfully initialized or not

If reload is TRUE all the plugins are closed and reloaded otherwise only the missing plugins are loaded.


bd_is_initialized ()

gboolean
bd_is_initialized ();

Returns

whether the library is initialized (init() was called) or not

Types and Values

BD_INIT_ERROR

#define BD_INIT_ERROR bd_init_error_quark ()

enum BDInitError

Members

BD_INIT_ERROR_PLUGINS_FAILED

   

BD_INIT_ERROR_NOT_IMPLEMENTED