blob: b25a876b3dbbdf1f275c897eb5b137d7d19ba6e7 [file] [log] [blame]
#include "fdiskP.h"
/**
* SECTION: init
* @title: Library initialization
* @short_description: initialize debug stuff
*
*/
UL_DEBUG_DEFINE_MASK(libfdisk);
UL_DEBUG_DEFINE_MASKNAMES(libfdisk) =
{
{ "all", LIBFDISK_DEBUG_ALL, "info about all subsystems" },
{ "ask", LIBFDISK_DEBUG_ASK, "fdisk dialogs" },
{ "help", LIBFDISK_DEBUG_HELP, "this help" },
{ "cxt", LIBFDISK_DEBUG_CXT, "library context (handler)" },
{ "label", LIBFDISK_DEBUG_LABEL, "disk label utils" },
{ "part", LIBFDISK_DEBUG_PART, "partition utils" },
{ "parttype", LIBFDISK_DEBUG_PARTTYPE,"partition type utils" },
{ "script", LIBFDISK_DEBUG_SCRIPT, "sfdisk-like scripts" },
{ "tab", LIBFDISK_DEBUG_TAB, "table utils"},
{ "wipe", LIBFDISK_DEBUG_WIPE, "wipe area utils" },
{ "item", LIBFDISK_DEBUG_WIPE, "disklabel items" },
{ NULL, 0 }
};
/**
* fdisk_init_debug:
* @mask: debug mask (0xffff to enable full debugging)
*
* If the @mask is not specified then this function reads
* LIBFDISK_DEBUG environment variable to get the mask.
*
* Already initialized debugging stuff cannot be changed. It does not
* have effect to call this function twice.
*
* It's strongly recommended to use fdisk_init_debug(0) in your code.
*/
void fdisk_init_debug(int mask)
{
if (libfdisk_debug_mask)
return;
__UL_INIT_DEBUG_FROM_ENV(libfdisk, LIBFDISK_DEBUG_, mask, LIBFDISK_DEBUG);
if (libfdisk_debug_mask != LIBFDISK_DEBUG_INIT
&& libfdisk_debug_mask != (LIBFDISK_DEBUG_HELP|LIBFDISK_DEBUG_INIT)) {
const char *ver = NULL;
fdisk_get_library_version(&ver);
DBG(INIT, ul_debug("library debug mask: 0x%04x", libfdisk_debug_mask));
DBG(INIT, ul_debug("library version: %s", ver));
}
ON_DBG(HELP, ul_debug_print_masks("LIBFDISK_DEBUG",
UL_DEBUG_MASKNAMES(libfdisk)));
}