1 /* Perform an inferior function call, for GDB, the GNU debugger.
3 Copyright (C) 2003-2015 Free Software Foundation, Inc.
5 This file is part of GDB.
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.
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.
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/>. */
23 #include "dummy-frame.h"
28 extern CORE_ADDR
find_function_addr (struct value
*function
,
29 struct type
**retval_type
);
31 /* Perform a function call in the inferior.
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.
38 ARGS is modified to contain coerced values. */
40 extern struct value
*call_function_by_hand (struct value
*function
, int nargs
,
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. */
48 call_function_by_hand_dummy (struct value
*function
, int nargs
,
50 dummy_frame_dtor_ftype
*dummy_dtor
,
51 void *dummy_dtor_data
);
53 struct dummy_frame_context_saver
;
54 extern void dummy_frame_context_saver_drop
55 (struct dummy_frame_context_saver
*data
);
56 extern void dummy_frame_context_saver_cleanup (void *data_voidp
);
57 extern struct regcache
*dummy_frame_context_saver_get_regs
58 (struct dummy_frame_context_saver
*saver
);
59 extern struct dummy_frame_context_saver
*dummy_frame_context_saver_setup
60 (struct frame_id dummy_id
, ptid_t ptid
);