Fix annota-input-while-running.exp remote check
[external/binutils.git] / gdb / infcall.h
1 /* Perform an inferior function call, for GDB, the GNU debugger.
2
3    Copyright (C) 2003-2016 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
53 #endif