/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _ERROR_H
#define _ERROR_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
typedef int boolean;
#define FALSE 0
#define true 1
#define false 0
/*
* Descriptors for the various languages we know about.
* If you touch these, also touch lang_table
*/
#define INUNKNOWN 0
extern int language;
/*
* We analyze each line in the error message file, and
* attempt to categorize it by type, as well as language.
* Here are the type descriptors.
*/
typedef int Errorclass;
/*
* Resources to count and print out the error categories
*/
extern char *class_table[];
extern int class_count[];
/* places to put the error complaints */
extern char *currentfilename;
extern char *processname;
extern char *scriptname;
/*
* codes for inquire() to return
*/
int probethisfile(char *name);
/*
* codes for probethisfile to return
*/
/*
* Describes attributes about a language
*/
struct lang_desc {
char *lang_name;
};
extern struct lang_desc lang_table[];
/*
* Defines and resources for determing if a given line
* is to be discarded because it refers to a file not to
* be touched, or if the function reference is to a
* function the user doesn't want recorded.
*/
int nignored;
char **names_ignored;
/*
* Structure definition for a full error
*/
struct edesc {
};
/*
* Resources for the true errors
*/
extern int nerrors;
/*
* Resources for each of the files mentioned
*/
extern int nfiles;
/*
* The langauge the compilation is in, as intuited from
* the flavor of error messages analyzed.
*/
extern int langauge;
extern char *currentfilename;
/*
* Functional forwards
*/
char next_lastchar(char *string);
/*
* Printing hacks
*/
char *plural(int n);
char *verbform(int n);
void getignored(char *auxname);
#ifdef __cplusplus
}
#endif
#endif /* _ERROR_H */