source: branches/help/ARBDB/arbdb_base.h

Last change on this file was 13625, checked in by westram, 10 years ago
File size: 2.6 KB
Line 
1// ================================================================ //
2//                                                                  //
3//   File      : arbdb_base.h                                       //
4//   Purpose   : most minimal ARBDB interface                       //
5//               provide functions/types needed for arb_assert.h    //
6//                                                                  //
7//   Coded by Ralf Westram (coder@reallysoft.de) in December 2008   //
8//   Institute of Microbiology (Technical University Munich)        //
9//   http://www.arb-home.de/                                        //
10//                                                                  //
11// ================================================================ //
12
13#ifndef ARBDB_BASE_H
14#define ARBDB_BASE_H
15
16#ifndef _GLIBCXX_CSTDIO
17#include <cstdio>
18#endif
19#ifndef ARB_CORE_H
20#include <arb_core.h>
21#endif
22
23#define NOT4PERL                                    // function definitions starting with NOT4PERL are not included into the ARB-perl-interface
24
25typedef const char *GB_CSTR;                        // read-only
26typedef char       *GB_BUFFER;                      // points to a piece of mem (writeable, but don't free!)*/
27typedef const char *GB_CBUFFER;                     // points to a piece of mem (readable only)*/
28
29struct GBDATA;
30struct GB_HASH;
31
32typedef int GBQUARK; // -1 = any quark, 0 = no quark, >0 explicit quark
33
34typedef float GBT_LEN;
35
36class TreeNode;
37class TreeRoot;
38
39typedef unsigned int       GB_UINT4;                // 4 byte! @@@ use uint32_t ?
40typedef const unsigned int GB_CUINT4;
41
42typedef unsigned long GB_ULONG;
43typedef const float   GB_CFLOAT;
44
45
46enum GB_CB_TYPE {
47    GB_CB_NONE        = 0,
48    GB_CB_DELETE      = 1,
49    GB_CB_CHANGED     = 2, // element or son of element changed
50    GB_CB_SON_CREATED = 4, // new son created
51
52    // convenience defs:
53    GB_CB_ALL                    = GB_CB_DELETE|GB_CB_CHANGED|GB_CB_SON_CREATED,
54    GB_CB_ALL_BUT_DELETE         = GB_CB_ALL&~GB_CB_DELETE,
55    GB_CB_CHANGED_OR_DELETED     = GB_CB_CHANGED|GB_CB_DELETE,
56    GB_CB_CHANGED_OR_SON_CREATED = GB_CB_CHANGED|GB_CB_SON_CREATED,
57};
58
59typedef void (*GB_CB)(GBDATA *, int *clientdata, GB_CB_TYPE gbtype);
60
61enum GB_alignment_type {
62    GB_AT_UNKNOWN,
63    GB_AT_RNA,      // Nucleotide sequence (U)
64    GB_AT_DNA,      // Nucleotide sequence (T)
65    GB_AT_AA,       // AminoAcid
66};
67
68enum NewickFormat { // bit-values
69    nSIMPLE  = 0,
70    nLENGTH  = 1,
71    nGROUP   = 2,
72    nREMARK  = 4,
73    nWRAP    = 8,
74
75    nALL = nLENGTH|nGROUP|nREMARK,
76};
77
78
79#else
80#error arbdb_base.h included twice
81#endif // ARBDB_BASE_H
Note: See TracBrowser for help on using the repository browser.