source: branches/profile/CORE/arb_core.h

Last change on this file was 11007, checked in by westram, 10 years ago
  • prototype for GBK_terminate differed between arb_core.h and arb_msg.h
File size: 1.8 KB
Line 
1// ================================================================ //
2//                                                                  //
3//   File      : arb_core.h                                         //
4//   Purpose   :                                                    //
5//                                                                  //
6//   Coded by Ralf Westram (coder@reallysoft.de) in November 2010   //
7//   Institute of Microbiology (Technical University Munich)        //
8//   http://www.arb-home.de/                                        //
9//                                                                  //
10// ================================================================ //
11
12#ifndef ARB_CORE_H
13#define ARB_CORE_H
14
15#ifndef _GLIBCXX_CSTDIO
16#include <cstdio>
17#endif
18#ifndef DUPSTR_H
19#include <dupstr.h>
20#endif
21#ifndef ATTRIBUTES_H
22#include <attributes.h>
23#endif
24
25typedef const char *GB_ERROR; // memory managed by CORE
26
27struct GBS_regex;
28
29enum GB_CASE {
30    GB_IGNORE_CASE    = 0,
31    GB_MIND_CASE      = 1,
32    GB_CASE_UNDEFINED = 2
33};
34
35typedef void (*gb_error_handler_type)(const char *msg);
36typedef void (*gb_warning_func_type)(const char *msg);
37typedef void (*gb_information_func_type)(const char *msg);
38typedef int (*gb_status_gauge_func_type)(double val);
39typedef int (*gb_status_msg_func_type)(const char *val);
40
41
42bool GBK_running_on_valgrind(void);
43
44bool GBK_raises_SIGSEGV(void (*cb)(void));
45void GBK_install_SIGSEGV_handler(bool dump_backtrace);
46
47GB_ERROR GBK_assert_msg(const char *assertion, const char *file, int linenr);
48
49void GBK_dump_backtrace(FILE *out, const char *message);
50void GBK_terminate(const char *error) __ATTR__NORETURN;
51
52GB_ERROR GBK_system(const char *system_command);
53
54#else
55#error arb_core.h included twice
56#endif // ARB_CORE_H
Note: See TracBrowser for help on using the repository browser.