#ifndef DEFS_H
#define DEFS_H
#include "config.h"
#include <sys/types.h>
#include <stdio.h>
#include <errno.h>
#include <limits.h>
#ifdef HAVE_STDDEF_H
#include <stddef.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <stdint.h>
#include "ansidecl.h"
#include "gdb_locale.h"
#include "gdb/signals.h"
#ifndef SEEK_SET
#define SEEK_SET 0
#endif
#ifndef SEEK_CUR
#define SEEK_CUR 1
#endif
#include <stdarg.h>
#include "libiberty.h"
#include "bfd.h"
typedef bfd_byte gdb_byte;
typedef bfd_vma CORE_ADDR;
#ifndef LONGEST
#ifdef BFD64
#define LONGEST BFD_HOST_64_BIT
#define ULONGEST BFD_HOST_U_64_BIT
#else
#ifdef CC_HAS_LONG_LONG
#define LONGEST long long
#define ULONGEST unsigned long long
#else
#ifdef BFD_HOST_64_BIT
#define LONGEST BFD_HOST_64_BIT
#define ULONGEST BFD_HOST_U_64_BIT
#else
#define LONGEST long
#define ULONGEST unsigned long
#endif
#endif
#endif
#endif
#ifndef min
#define min(a, b) ((a) < (b) ? (a) : (b))
#endif
#ifndef max
#define max(a, b) ((a) > (b) ? (a) : (b))
#endif
#define DEPRECATED_STREQ(a,b) (strcmp ((a), (b)) == 0)
#define DEPRECATED_STREQN(a,b,c) (strncmp ((a), (b), (c)) == 0)
extern int is_cplus_marker (int);
extern int xdb_commands;
extern int dbx_commands;
extern char *gdb_sysroot;
extern int quit_flag;
extern int immediate_quit;
extern int sevenbit_strings;
extern void quit (void);
#ifdef QUIT
#define QUIT_FIXME "FIXME"
#define QUIT_FIXME "ignoring redefinition of QUIT"
#else
#define QUIT { \
if (quit_flag) quit (); \
if (deprecated_interactive_hook) deprecated_interactive_hook (); \
}
#endif
enum language
{
language_unknown,
language_auto,
language_c,
language_cplus,
language_objc,
language_objcplus,
language_java,
language_fortran,
language_m2,
language_asm,
language_scm,
language_pascal,
language_ada,
language_minimal,
nr_languages
};
enum precision_type
{
single_precision,
double_precision,
unspecified_precision
};
enum auto_boolean
{
AUTO_BOOLEAN_TRUE,
AUTO_BOOLEAN_FALSE,
AUTO_BOOLEAN_AUTO
};
enum return_value_convention
{
RETURN_VALUE_REGISTER_CONVENTION,
RETURN_VALUE_STRUCT_CONVENTION,
RETURN_VALUE_ABI_RETURNS_ADDRESS,
RETURN_VALUE_ABI_PRESERVES_ADDRESS,
};
struct cleanup
{
struct cleanup *next;
void (*function) (void *);
void *arg;
};
#ifndef NORETURN
#if defined(__GNUC__) \
&& (__GNUC__ == 1 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7))
#define NORETURN volatile
#else
#define NORETURN
#endif
#endif
#ifndef ATTR_NORETURN
#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7))
#define ATTR_NORETURN __attribute__ ((noreturn))
#else
#define ATTR_NORETURN
#endif
#endif
#ifndef ATTR_FORMAT
#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 4))
#define ATTR_FORMAT(type, x, y) __attribute__ ((format(type, x, y)))
#else
#define ATTR_FORMAT(type, x, y)
#endif
#endif
#if defined(__GNUC__) && (__GNUC__ >= 2)
#define ENUM_BITFIELD(TYPE) enum TYPE
#else
#define ENUM_BITFIELD(TYPE) unsigned int
#endif
struct symtab;
struct breakpoint;
struct frame_info;
struct symtab_and_line;
struct ui_out;
struct symbol;
extern void set_screen_size (void);
extern void set_width (void);
extern void initialize_utils (void);
extern void notice_quit (void);
extern int strcmp_iw (const char *, const char *);
extern int strcmp_iw_ordered (const char *, const char *);
extern int streq (const char *, const char *);
extern int subset_compare (char *, char *);
extern char *safe_strerror (int);
extern void *init_malloc (void *);
extern void init_mmalloc_default_pool (void *);
extern void request_quit (int);
#define ALL_CLEANUPS ((struct cleanup *)0)
extern void do_cleanups (struct cleanup *);
extern void do_final_cleanups (struct cleanup *);
extern void do_run_cleanups (struct cleanup *);
extern void do_exec_cleanups (struct cleanup *);
extern void do_exec_error_cleanups (struct cleanup *);
extern void discard_cleanups (struct cleanup *);
extern void discard_final_cleanups (struct cleanup *);
extern void discard_exec_error_cleanups (struct cleanup *);
extern void discard_my_cleanups (struct cleanup **, struct cleanup *);
typedef void (make_cleanup_ftype) (void *);
extern struct cleanup *make_cleanup (make_cleanup_ftype *, void *);
extern struct cleanup *make_cleanup_freeargv (char **);
struct ui_file;
extern struct cleanup *make_cleanup_ui_file_delete (struct ui_file *);
struct cleanup *make_cleanup_ui_out_delete (struct ui_out *);
struct cleanup *make_cleanup_restore_uiout (struct ui_out *);
struct section_addr_info;
extern struct cleanup *(make_cleanup_free_section_addr_info
(struct section_addr_info *));
extern struct cleanup *make_cleanup_close (int fd);
extern struct cleanup *make_cleanup_bfd_close (bfd *abfd);
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_run_cleanup (make_cleanup_ftype *, void *);
extern struct cleanup *make_exec_cleanup (make_cleanup_ftype *, void *);
extern struct cleanup *make_exec_error_cleanup (make_cleanup_ftype *, void *);
extern struct cleanup *save_cleanups (void);
extern struct cleanup *save_final_cleanups (void);
extern struct cleanup *save_my_cleanups (struct cleanup **);
extern void restore_cleanups (struct cleanup *);
extern void restore_final_cleanups (struct cleanup *);
extern void restore_my_cleanups (struct cleanup **, struct cleanup *);
extern void free_current_contents (void *);
extern void null_cleanup (void *);
extern int myread (int, char *, int);
extern int query (const char *, ...) ATTR_FORMAT (printf, 1, 2);
extern int nquery (const char *, ...) ATTR_FORMAT (printf, 1, 2);
extern int yquery (const char *, ...) ATTR_FORMAT (printf, 1, 2);
extern void init_page_info (void);
extern char *gdb_realpath (const char *);
extern char *xfullpath (const char *);
extern unsigned long gnu_debuglink_crc32 (unsigned long crc,
unsigned char *buf, size_t len);
extern void set_demangling_style (char *);
extern CORE_ADDR decode_fix_and_continue_trampoline (CORE_ADDR);
extern void update_picbase_register (struct symbol *);
extern void fix_command_1 (const char *, const char *, const char *);
int fix_and_continue_supported (void);
int file_exists_p (const char *);
struct type;
typedef int (use_struct_convention_fn) (int gcc_p, struct type * value_type);
extern use_struct_convention_fn generic_use_struct_convention;
extern int annotation_level;
extern void begin_line (void);
extern void wrap_here (char *);
extern void reinitialize_more_filter (void);
extern struct ui_file *gdb_stdout;
extern struct ui_file *gdb_stdin;
extern struct ui_file *gdb_stderr;
extern struct ui_file *gdb_stdlog;
extern struct ui_file *gdb_stdtarg;
extern struct ui_file *gdb_stdtargerr;
extern struct ui_file *gdb_stdtargin;
extern struct ui_file *gdb_null;
#include "ui-file.h"
extern void fputs_filtered (const char *, struct ui_file *);
extern void fputs_unfiltered (const char *, struct ui_file *);
extern int fputc_filtered (int c, struct ui_file *);
extern int fputc_unfiltered (int c, struct ui_file *);
extern int putchar_filtered (int c);
extern int putchar_unfiltered (int c);
extern void puts_filtered (const char *);
extern void puts_unfiltered (const char *);
extern void puts_filtered_tabular (char *string, int width, int right);
extern void puts_debug (char *prefix, char *string, char *suffix);
extern void vprintf_filtered (const char *, va_list) ATTR_FORMAT (printf, 1, 0);
extern void vfprintf_filtered (struct ui_file *, const char *, va_list) ATTR_FORMAT (printf, 2, 0);
extern void fprintf_filtered (struct ui_file *, const char *, ...) ATTR_FORMAT (printf, 2, 3);
extern void fprintfi_filtered (int, struct ui_file *, const char *, ...) ATTR_FORMAT (printf, 3, 4);
extern void printf_filtered (const char *, ...) ATTR_FORMAT (printf, 1, 2);
extern void printfi_filtered (int, const char *, ...) ATTR_FORMAT (printf, 2, 3);
extern void vprintf_unfiltered (const char *, va_list) ATTR_FORMAT (printf, 1, 0);
extern void vfprintf_unfiltered (struct ui_file *, const char *, va_list) ATTR_FORMAT (printf, 2, 0);
extern void fprintf_unfiltered (struct ui_file *, const char *, ...) ATTR_FORMAT (printf, 2, 3);
extern void printf_unfiltered (const char *, ...) ATTR_FORMAT (printf, 1, 2);
extern void print_spaces (int, struct ui_file *);
extern void print_spaces_filtered (int, struct ui_file *);
extern char *n_spaces (int);
extern void fputstr_filtered (const char *str, int quotr, struct ui_file * stream);
extern void fputstr_unfiltered (const char *str, int quotr, struct ui_file * stream);
extern void fputstrn_unfiltered (const char *str, int n, int quotr, struct ui_file * stream);
extern void gdb_print_host_address (const void *addr, struct ui_file *stream);
extern int strlen_paddr (void);
extern char *paddr (CORE_ADDR addr);
extern char *paddr_nz (CORE_ADDR addr);
extern char *paddr_u (CORE_ADDR addr);
extern char *paddr_d (LONGEST addr);
extern const char *paddress (CORE_ADDR addr);
extern char *phex (ULONGEST l, int sizeof_l);
extern char *phex_nz (ULONGEST l, int sizeof_l);
extern char *int_string (LONGEST, int, int, int, int);
extern const char *core_addr_to_string (const CORE_ADDR addr);
extern const char *core_addr_to_string_nz (const CORE_ADDR addr);
extern CORE_ADDR string_to_core_addr (const char *my_string);
extern char *hex_string (LONGEST);
extern char *hex_string_custom (LONGEST, int);
extern void fprintf_symbol_filtered (struct ui_file *, char *,
enum language, int);
extern NORETURN void perror_with_name (const char *) ATTR_NORETURN;
extern void print_sys_errmsg (const char *, int);
extern char *re_comp (const char *);
extern void symbol_file_command (char *, int);
extern void generic_load (char *name, int from_tty);
struct timeval;
extern void print_transfer_performance (struct ui_file *stream,
unsigned long data_count,
unsigned long write_count,
const struct timeval *start_time,
const struct timeval *end_time);
typedef void initialize_file_ftype (void);
extern char *skip_quoted (char *);
extern char *gdb_readline (char *);
extern char *gdb_readline_wrapper (char *);
extern char *command_line_input (char *, int, char *);
extern void print_prompt (void);
extern int input_from_terminal_p (void);
extern int info_verbose;
extern int gdb_quitting;
extern void set_next_address (CORE_ADDR);
extern void print_address_symbolic (CORE_ADDR, struct ui_file *, int,
char *);
extern int build_address_symbolic (CORE_ADDR addr,
int do_demangle,
char **name,
int *offset,
char **filename,
int *line,
int *unmapped);
extern void deprecated_print_address_numeric (CORE_ADDR, int, struct ui_file *);
extern void print_address (CORE_ADDR, struct ui_file *);
#define OPF_TRY_CWD_FIRST 0x01
#define OPF_SEARCH_IN_PATH 0x02
extern int openp (const char *, int, const char *, int, int, char **);
extern int source_full_path_of (char *, char **);
extern void mod_path (char *, char **);
extern void add_path (char *, char **, int);
extern void directory_command (char *, int);
extern char *source_path;
extern void init_source_path (void);
extern void init_last_source_visited (void);
extern void exec_set_section_offsets (bfd_signed_vma text_off,
bfd_signed_vma data_off,
bfd_signed_vma bss_off);
extern void exec_set_find_memory_regions (int (*) (int (*) (CORE_ADDR,
unsigned long,
int, int, int,
void *),
void *));
enum lval_type
{
not_lval,
lval_memory,
lval_register,
lval_register_literal,
lval_internalvar,
lval_internalvar_component
};
enum misc_command_type
{
ok_command,
end_command,
else_command,
nop_command
};
enum command_control_type
{
simple_control,
break_control,
continue_control,
while_control,
if_control,
invalid_control
};
struct command_line
{
struct command_line *next;
char *line;
enum command_control_type control_type;
int body_count;
struct command_line **body_list;
};
extern struct command_line *read_command_lines (char *, int);
extern struct command_line * read_command_lines_1 (char * (*read_next_line_func) ());
extern void free_command_lines (struct command_line **);
struct continuation_arg
{
struct continuation_arg *next;
union continuation_data {
void *pointer;
int integer;
long longint;
} data;
};
struct continuation
{
void (*continuation_hook) (struct continuation_arg *);
struct continuation_arg *arg_list;
struct continuation *next;
};
extern struct continuation *cmd_continuation;
extern struct continuation *intermediate_continuation;
extern void add_continuation (void (*)(struct continuation_arg *),
struct continuation_arg *);
extern void do_all_continuations (void);
extern void discard_all_continuations (void);
extern void add_intermediate_continuation (void (*)(struct continuation_arg *),
struct continuation_arg *);
extern void do_all_intermediate_continuations (void);
extern void discard_all_intermediate_continuations (void);
extern char *current_directory;
extern unsigned input_radix;
extern unsigned output_radix;
enum val_prettyprint
{
Val_no_prettyprint = 0,
Val_prettyprint,
Val_pretty_default
};
struct ptid
{
int pid;
long lwp;
long tid;
};
typedef struct ptid ptid_t;
enum scheduler_locking_mode {
scheduler_locking_off = 0,
scheduler_locking_on = 1,
scheduler_locking_step = 2
};
enum scheduler_locking_mode
set_scheduler_locking_mode (enum scheduler_locking_mode new_mode);
void scheduler_run_this_ptid (struct ptid this_ptid);
int scheduler_lock_on_p ();
struct ptid get_scheduler_lock_ptid ();
struct cleanup *
make_cleanup_set_restore_scheduler_locking_mode (enum scheduler_locking_mode new_mode);
#ifdef GDB_XM_FILE
#include "xm.h"
#endif
#ifdef GDB_NM_FILE
#include "nm.h"
#endif
#ifdef GDB_TM_FILE
#include "tm.h"
#endif
#ifndef FOPEN_RB
# include "fopen-bin.h"
#endif
#if !defined (UINT_MAX)
#define UINT_MAX ((unsigned int)(~0))
#endif
#if !defined (INT_MAX)
#define INT_MAX ((int)(UINT_MAX >> 1))
#endif
#if !defined (INT_MIN)
#define INT_MIN ((int)((int) ~0 ^ INT_MAX))
#endif
#if !defined (ULONG_MAX)
#define ULONG_MAX ((unsigned long)(~0L))
#endif
#if !defined (LONG_MAX)
#define LONG_MAX ((long)(ULONG_MAX >> 1))
#endif
#if !defined (ULONGEST_MAX)
#define ULONGEST_MAX (~(ULONGEST)0)
#endif
#if !defined (LONGEST_MAX)
#define LONGEST_MAX ((LONGEST)(ULONGEST_MAX >> 1))
#endif
extern int longest_to_int (LONGEST);
extern char *savestring (const char *, size_t);
extern char *msavestring (void *, const char *, size_t);
char *strsave (const char *ptr);
extern char *mstrsave (void *, const char *);
extern void *xmmalloc (void *md, size_t size);
extern void *xmrealloc (void *md, void *ptr, size_t size);
extern void *xmcalloc (void *md, size_t number, size_t size);
extern void xmfree (void *md, void *ptr);
extern void xfree (void *);
extern void *xzalloc (size_t);
#define XZALLOC(TYPE) ((TYPE*) xzalloc (sizeof (TYPE)))
#define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
#define XCALLOC(NMEMB, TYPE) ((TYPE*) xcalloc ((NMEMB), sizeof (TYPE)))
extern void xasprintf (char **ret, const char *format, ...) ATTR_FORMAT (printf, 2, 3);
extern void xvasprintf (char **ret, const char *format, va_list ap)
ATTR_FORMAT (printf, 2, 0);
extern char *xstrprintf (const char *format, ...) ATTR_FORMAT (printf, 1, 2);
extern char *xstrvprintf (const char *format, va_list ap)
ATTR_FORMAT (printf, 1, 0);
extern int xsnprintf (char *str, size_t size, const char *format, ...)
ATTR_FORMAT (printf, 3, 4);
extern int parse_escape (char **);
extern char *error_pre_print;
extern char *quit_pre_print;
extern char *warning_pre_print;
extern NORETURN void verror (const char *fmt, va_list ap)
ATTR_NORETURN ATTR_FORMAT (printf, 1, 0);
extern NORETURN void error (const char *fmt, ...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);
extern NORETURN void error_stream (struct ui_file *) ATTR_NORETURN;
extern NORETURN void vfatal (const char *fmt, va_list ap)
ATTR_NORETURN ATTR_FORMAT (printf, 1, 0);
extern NORETURN void fatal (const char *fmt, ...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);
extern NORETURN void internal_verror (const char *file, int line,
const char *, va_list ap)
ATTR_NORETURN ATTR_FORMAT (printf, 3, 0);
extern NORETURN void internal_error (const char *file, int line,
const char *, ...) ATTR_NORETURN ATTR_FORMAT (printf, 3, 4);
extern void internal_vwarning (const char *file, int line,
const char *, va_list ap)
ATTR_FORMAT (printf, 3, 0);
extern void internal_warning (const char *file, int line,
const char *, ...) ATTR_FORMAT (printf, 3, 4);
extern NORETURN void nomem (long) ATTR_NORETURN;
extern void warning (const char *, ...) ATTR_FORMAT (printf, 1, 2);
extern void vwarning (const char *, va_list args) ATTR_FORMAT (printf, 1, 0);
enum gdb_osabi
{
GDB_OSABI_UNINITIALIZED = -1,
GDB_OSABI_UNKNOWN = 0,
GDB_OSABI_SVR4,
GDB_OSABI_HURD,
GDB_OSABI_SOLARIS,
GDB_OSABI_OSF1,
GDB_OSABI_LINUX,
GDB_OSABI_FREEBSD_AOUT,
GDB_OSABI_FREEBSD_ELF,
GDB_OSABI_NETBSD_AOUT,
GDB_OSABI_NETBSD_ELF,
GDB_OSABI_OPENBSD_ELF,
GDB_OSABI_WINCE,
GDB_OSABI_GO32,
GDB_OSABI_NETWARE,
GDB_OSABI_IRIX,
GDB_OSABI_LYNXOS,
GDB_OSABI_INTERIX,
GDB_OSABI_HPUX_ELF,
GDB_OSABI_HPUX_SOM,
GDB_OSABI_DARWIN,
GDB_OSABI_DARWIN64,
GDB_OSABI_DARWINV6,
GDB_OSABI_QNXNTO,
GDB_OSABI_CYGWIN,
GDB_OSABI_INVALID
};
#ifdef HAVE_STDDEF_H
#include <stddef.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifndef min
#define min(a, b) ((a) < (b) ? (a) : (b))
#endif
#ifndef max
#define max(a, b) ((a) > (b) ? (a) : (b))
#endif
#ifndef atof
extern double atof (const char *);
#endif
#ifndef alloca
#ifdef __GNUC__
#define alloca __builtin_alloca
#else
#ifdef HAVE_ALLOCA_H
#include <alloca.h>
#else
#ifdef _AIX
#pragma alloca
#else
extern void *alloca ();
#endif
#endif
#endif
#endif
#include "gdbarch.h"
enum { MAX_REGISTER_SIZE = 16 };
#if !defined (TARGET_CHAR_BIT)
#define TARGET_CHAR_BIT 8
#endif
#if defined (CHAR_BIT)
#define HOST_CHAR_BIT CHAR_BIT
#else
#define HOST_CHAR_BIT TARGET_CHAR_BIT
#endif
#if !defined (BITS_BIG_ENDIAN)
#define BITS_BIG_ENDIAN (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
#endif
extern LONGEST extract_signed_integer (const gdb_byte *, int);
extern LONGEST extract_signed_integer_with_byte_order (const gdb_byte *, int, int);
extern ULONGEST extract_unsigned_integer (const gdb_byte *, int);
extern ULONGEST extract_unsigned_integer_with_byte_order (const gdb_byte *, int, int);
extern int extract_long_unsigned_integer (const gdb_byte *, int, LONGEST *);
extern int extract_long_unsigned_integer_with_byte_order (const gdb_byte *, int, LONGEST *, int);
extern CORE_ADDR extract_typed_address (const gdb_byte *buf,
struct type *type);
extern void store_signed_integer (gdb_byte *, int, LONGEST);
extern void store_signed_integer_with_byte_order (gdb_byte *, int, LONGEST, int);
extern void store_unsigned_integer (gdb_byte *, int, ULONGEST);
extern void store_unsigned_integer_with_byte_order (gdb_byte *, int, ULONGEST, int);
extern void store_typed_address (gdb_byte *buf, struct type *type,
CORE_ADDR addr);
extern int watchdog;
extern char *interpreter_p;
struct target_waitstatus;
struct cmd_list_element;
typedef void * gdb_client_data;
typedef enum {
STATE_NOT_ACTIVE,
STATE_ACTIVE,
STATE_INFERIOR_LOADED,
STATE_INFERIOR_EXITED,
STATE_INFERIOR_LOGICALLY_RUNNING,
STATE_INFERIOR_STOPPED
} Debugger_state;
extern void (*init_ui_hook) (char *argv0);
extern void (*command_loop_hook) (void);
extern void (*deprecated_pre_add_symbol_hook) (const char *);
extern void (*deprecated_post_add_symbol_hook) (void);
extern void (*selected_frame_level_changed_hook) (int);
extern int (*deprecated_ui_loop_hook) (int signo);
extern void (*deprecated_init_ui_hook) (char *argv0);
extern void (*deprecated_command_loop_hook) (void);
extern void (*deprecated_show_load_progress) (const char *section,
unsigned long section_sent,
unsigned long section_size,
unsigned long total_sent,
unsigned long total_size);
extern void (*deprecated_print_frame_info_listing_hook) (struct symtab * s,
int line, int stopline,
int noerror);
extern void (*print_frame_more_info_hook) (struct ui_out *uiout,
struct symtab_and_line *sal,
struct frame_info *fi);
extern void (*print_source_lines_hook)
(struct symtab *s, int line, int stopline);
extern void (*state_change_hook) (Debugger_state new_state);
extern void (*frame_changed_hook) (int new_frame_number);
extern void (*stack_changed_hook) (void);
extern char * (*command_line_input_hook) (char *, int, char *);
extern void (*stepping_command_hook) (void);
extern int (*deprecated_query_hook) (const char *, va_list)
ATTRIBUTE_FPTR_PRINTF(1,0);
extern void (*deprecated_warning_hook) (const char *, va_list)
ATTRIBUTE_FPTR_PRINTF(1,0);
extern void (*deprecated_flush_hook) (struct ui_file * stream);
extern void (*deprecated_create_breakpoint_hook) (struct breakpoint * b);
extern void (*deprecated_delete_breakpoint_hook) (struct breakpoint * bpt);
extern void (*deprecated_modify_breakpoint_hook) (struct breakpoint * bpt);
extern void (*deprecated_interactive_hook) (void);
extern void (*deprecated_registers_changed_hook) (void);
extern void (*deprecated_readline_begin_hook) (char *, ...)
ATTRIBUTE_FPTR_PRINTF_1;
extern char *(*deprecated_readline_hook) (char *);
extern void (*deprecated_readline_end_hook) (void);
extern void (*deprecated_register_changed_hook) (int regno);
extern void (*deprecated_memory_changed_hook) (CORE_ADDR addr, int len);
extern void (*deprecated_context_hook) (int);
extern ptid_t (*deprecated_target_wait_hook) (ptid_t ptid,
struct target_waitstatus * status,
gdb_client_data client_data);
extern void (*deprecated_attach_hook) (void);
extern void (*deprecated_detach_hook) (void);
extern void (*deprecated_call_command_hook) (struct cmd_list_element * c,
char *cmd, int from_tty);
extern void (*deprecated_set_hook) (struct cmd_list_element * c);
extern void (*deprecated_error_hook) (void);
extern void (*continue_command_hook) (void);
extern void (*deprecated_error_begin_hook) (void);
extern int (*run_command_hook) (void);
extern void (*hand_call_function_hook) (void);
extern int (*deprecated_ui_load_progress_hook) (const char *section,
unsigned long num);
extern int use_windows;
#ifdef __MSDOS__
# define CANT_FORK
# define GLOBAL_CURDIR
# define DIRNAME_SEPARATOR ';'
#endif
#ifndef DIRNAME_SEPARATOR
#define DIRNAME_SEPARATOR ':'
#endif
#ifndef SLASH_STRING
#define SLASH_STRING "/"
#endif
#ifndef PIDGET
#define PIDGET(PTID) (ptid_get_pid (PTID))
#define TIDGET(PTID) (ptid_get_lwp (PTID))
#define MERGEPID(PID, TID) ptid_build (PID, TID, 0)
#endif
#ifndef STDIN_FILENO
#define STDIN_FILENO 0
#endif
#ifndef STDOUT_FILENO
#define STDOUT_FILENO 1
#endif
#ifndef STDERR_FILENO
#define STDERR_FILENO 2
#endif
#ifndef ISATTY
#define ISATTY(FP) (isatty (fileno (FP)))
#endif
extern ULONGEST align_up (ULONGEST v, int n);
extern ULONGEST align_down (ULONGEST v, int n);
void breakup_args (char *scratch, int *argc, char **argv);
#define __CHECK_FUNCTION __PRETTY_FUNCTION__
#define CHECK(expression) \
((void) ((expression) ? 0 : gdb_check (#expression, __FILE__, __LINE__, __CHECK_FUNCTION)))
#define CHECK_FATAL(expression) \
((void) ((expression) ? 0 : gdb_check_fatal (#expression, __FILE__, __LINE__, __CHECK_FUNCTION)))
void gdb_check (const char *str, const char *file, unsigned int line, const char *func);
void gdb_check_fatal (const char *str, const char *file, unsigned int line, const char *func);
extern int maint_use_timers;
struct cleanup *start_timer (int *timer_var, char *timer_name, char *this_mssg);
#endif