blob: 4775d2fa44ad424af6de1fc514656f77c22403ec [file] [log] [blame]
Petr Machatae99af272012-10-26 00:29:52 +02001/*
2 * This file is part of ltrace.
3 * Copyright (C) 2003,2009 Juan Cespedes
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation; either version 2 of the
8 * License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18 * 02110-1301 USA
19 */
20
Arnaud Patardca233082010-01-08 08:40:00 -050021#ifndef _DEBUG_H
22#define _DEBUG_H
23
Juan Cespedescd8976d2009-05-14 13:47:58 +020024/* debug levels:
25 */
26enum {
Juan Cespedesc5c744a2009-07-23 18:22:58 +020027 DEBUG_EVENT = 010,
28 DEBUG_PROCESS = 020,
29 DEBUG_FUNCTION = 040
Juan Cespedescd8976d2009-05-14 13:47:58 +020030};
31
32void debug_(int level, const char *file, int line,
33 const char *fmt, ...) __attribute__((format(printf,4,5)));
Ian Wienand9a2ad352006-02-20 22:44:45 +010034
Ian Wienand9a2ad352006-02-20 22:44:45 +010035int xinfdump(long, void *, int);
36
Juan Cespedescd8976d2009-05-14 13:47:58 +020037# define debug(level, expr...) debug_(level, __FILE__, __LINE__, expr)
Juan Cespedescac15c32003-01-31 18:58:58 +010038
Arnaud Patardca233082010-01-08 08:40:00 -050039#endif