Do not SIGSEGV patch 'pass' functions of W32 code in non--debug-messages mode.
[captive.git] / src / libcaptive / include / captive / ldr_exports.h
index 72c777a..280e04c 100644 (file)
@@ -49,7 +49,7 @@ gboolean captive_kernel_exports(void);
 
 
 /**
- * captive_kernel_patches:
+ * captive_kernel_patches_debug:
  *
  * Patches W32 libraries by libcaptive functions. It is done by *.def files used
  * by dlltool(1) of Mingw32 compiler suite. We use native host OS compiler and
@@ -60,11 +60,27 @@ gboolean captive_kernel_exports(void);
  * This function is generated automatically from #exports.captivesym file
  * by #captivesym.pl script.
  *
+ * This function is used in --debug-messages mode as it also patches 'pass'
+ * functions to be successfuly debug dumped.
+ *
  * Multiple calls of this function are forbidden. See also captive_kernel_exports().
  *
  * Returns: %TRUE if the export was successful.
  */
-gboolean captive_kernel_patches(void);
+gboolean captive_kernel_patches_debug(void);
+
+
+/**
+ * captive_kernel_patches_nondebug:
+ *
+ * Function equivalent to captive_kernel_patches_debug() but it does not patch
+ * 'pass' functions as they are not needed to be traced if no --debug-messages
+ * was specified. See captive_kernel_patches_debug() for the description
+ * of this function.
+ *
+ * Returns: %TRUE if the export was successful.
+ */
+gboolean captive_kernel_patches_nondebug(void);
 
 
 struct captive_ModuleList_patchpoint {