119370Spst/* Definitions for complaint handling during symbol reading in GDB.
219370Spst
3130803Smarcel   Copyright 1990, 1991, 1992, 1995, 1998, 2000, 2002 Free Software
4130803Smarcel   Foundation, Inc.
5130803Smarcel
698944Sobrien   This file is part of GDB.
719370Spst
898944Sobrien   This program is free software; you can redistribute it and/or modify
998944Sobrien   it under the terms of the GNU General Public License as published by
1098944Sobrien   the Free Software Foundation; either version 2 of the License, or
1198944Sobrien   (at your option) any later version.
1219370Spst
1398944Sobrien   This program is distributed in the hope that it will be useful,
1498944Sobrien   but WITHOUT ANY WARRANTY; without even the implied warranty of
1598944Sobrien   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1698944Sobrien   GNU General Public License for more details.
1719370Spst
1898944Sobrien   You should have received a copy of the GNU General Public License
1998944Sobrien   along with this program; if not, write to the Free Software
2098944Sobrien   Foundation, Inc., 59 Temple Place - Suite 330,
2198944Sobrien   Boston, MA 02111-1307, USA.  */
2219370Spst
2319370Spst
2446283Sdfr#if !defined (COMPLAINTS_H)
2546283Sdfr#define COMPLAINTS_H
2646283Sdfr
27130803Smarcel/* Opaque object used to track the number of complaints of a
28130803Smarcel   particular category.  */
29130803Smarcelstruct complaints;
3046283Sdfr
31130803Smarcel/* Predefined categories.  */
32130803Smarcelextern struct complaints *symfile_complaints;
3319370Spst
34130803Smarcel/* Register a complaint.  */
35130803Smarcelextern void complaint (struct complaints **complaints, const char *fmt,
36130803Smarcel		       ...) ATTR_FORMAT (printf, 2, 3);
37130803Smarcelextern void internal_complaint (struct complaints **complaints,
38130803Smarcel				const char *file, int line, const char *fmt,
39130803Smarcel				...) ATTR_FORMAT (printf, 4, 5);
4019370Spst
41130803Smarcel/* Clear out / initialize all complaint counters that have ever been
42130803Smarcel   incremented.  If LESS_VERBOSE is 1, be less verbose about
43130803Smarcel   successive complaints, since the messages are appearing all
44130803Smarcel   together during a command that is reporting a contiguous block of
45130803Smarcel   complaints (rather than being interleaved with other messages).  If
46130803Smarcel   noisy is 1, we are in a noisy command, and our caller will print
47130803Smarcel   enough context for the user to figure it out.  */
4819370Spst
49130803Smarcelextern void clear_complaints (struct complaints **complaints,
50130803Smarcel			      int less_verbose, int noisy);
5119370Spst
5219370Spst
5398944Sobrien#endif /* !defined (COMPLAINTS_H) */
54