RNBDefs.h revision 598df88bd6fc33c6fb330bc859bdc277795501f3
1//===-- RNBDefs.h -----------------------------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10//  Created by Greg Clayton on 12/14/07.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef __RNBDefs_h__
15#define __RNBDefs_h__
16
17#include "DNBDefs.h"
18
19extern "C" const unsigned char debugserverVersionString[];
20extern "C" const double debugserverVersionNumber;
21#define DEBUGSERVER_PROGRAM_NAME "debugserver"
22#define DEBUGSERVER_VERSION_STR debugserverVersionString
23#define DEBUGSERVER_VERSION_NUM debugserverVersionNumber
24
25#if defined (__i386__)
26
27#define RNB_ARCH    "i386"
28
29#elif defined (__x86_64__)
30
31#define RNB_ARCH    "x86_64"
32
33#elif defined (__ppc64__)
34
35#define RNB_ARCH    "ppc64"
36
37#elif defined (__powerpc__) || defined (__ppc__)
38
39#define RNB_ARCH    "ppc"
40
41#elif defined (__arm__)
42
43#define RNB_ARCH    "armv7"
44
45#else
46
47#error undefined architecture
48
49#endif
50
51class RNBRemote;
52typedef STD_SHARED_PTR(RNBRemote) RNBRemoteSP;
53
54typedef enum
55{
56    rnb_success = 0,
57    rnb_err = 1,
58    rnb_not_connected = 2
59} rnb_err_t;
60
61// Log bits
62// reserve low bits for DNB
63#define LOG_RNB_MINIMAL     ((LOG_LO_USER) << 0)  // Minimal logging    (min verbosity)
64#define LOG_RNB_MEDIUM      ((LOG_LO_USER) << 1)  // Medium logging     (med verbosity)
65#define LOG_RNB_MAX         ((LOG_LO_USER) << 2)  // Max logging        (max verbosity)
66#define LOG_RNB_COMM        ((LOG_LO_USER) << 3)  // Log communications (RNBSocket)
67#define LOG_RNB_REMOTE      ((LOG_LO_USER) << 4)  // Log remote         (RNBRemote)
68#define LOG_RNB_EVENTS      ((LOG_LO_USER) << 5)  // Log events         (PThreadEvents)
69#define LOG_RNB_PROC        ((LOG_LO_USER) << 6)  // Log process state  (Process thread)
70#define LOG_RNB_PACKETS     ((LOG_LO_USER) << 7)  // Log gdb remote packets
71#define LOG_RNB_ALL         (~((LOG_LO_USER) - 1))
72#define LOG_RNB_DEFAULT     (LOG_RNB_ALL)
73
74extern RNBRemoteSP g_remoteSP;
75
76#endif // #ifndef __RNBDefs_h__
77