aboutsummaryrefslogtreecommitdiffstats
path: root/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'internal.h')
-rw-r--r--internal.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/internal.h b/internal.h
new file mode 100644
index 0000000..a77aa43
--- /dev/null
+++ b/internal.h
@@ -0,0 +1,34 @@
+/* See LICENSE file for copyright and license details. */
+#include "liberror.h"
+
+#include <alloca.h>
+#include <errno.h>
+#include <inttypes.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+
+#if defined(__GNUC__)
+# define GCC_ATTRIBUTES(...) __attribute__((__VA_ARGS__))
+#else
+# define GCC_ATTRIBUTES(...)
+#endif
+
+#define HIDDEN GCC_ATTRIBUTES(__visibility__("hidden"))
+#define WEAK GCC_ATTRIBUTES(__weak__)
+
+
+struct liberror_backtrace {
+ size_t refcount;
+ size_t n;
+ uintptr_t rips[];
+};
+
+
+HIDDEN extern _Thread_local struct liberror_error liberror_error_;
+HIDDEN extern _Thread_local int liberror_have_error_;
+
+
+int liberror_save_backtrace_(struct liberror_error *);