OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [insight/] [gdb/] [gdbtk/] [generic/] [gdbtk-wrapper.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 578 markom
/* longjmp-free interface between gdb and gdbtk.
2
   Copyright 1999-2000 Free Software Foundation, Inc.
3
 
4
This file is part of GDB.  It contains routines to safely call common gdb
5
functions without the fear of longjmp'ing.
6
 
7
This program is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 2 of the License, or
10
(at your option) any later version.
11
 
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
GNU General Public License for more details.
16
 
17
You should have received a copy of the GNU General Public License
18
along with this program; if not, write to the Free Software
19
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20
 
21
#ifndef GDBTK_WRAPPER_H
22
#define GDBTK_WRAPPER_H
23
/* Use this struct used to pass arguments to wrapper routines. We assume
24
   (arbitrarily) that no gdb function takes more than ten arguments. */
25
struct gdb_wrapper_arguments {
26
 
27
  /* Pointer to some result from the gdb function call, if any */
28
  char *result;
29
 
30
  /* The list of arguments. */
31
  char *args[10];
32
};
33
 
34
/* Whenever any gdb function wrapper is called, its return status is: */
35
typedef enum gdb_wrapper_status { GDB_OK, GDB_ERROR } gdb_result;
36
 
37
/* This list of functions which have been wrapped. Please keep this list
38
   in alphabetical order, using "GDB_" to prefix the actual name of the
39
   function. */
40
extern gdb_result GDB_evaluate_expression (struct expression *expr,
41
                                           value_ptr * val);
42
extern gdb_result GDB_select_frame (struct frame_info *fi, int level);
43
extern gdb_result GDB_type_print (value_ptr val, char *varstring,
44
                                  struct ui_file *stream, int show);
45
extern gdb_result GDB_val_print (struct type *type, char *valaddr,
46
                                 CORE_ADDR address, struct ui_file *stream,
47
                                 int format, int deref_ref, int recurse,
48
                                 enum val_prettyprint pretty);
49
extern gdb_result GDB_value_fetch_lazy (value_ptr value);
50
extern gdb_result GDB_value_equal (value_ptr val1, value_ptr val2,
51
                                   int *result);
52
extern gdb_result GDB_parse_exp_1 (char **stringptr, struct block *block,
53
                                   int comma, struct expression **result);
54
extern gdb_result GDB_evaluate_type (struct expression *exp,
55
                                     value_ptr * result);
56
extern gdb_result GDB_block_for_pc (CORE_ADDR pc, struct block **result);
57
extern gdb_result GDB_block_innermost_frame (struct block *block,
58
                                             struct frame_info **result);
59
extern gdb_result GDB_reinit_frame_cache (void);
60
extern gdb_result GDB_find_frame_addr_in_frame_chain (CORE_ADDR addr,
61
                                                      struct frame_info
62
                                                      **result);
63
extern gdb_result GDB_value_ind (value_ptr val, value_ptr * rval);
64
extern gdb_result GDB_value_slice (value_ptr val, int low, int num,
65
                                   value_ptr * rval);
66
extern gdb_result GDB_value_coerce_array (value_ptr val, value_ptr * rval);
67
extern gdb_result GDB_value_struct_elt (value_ptr * argp, value_ptr * args,
68
                                        char *name, int *static_memfunc,
69
                                        char *err, value_ptr * rval);
70
extern gdb_result GDB_value_cast (struct type *type, value_ptr val,
71
                                  value_ptr * rval);
72
gdb_result GDB_get_frame_block (struct frame_info *fi, struct block **rval);
73
extern gdb_result GDB_get_prev_frame (struct frame_info *fi,
74
                                      struct frame_info **result);
75
extern gdb_result GDB_get_next_frame (struct frame_info *fi,
76
                                      struct frame_info **result);
77
extern gdb_result GDB_find_relative_frame (struct frame_info *fi,
78
                                           int *start,
79
                                           struct frame_info **result);
80
extern gdb_result GDB_get_current_frame (struct frame_info **result);
81
#endif /* GDBTK_WRAPPER_H */
82
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.