Move the mono_thread_create () function into utils/mono-threads.h/c, change/simplify...
[mono.git] / mono / metadata / debug-mono-symfile.h
index a6f5a4ac971b6508b1d4f032a058ee6495d293cc..6ea3bccfc6edff1c6a01caaec81ee281751550f0 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * This header is only installed for use by the debugger:
  * the structures and the API declared here are not supported.
+ * Copyright 2012 Xamarin Inc (http://www.xamarin.com)
  */
 
 #ifndef __MONO_DEBUG_MONO_SYMFILE_H__
@@ -106,50 +107,59 @@ struct _MonoDebugLineNumberEntry {
        uint32_t native_offset;
 };
 
+/*
+ * Information about a source file retrieved from a symbol file.
+ */
+typedef struct {
+       char *source_file;
+       /* 16 byte long */
+       guint8 *guid, *hash;
+} MonoDebugSourceInfo;
+
 #define MONO_SYMBOL_FILE_MAJOR_VERSION         50
 #define MONO_SYMBOL_FILE_MINOR_VERSION         0
 #define MONO_SYMBOL_FILE_MAGIC                 0x45e82623fd7fa614ULL
 
 MONO_BEGIN_DECLS
 
-MonoSymbolFile *
+MONO_API MonoSymbolFile *
 mono_debug_open_mono_symbols       (MonoDebugHandle          *handle,
                                    const uint8_t            *raw_contents,
                                    int                       size,
                                    mono_bool                 in_the_debugger);
 
-void
+MONO_API void
 mono_debug_close_mono_symbol_file  (MonoSymbolFile           *symfile);
 
-mono_bool
+MONO_API mono_bool
 mono_debug_symfile_is_loaded       (MonoSymbolFile           *symfile);
 
-MonoDebugSourceLocation *
+MONO_API MonoDebugSourceLocation *
 mono_debug_symfile_lookup_location (MonoDebugMethodInfo      *minfo,
                                    uint32_t                  offset);
 
-void
+MONO_API void
 mono_debug_symfile_free_location   (MonoDebugSourceLocation  *location);
 
 int32_t
 _mono_debug_address_from_il_offset (MonoDebugMethodJitInfo   *jit,
                                    uint32_t                  il_offset);
 
-MonoDebugMethodInfo *
+MONO_API MonoDebugMethodInfo *
 mono_debug_symfile_lookup_method   (MonoDebugHandle          *handle,
                                    MonoMethod               *method);
 
-MonoDebugLocalsInfo*
+MONO_API MonoDebugLocalsInfo*
 mono_debug_symfile_lookup_locals (MonoDebugMethodInfo *minfo);
 
-void
+MONO_API void
 mono_debug_symfile_free_locals (MonoDebugLocalsInfo *info);
 
-void
+MONO_API void
 mono_debug_symfile_get_line_numbers (MonoDebugMethodInfo *minfo, char **source_file, int *n_il_offsets, int **il_offsets, int **line_numbers);
 
-void
-mono_debug_symfile_get_line_numbers_full (MonoDebugMethodInfo *minfo, char **source_file, GPtrArray **source_file_list, int *n_il_offsets, int **il_offsets, int **line_numbers, int **source_files);
+MONO_API void
+mono_debug_symfile_get_line_numbers_full (MonoDebugMethodInfo *minfo, char **source_file, GPtrArray **source_file_list, int *n_il_offsets, int **il_offsets, int **line_numbers, int **column_numbers, int **source_files);
 
 MONO_END_DECLS