| /* |
| * Copyright (C) 2008-2013 Karel Zak <kzak@redhat.com> |
| * |
| * This file may be redistributed under the terms of the |
| * GNU Lesser General Public License. |
| */ |
| |
| /** |
| * SECTION: init |
| * @title: Library initialization |
| * @short_description: initialize debuging |
| */ |
| |
| #include <stdarg.h> |
| |
| #include "blkidP.h" |
| |
| UL_DEBUG_DEFINE_MASK(libblkid); |
| UL_DEBUG_DEFINE_MASKNAMES(libblkid) = |
| { |
| { "all", BLKID_DEBUG_ALL, "info about all subsystems" }, |
| { "cache", BLKID_DEBUG_CACHE, "blkid tags cache" }, |
| { "config", BLKID_DEBUG_CONFIG, "config file utils" }, |
| { "dev", BLKID_DEBUG_DEV, "device utils" }, |
| { "devname", BLKID_DEBUG_DEVNAME, "/proc/partitions evaluation" }, |
| { "devno", BLKID_DEBUG_DEVNO, "convertions to device name" }, |
| { "evaluate", BLKID_DEBUG_EVALUATE, "tags resolving" }, |
| { "help", BLKID_DEBUG_HELP, "this help" }, |
| { "lowprobe", BLKID_DEBUG_LOWPROBE, "superblock/raids/partitions probing" }, |
| { "probe", BLKID_DEBUG_PROBE, "devices verification" }, |
| { "read", BLKID_DEBUG_READ, "cache parsing" }, |
| { "save", BLKID_DEBUG_SAVE, "cache writing" }, |
| { "tag", BLKID_DEBUG_TAG, "tags utils" }, |
| { NULL, 0, NULL } |
| }; |
| |
| /** |
| * blkid_init_debug: |
| * @mask: debug mask (0xffff to enable full debuging) |
| * |
| * If the @mask is not specified then this function reads |
| * LIBBLKID_DEBUG environment variable to get the mask. |
| * |
| * Already initialized debugging stuff cannot be changed. It does not |
| * have effect to call this function twice. |
| */ |
| void blkid_init_debug(int mask) |
| { |
| if (libblkid_debug_mask) |
| return; |
| |
| __UL_INIT_DEBUG(libblkid, BLKID_DEBUG_, mask, LIBBLKID_DEBUG); |
| |
| if (libblkid_debug_mask != BLKID_DEBUG_INIT |
| && libblkid_debug_mask != (BLKID_DEBUG_HELP|BLKID_DEBUG_INIT)) { |
| const char *ver = NULL; |
| const char *date = NULL; |
| |
| blkid_get_library_version(&ver, &date); |
| DBG(INIT, ul_debug("library debug mask: 0x%04x", libblkid_debug_mask)); |
| DBG(INIT, ul_debug("library version: %s [%s]", ver, date)); |
| |
| } |
| ON_DBG(HELP, ul_debug_print_masks("LIBBLKID_DEBUG", |
| UL_DEBUG_MASKNAMES(libblkid))); |
| } |