summaryrefslogtreecommitdiffstats
path: root/libmount/src/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmount/src/init.c')
-rw-r--r--libmount/src/init.c46
1 files changed, 46 insertions, 0 deletions
diff --git a/libmount/src/init.c b/libmount/src/init.c
new file mode 100644
index 000000000..d80a2d8ca
--- /dev/null
+++ b/libmount/src/init.c
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2008 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 <stdlib.h>
+#include <stdarg.h>
+
+#include "mountP.h"
+
+int libmount_debug_mask;
+
+/**
+ * mnt_init_debug:
+ * @mask: debug mask (0xffff to enable full debuging)
+ *
+ * If the @mask is not specified then this function reads
+ * LIBMOUNT_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 mnt_init_debug(int mask)
+{
+ if (libmount_debug_mask & MNT_DEBUG_INIT)
+ return;
+ if (!mask) {
+ char *str = getenv("LIBMOUNT_DEBUG");
+ if (str)
+ libmount_debug_mask = strtoul(str, 0, 0);
+ } else
+ libmount_debug_mask = mask;
+
+ if (libmount_debug_mask)
+ printf("libmount: debug mask set to 0x%04x.\n",
+ libmount_debug_mask);
+ libmount_debug_mask |= MNT_DEBUG_INIT;
+}