GDB (xrefs)
/tmp/gdb-7.10/gdb/infcall.h
Go to the documentation of this file.
1 /* Perform an inferior function call, for GDB, the GNU debugger.
2 
3  Copyright (C) 2003-2015 Free Software Foundation, Inc.
4 
5  This file is part of GDB.
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 3 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, see <http://www.gnu.org/licenses/>. */
19 
20 #ifndef INFCALL_H
21 #define INFCALL_H
22 
23 #include "dummy-frame.h"
24 
25 struct value;
26 struct type;
27 
28 extern CORE_ADDR find_function_addr (struct value *function,
29  struct type **retval_type);
30 
31 /* Perform a function call in the inferior.
32 
33  ARGS is a vector of values of arguments (NARGS of them). FUNCTION
34  is a value, the function to be called. Returns a value
35  representing what the function returned. May fail to return, if a
36  breakpoint or signal is hit during the execution of the function.
37 
38  ARGS is modified to contain coerced values. */
39 
40 extern struct value *call_function_by_hand (struct value *function, int nargs,
41  struct value **args);
42 
43 /* Similar to call_function_by_hand and additional call
44  register_dummy_frame_dtor with DUMMY_DTOR and DUMMY_DTOR_DATA for the
45  created inferior call dummy frame. */
46 
47 extern struct value *
48  call_function_by_hand_dummy (struct value *function, int nargs,
49  struct value **args,
50  dummy_frame_dtor_ftype *dummy_dtor,
51  void *dummy_dtor_data);
52 
55  (struct dummy_frame_context_saver *data);
56 extern void dummy_frame_context_saver_cleanup (void *data_voidp);
58  (struct dummy_frame_context_saver *saver);
60  (struct frame_id dummy_id, ptid_t ptid);
61 
62 #endif
void dummy_frame_context_saver_drop(struct dummy_frame_context_saver *data)
Definition: infcall.c:538
bfd_vma CORE_ADDR
Definition: common-types.h:41
void dummy_frame_context_saver_cleanup(void *data_voidp)
Definition: infcall.c:549
struct value * call_function_by_hand(struct value *function, int nargs, struct value **args)
Definition: infcall.c:488
struct dummy_frame_context_saver * dummy_frame_context_saver_setup(struct frame_id dummy_id, ptid_t ptid)
Definition: infcall.c:571
Definition: ptid.h:35
Definition: gdbtypes.h:749
void( dummy_frame_dtor_ftype)(void *data, int registers_valid)
Definition: dummy-frame.h:59
struct value * call_function_by_hand_dummy(struct value *function, int nargs, struct value **args, dummy_frame_dtor_ftype *dummy_dtor, void *dummy_dtor_data)
Definition: infcall.c:602
struct regcache * dummy_frame_context_saver_get_regs(struct dummy_frame_context_saver *saver)
Definition: infcall.c:560
Definition: value.c:172
CORE_ADDR find_function_addr(struct value *function, struct type **retval_type)
Definition: infcall.c:247