Last active
January 18, 2021 04:45
-
-
Save taozuhong/cc2fb375e3a39dc94479a9411b6f11e7 to your computer and use it in GitHub Desktop.
libbacktrace Vala binding
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
```vala | |
[CCode (cprefix = "BACKTRACE_", lower_case_cprefix = "BACKTRACE_", cheader_filename = "backtrace.h,backtrace-supported.h")] | |
namespace Backtrace { | |
public const int SUPPORTED; | |
public const int USES_MALLOC; | |
public const int SUPPORTS_THREADS; | |
public const int SUPPORTS_DATA; | |
[CCode (cname = "backtrace_error_callback", has_target = false)] | |
public delegate void ErrorCallback (void* data, string msg, int errnum); | |
[CCode (cname = "backtrace_full_callback", has_target = false)] | |
public delegate int FullCallback (void* data, uintptr pc, string? filename, int lineno, string function); | |
[CCode (cname = "backtrace_simple_callback", has_target = false)] | |
public delegate int SimpleCallback (void* data, uintptr pc); | |
[CCode (cname = "backtrace_syminfo_callback", has_target = false)] | |
public delegate void SyminfoCallback (void* data, uintptr pc, string symname, uintptr symval, uintptr symsize); | |
[Compact] | |
[CCode (cname = "struct backtrace_state", cprefix = "backtrace_", has_destroy_function = false)] | |
public class State { | |
[CCode (cname = "backtrace_create_state")] | |
public State (string filename, int threaded, ErrorCallback error_callback, void* data); | |
[CCode (instance_pos = 0)] | |
public int full(int skip, FullCallback callback, ErrorCallback error_callback, void* data); | |
[CCode (instance_pos = 0)] | |
public int simple (int skip, SimpleCallback callback, ErrorCallback error_callback, void* data); | |
[CCode (instance_pos = 0)] | |
public void print (int skip, GLib.FileStream file = GLib.stderr); | |
[CCode (instance_pos = 0)] | |
public int pcinfo (uintptr pc, FullCallback callback, ErrorCallback error_callback, void* data); | |
[CCode (instance_pos = 0)] | |
public int syminfo (uintptr addr, SyminfoCallback callback, ErrorCallback error_callback, void* data); | |
} | |
} | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment