Add logic to object array typecheck to handle arrays of unmanaged pointers (#14733)
[mono-project.git] / mono / utils / mono-merp.h
blobff5f58e1edda0626daec4af383a2f0ab594935c1
1 /**
2 * \file
3 * Support for interop with the Microsoft Error Reporting tool (header)
5 * Author:
6 * Alexander Kyte (alkyte@microsoft.com)
8 * (C) 2018 Microsoft, Inc.
11 #ifndef __MONO_UTILS_MERP__
12 #define __MONO_UTILS_MERP__
14 #include <config.h>
15 #include <glib.h>
16 #include <mono/metadata/threads-types.h>
18 #ifdef TARGET_OSX
20 /**
21 * Unregister the MERP-based handler
23 void mono_merp_disable (void);
25 /**
27 * Enable the MERP-based handler and set application-specific information
29 * See MERP documentation for information on the bundle ID, signature, and version fields
31 void
32 mono_merp_enable (const char *appBundleID, const char *appSignature, const char *appVersion, const char *merpGUIPath, const char *eventType, const char *appPath, const char *configDir);
34 /**
35 * Whether the MERP-based handler is registered
37 gboolean mono_merp_enabled (void);
39 /**
40 * Create the MERP config file and invoke the merp agent
42 * \arg crashed_pid the PID of the thread that encountered the native fault
43 * \arg thread_pointer the address of the stack pointer when the native fault occurred
45 * returns: Success of sending message
47 * This either returns after the MERP handler has successfully uploaded crashed_pid's
48 * crash dump (leaving the caller to call exit), or terminates the runtime
49 * when the registered telemetry application does not respond.
51 gboolean
52 mono_merp_invoke (const intptr_t crashed_pid, const char *signal, const char *dump_file, MonoStackHash *hashes);
54 void
55 mono_merp_add_annotation (const char *key, const char *value);
57 #endif // TARGET_OSX
59 #endif // MONO_UTILS_MERP