1130803Smarcel/* Perform an inferior function call, for GDB, the GNU debugger.
2130803Smarcel
3130803Smarcel   Copyright 2003 Free Software Foundation, Inc.
4130803Smarcel
5130803Smarcel   This file is part of GDB.
6130803Smarcel
7130803Smarcel   This program is free software; you can redistribute it and/or modify
8130803Smarcel   it under the terms of the GNU General Public License as published by
9130803Smarcel   the Free Software Foundation; either version 2 of the License, or
10130803Smarcel   (at your option) any later version.
11130803Smarcel
12130803Smarcel   This program is distributed in the hope that it will be useful,
13130803Smarcel   but WITHOUT ANY WARRANTY; without even the implied warranty of
14130803Smarcel   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15130803Smarcel   GNU General Public License for more details.
16130803Smarcel
17130803Smarcel   You should have received a copy of the GNU General Public License
18130803Smarcel   along with this program; if not, write to the Free Software
19130803Smarcel   Foundation, Inc., 59 Temple Place - Suite 330,
20130803Smarcel   Boston, MA 02111-1307, USA.  */
21130803Smarcel
22130803Smarcel#ifndef INFCALL_H
23130803Smarcel#define INFCALL_H
24130803Smarcel
25130803Smarcelstruct value;
26130803Smarcelstruct type;
27130803Smarcel
28130803Smarcelextern CORE_ADDR find_function_addr (struct value *function,
29130803Smarcel				     struct type **retval_type);
30130803Smarcel
31130803Smarcel/* Perform a function call in the inferior.
32130803Smarcel
33130803Smarcel   ARGS is a vector of values of arguments (NARGS of them).  FUNCTION
34130803Smarcel   is a value, the function to be called.  Returns a value
35130803Smarcel   representing what the function returned.  May fail to return, if a
36130803Smarcel   breakpoint or signal is hit during the execution of the function.
37130803Smarcel
38130803Smarcel   ARGS is modified to contain coerced values. */
39130803Smarcel
40130803Smarcelextern struct value *call_function_by_hand (struct value *function, int nargs,
41130803Smarcel					    struct value **args);
42130803Smarcel
43130803Smarcel#endif
44