summaryrefslogblamecommitdiffstats
path: root/libfdisk/src/init.c
blob: b4de57cd0a455e61b4aa24cb801bb35947de30e3 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11


                   







                                             
                               
                                     
 








                                                                              
                                                                    

                   
 




                                                         
                                                       


                                                                     

                                                                     


                               













                                                                                       
 

#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" },
	{ NULL, 0 }
};

/**
 * fdisk_init_debug:
 * @mask: debug mask (0xffff to enable full debuging)
 *
 * 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(libfdisk, LIBFDISK_DEBUG_, mask, LIBFDISK_DEBUG);


	if (libfdisk_debug_mask != LIBFDISK_DEBUG_INIT
	    && libfdisk_debug_mask != (LIBFDISK_DEBUG_HELP|LIBFDISK_DEBUG_INIT)) {

		DBG(INIT, ul_debug("library debug mask: 0x%04x", libfdisk_debug_mask));
	}

	ON_DBG(HELP, ul_debug_print_masks("LIBFDISK_DEBUG",
				UL_DEBUG_MASKNAMES(libfdisk)));
}