*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / defs.h
index 1795297fff80f3239c4b6e286d86d4b5e92d0547..7f8a3303e424cbe89931e0ae788f1e828bc181ef 100644 (file)
 #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>
@@ -89,6 +93,7 @@
 #include <stdarg.h>            /* For va_list.  */
 
 #include "libiberty.h"
+#include "hashtab.h"
 
 /* Rather than duplicate all the logic in BFD for figuring out what
    types to use (which can be pretty complicated), symply define them
@@ -142,8 +147,7 @@ typedef bfd_vma CORE_ADDR;
 #define max(a, b) ((a) > (b) ? (a) : (b))
 #endif
 
-/* Check if a character is one of the commonly used C++ marker characters.  */
-extern int is_cplus_marker (int);
+#include "ptid.h"
 
 /* Enable xdb commands if set.  */
 extern int xdb_commands;
@@ -271,9 +275,10 @@ struct cleanup
     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 */
 
@@ -332,6 +337,9 @@ extern struct cleanup *make_cleanup_dtor (make_cleanup_ftype *, void *,
 
 extern struct cleanup *make_cleanup_freeargv (char **);
 
+struct dyn_string;
+extern struct cleanup *make_cleanup_dyn_string_delete (struct dyn_string *);
+
 struct ui_file;
 extern struct cleanup *make_cleanup_ui_file_delete (struct ui_file *);
 
@@ -364,11 +372,16 @@ extern struct cleanup *
 extern struct cleanup *make_cleanup_value_free_to_mark (struct value *);
 extern struct cleanup *make_cleanup_value_free (struct value *);
 
+struct so_list;
+extern struct cleanup *make_cleanup_free_so (struct so_list *so);
+
 extern struct cleanup *make_final_cleanup (make_cleanup_ftype *, void *);
 
 extern struct cleanup *make_my_cleanup (struct cleanup **,
                                        make_cleanup_ftype *, void *);
 
+extern struct cleanup *make_cleanup_htab_delete (htab_t htab);
+
 extern struct cleanup *make_my_cleanup2 (struct cleanup **,
                                         make_cleanup_ftype *, void *,
                                         void (*free_arg) (void *));
@@ -412,6 +425,7 @@ char *ldirname (const char *filename);
 char **gdb_buildargv (const char *);
 
 int compare_positive_ints (const void *ap, const void *bp);
+int compare_strings (const void *ap, const void *bp);
 
 /* A wrapper for bfd_errmsg to produce a more helpful error message
    in the case of bfd_error_file_ambiguously recognized.
@@ -422,9 +436,13 @@ extern const char *gdb_bfd_errmsg (bfd_error_type error_tag, char **matching);
 
 extern int parse_pid_to_attach (char *args);
 
-/* From demangle.c */
+extern struct cleanup *make_bpstat_clear_actions_cleanup (void);
+
+extern int producer_is_gcc_ge_4 (const char *producer);
 
-extern void set_demangling_style (char *);
+#ifdef HAVE_WAITPID
+extern pid_t wait_to_die_with_timeout (pid_t pid, int *status, int timeout);
+#endif
 
 \f
 /* Annotation stuff.  */
@@ -539,6 +557,11 @@ extern const char *paddress (struct gdbarch *gdbarch, CORE_ADDR addr);
 extern const char *print_core_address (struct gdbarch *gdbarch,
                                       CORE_ADDR address);
 
+/* Callback hash_f and eq_f for htab_create_alloc or htab_create_alloc_ex.  */
+
+extern hashval_t core_addr_hash (const void *ap);
+extern int core_addr_eq (const void *ap, const void *bp);
+
 /* %d for LONGEST */
 extern char *plongest (LONGEST l);
 /* %u for ULONGEST */
@@ -730,9 +753,6 @@ extern struct command_line *read_command_lines_1 (char * (*) (void), int,
 
 extern void free_command_lines (struct command_line **);
 
-struct thread_info;
-struct inferior;
-
 /* String containing the current directory (what getwd would return).  */
 
 extern char *current_directory;
@@ -755,41 +775,6 @@ enum val_prettyprint
     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'
@@ -853,13 +838,6 @@ extern int longest_to_int (LONGEST);
 
 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).  */
@@ -867,22 +845,7 @@ extern void *xzalloc (size_t);
 #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 **);
 
@@ -916,9 +879,6 @@ extern void internal_verror (const char *file, int line, const 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);
@@ -926,8 +886,6 @@ extern void internal_vwarning (const char *file, int line,
 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);
This page took 0.026936 seconds and 4 git commands to generate.