#ifndef DEFS_H
#define DEFS_H
+#ifdef GDBSERVER
+# error gdbserver should not include gdb/defs.h
+#endif
+
#include "config.h" /* Generated by configure. */
#include <sys/types.h>
#define max(a, b) ((a) > (b) ? (a) : (b))
#endif
+#include "ptid.h"
+
/* Check if a character is one of the commonly used C++ marker characters. */
extern int is_cplus_marker (int);
void *arg;
};
-/* vec.h-style vectors of strings want a typedef for char * . */
+/* vec.h-style vectors of strings want a typedef for char * or const char *. */
typedef char * char_ptr;
+typedef const char * const_char_ptr;
/* Needed for various prototypes */
extern int parse_pid_to_attach (char *args);
+extern struct cleanup *make_bpstat_clear_actions_cleanup (void);
+
+extern int producer_is_gcc_ge_4 (const char *producer);
+
/* From demangle.c */
extern void set_demangling_style (char *);
Val_pretty_default
};
-/* The ptid struct is a collection of the various "ids" necessary
- for identifying the inferior. This consists of the process id
- (pid), thread id (tid), and other fields necessary for uniquely
- identifying the inferior process/thread being debugged. When
- manipulating ptids, the constructors, accessors, and predicate
- declared in inferior.h should be used. These are as follows:
-
- ptid_build - Make a new ptid from a pid, lwp, and tid.
- pid_to_ptid - Make a new ptid from just a pid.
- ptid_get_pid - Fetch the pid component of a ptid.
- ptid_get_lwp - Fetch the lwp component of a ptid.
- ptid_get_tid - Fetch the tid component of a ptid.
- ptid_equal - Test to see if two ptids are equal.
- ptid_is_pid - Test to see if this ptid represents a process id.
-
- Please do NOT access the struct ptid members directly (except, of
- course, in the implementation of the above ptid manipulation
- functions). */
-
-struct ptid
- {
- /* Process id */
- int pid;
-
- /* Lightweight process id */
- long lwp;
-
- /* Thread id */
- long tid;
- };
-
-typedef struct ptid ptid_t;
-
-\f
-
/* Optional native machine support. Non-native (and possibly pure
multi-arch) targets do not need a "nm.h" file. This will be a
symlink to one of the nm-*.h files, built by the `configure'
extern char *savestring (const char *, size_t);
-/* xmalloc(), xrealloc() and xcalloc() have already been declared in
- "libiberty.h". */
-extern void xfree (void *);
-
-/* Like xmalloc, but zero the memory. */
-extern void *xzalloc (size_t);
-
/* Utility macros to allocate typed memory. Avoids errors like:
struct foo *foo = xmalloc (sizeof struct bar); and memset (foo,
sizeof (struct foo), 0). */
#define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
#define XCALLOC(NMEMB, TYPE) ((TYPE*) xcalloc ((NMEMB), sizeof (TYPE)))
-/* Like asprintf/vasprintf but get an internal_error if the call
- fails. */
-extern void xasprintf (char **ret, const char *format, ...)
- ATTRIBUTE_PRINTF (2, 3);
-extern void xvasprintf (char **ret, const char *format, va_list ap)
- ATTRIBUTE_PRINTF (2, 0);
-
-/* Like asprintf and vasprintf, but return the string, throw an error
- if no memory. */
-extern char *xstrprintf (const char *format, ...) ATTRIBUTE_PRINTF (1, 2);
-extern char *xstrvprintf (const char *format, va_list ap)
- ATTRIBUTE_PRINTF (1, 0);
-
-/* Like snprintf, but throw an error if the output buffer is too small. */
-extern int xsnprintf (char *str, size_t size, const char *format, ...)
- ATTRIBUTE_PRINTF (3, 4);
+#include "common-utils.h"
extern int parse_escape (struct gdbarch *, char **);
va_list ap)
ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0);
-extern void internal_error (const char *file, int line, const char *, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 4);
-
extern void internal_vwarning (const char *file, int line,
const char *, va_list ap)
ATTRIBUTE_PRINTF (3, 0);
extern void internal_warning (const char *file, int line,
const char *, ...) ATTRIBUTE_PRINTF (3, 4);
-extern void nomem (long) ATTRIBUTE_NORETURN;
-
extern void warning (const char *, ...) ATTRIBUTE_PRINTF (1, 2);
extern void vwarning (const char *, va_list args) ATTRIBUTE_PRINTF (1, 0);