common.h revision 8bf82d0625c5704d31961db7e0458b247300275c
1/* 2 * This file is part of ltrace. 3 * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc. 4 * Copyright (C) 2010 Joe Damato 5 * Copyright (C) 2009 Juan Cespedes 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License as 9 * published by the Free Software Foundation; either version 2 of the 10 * License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, but 13 * WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * 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., 51 Franklin St, Fifth Floor, Boston, MA 20 * 02110-1301 USA 21 */ 22 23#ifndef COMMON_H 24#define COMMON_H 25 26#include <config.h> 27 28#include <sys/types.h> 29#include <sys/time.h> 30#include <stdio.h> 31 32#include "ltrace.h" 33#include "defs.h" 34#include "dict.h" 35#include "sysdep.h" 36#include "debug.h" 37#include "ltrace-elf.h" 38#include "read_config_file.h" 39#include "proc.h" 40#include "forward.h" 41 42extern char * command; 43 44extern int exiting; /* =1 if we have to exit ASAP */ 45 46struct prototype { 47 const char *name; 48 struct param *params; 49 struct arg_type_info *return_info; 50 int own_return_info; 51 size_t num_params; 52 struct prototype *next; 53}; 54 55extern struct prototype *list_of_functions; 56extern char *PLTs_initialized_by_here; 57 58#include "options.h" 59#include "output.h" 60 61/* Events */ 62extern Event * next_event(void); 63extern void handle_event(Event * event); 64 65extern pid_t execute_program(const char * command, char ** argv); 66 67extern void show_summary(void); 68 69struct breakpoint; 70struct library_symbol; 71 72/* Format VALUE into STREAM. The dictionary of all arguments is given 73 * for purposes of evaluating array lengths and other dynamic 74 * expressions. Returns number of characters outputted, -1 in case of 75 * failure. */ 76int format_argument(FILE *stream, struct value *value, 77 struct value_dict *arguments); 78 79#endif 80