17c478bdstevel@tonic-gate/*
27c478bdstevel@tonic-gate * CDDL HEADER START
37c478bdstevel@tonic-gate *
47c478bdstevel@tonic-gate * The contents of this file are subject to the terms of the
57c478bdstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only
67c478bdstevel@tonic-gate * (the "License").  You may not use this file except in compliance
77c478bdstevel@tonic-gate * with the License.
87c478bdstevel@tonic-gate *
97c478bdstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
107c478bdstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
117c478bdstevel@tonic-gate * See the License for the specific language governing permissions
127c478bdstevel@tonic-gate * and limitations under the License.
137c478bdstevel@tonic-gate *
147c478bdstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
157c478bdstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
167c478bdstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
177c478bdstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
187c478bdstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
197c478bdstevel@tonic-gate *
207c478bdstevel@tonic-gate * CDDL HEADER END
217c478bdstevel@tonic-gate */
227c478bdstevel@tonic-gate/*
237c478bdstevel@tonic-gate * Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
247c478bdstevel@tonic-gate * Use is subject to license terms.
257c478bdstevel@tonic-gate */
267c478bdstevel@tonic-gate
272b6389eBryan Cantrill/*
282b6389eBryan Cantrill * Copyright (c) 2011, Joyent, Inc. All rights reserved.
29e5803b7Adam H. Leventhal * Copyright (c) 2012 by Delphix. All rights reserved.
302b6389eBryan Cantrill */
312b6389eBryan Cantrill
327c478bdstevel@tonic-gate#ifndef	_DT_ERRTAGS_H
337c478bdstevel@tonic-gate#define	_DT_ERRTAGS_H
347c478bdstevel@tonic-gate
357c478bdstevel@tonic-gate#ifdef	__cplusplus
367c478bdstevel@tonic-gateextern "C" {
377c478bdstevel@tonic-gate#endif
387c478bdstevel@tonic-gate
397c478bdstevel@tonic-gate/*
407c478bdstevel@tonic-gate * This enum definition is used to define a set of error tags associated with
417c478bdstevel@tonic-gate * the D compiler's various error conditions.  The shell script mkerrtags.sh is
427c478bdstevel@tonic-gate * used to parse this file and create a corresponding dt_errtags.c source file.
437c478bdstevel@tonic-gate * If you do something other than add a new error tag here, you may need to
447c478bdstevel@tonic-gate * update the mkerrtags shell script as it is based upon simple regexps.
457c478bdstevel@tonic-gate */
467c478bdstevel@tonic-gatetypedef enum {
477c478bdstevel@tonic-gate	D_UNKNOWN,			/* unknown D compiler error */
487c478bdstevel@tonic-gate	D_SYNTAX,			/* syntax error in input stream */
497c478bdstevel@tonic-gate	D_EMPTY,			/* empty translation unit */
507c478bdstevel@tonic-gate	D_TYPE_ERR,			/* type definition missing */
517c478bdstevel@tonic-gate	D_TYPE_MEMBER,			/* type member not found */
527c478bdstevel@tonic-gate	D_ASRELO,			/* relocation remains against symbol */
537c478bdstevel@tonic-gate	D_CG_EXPR,			/* tracing function called from expr */
547c478bdstevel@tonic-gate	D_CG_DYN,			/* expression returns dynamic result */
557c478bdstevel@tonic-gate	D_ATTR_MIN,			/* attributes less than amin setting */
567c478bdstevel@tonic-gate	D_ID_OFLOW,			/* identifier space overflow */
577c478bdstevel@tonic-gate	D_PDESC_ZERO,			/* probedesc matches zero probes */
587c478bdstevel@tonic-gate	D_PDESC_INVAL,			/* probedesc is not valid */
597c478bdstevel@tonic-gate	D_PRED_SCALAR,			/* predicate must be of scalar type */
607c478bdstevel@tonic-gate	D_FUNC_IDENT,			/* function designator is not ident */
617c478bdstevel@tonic-gate	D_FUNC_UNDEF,			/* function ident is not defined */
627c478bdstevel@tonic-gate	D_FUNC_IDKIND,			/* function ident is of wrong idkind */
637c478bdstevel@tonic-gate	D_OFFSETOF_TYPE,		/* offsetof arg is not sou type */
647c478bdstevel@tonic-gate	D_OFFSETOF_BITFIELD,		/* offsetof applied to field member */
657c478bdstevel@tonic-gate	D_SIZEOF_TYPE,			/* invalid sizeof type */
667c478bdstevel@tonic-gate	D_SIZEOF_BITFIELD,		/* sizeof applied to field member */
677c478bdstevel@tonic-gate	D_STRINGOF_TYPE,		/* invalid stringof type */
687c478bdstevel@tonic-gate	D_OP_IDENT,			/* operand must be an identifier */
697c478bdstevel@tonic-gate	D_OP_INT,			/* operand must be integral type */
707c478bdstevel@tonic-gate	D_OP_SCALAR,			/* operand must be scalar type */
717c478bdstevel@tonic-gate	D_OP_ARITH,			/* operand must be arithmetic type */
727c478bdstevel@tonic-gate	D_OP_WRITE,			/* operand must be writable variable */
737c478bdstevel@tonic-gate	D_OP_LVAL,			/* operand must be lvalue */
747c478bdstevel@tonic-gate	D_OP_INCOMPAT,			/* operand types are not compatible */
757c478bdstevel@tonic-gate	D_OP_VFPTR,			/* operand cannot be void or func ptr */
767c478bdstevel@tonic-gate	D_OP_ARRFUN,			/* operand cannot be array or func */
777c478bdstevel@tonic-gate	D_OP_PTR,			/* operand must be a pointer */
787c478bdstevel@tonic-gate	D_OP_SOU,			/* operand must be struct or union */
797c478bdstevel@tonic-gate	D_OP_INCOMPLETE,		/* operand is an incomplete type */
807c478bdstevel@tonic-gate	D_OP_DYN,			/* operand cannot be of dynamic type */
817c478bdstevel@tonic-gate	D_OP_ACT,			/* operand cannot be action */
827c478bdstevel@tonic-gate	D_AGG_REDEF,			/* aggregation cannot be redefined */
837c478bdstevel@tonic-gate	D_AGG_FUNC,			/* aggregating function required */
847c478bdstevel@tonic-gate	D_AGG_MDIM,			/* aggregation used as multi-dim arr */
857c478bdstevel@tonic-gate	D_ARR_BADREF,			/* access non-array using tuple */
867c478bdstevel@tonic-gate	D_ARR_LOCAL,			/* cannot define local assc array */
877c478bdstevel@tonic-gate	D_DIV_ZERO,			/* division by zero detected */
887c478bdstevel@tonic-gate	D_DEREF_NONPTR,			/* dereference non-pointer type */
897c478bdstevel@tonic-gate	D_DEREF_VOID,			/* dereference void pointer */
907c478bdstevel@tonic-gate	D_DEREF_FUNC,			/* dereference function pointer */
917c478bdstevel@tonic-gate	D_ADDROF_LVAL,			/* unary & applied to non-lvalue */
927c478bdstevel@tonic-gate	D_ADDROF_VAR,			/* unary & applied to variable */
937c478bdstevel@tonic-gate	D_ADDROF_BITFIELD,		/* unary & applied to field member */
947c478bdstevel@tonic-gate	D_XLATE_REDECL,			/* translator redeclared */
957c478bdstevel@tonic-gate	D_XLATE_NOCONV,			/* no conversion for member defined */
967c478bdstevel@tonic-gate	D_XLATE_NONE,			/* no translator for type combo */
977c478bdstevel@tonic-gate	D_XLATE_SOU,			/* dst must be struct or union type */
987c478bdstevel@tonic-gate	D_XLATE_INCOMPAT,		/* translator member type incompat */
997c478bdstevel@tonic-gate	D_XLATE_MEMB,			/* translator member is not valid */
1007c478bdstevel@tonic-gate	D_CAST_INVAL,			/* invalid cast expression */
1017c478bdstevel@tonic-gate	D_PRAGERR,			/* #pragma error message */
1027c478bdstevel@tonic-gate	D_PRAGCTL_INVAL,		/* invalid control directive */
1037c478bdstevel@tonic-gate	D_PRAGMA_INVAL,			/* invalid compiler pragma */
1047c478bdstevel@tonic-gate	D_PRAGMA_UNUSED,		/* unused compiler pragma */
1057c478bdstevel@tonic-gate	D_PRAGMA_MALFORM,		/* malformed #pragma argument list */
1067c478bdstevel@tonic-gate	D_PRAGMA_OPTSET,		/* failed to set #pragma option */
1077c478bdstevel@tonic-gate	D_PRAGMA_SCOPE,			/* #pragma identifier scope error */
1087c478bdstevel@tonic-gate	D_PRAGMA_DEPEND,		/* #pragma dependency not satisfied */
1097c478bdstevel@tonic-gate	D_MACRO_UNDEF,			/* macro parameter is not defined */
1107c478bdstevel@tonic-gate	D_MACRO_OFLOW,			/* macro parameter integer overflow */
1117c478bdstevel@tonic-gate	D_MACRO_UNUSED,			/* macro parameter is never used */
1127c478bdstevel@tonic-gate	D_INT_OFLOW,			/* integer constant overflow */
1137c478bdstevel@tonic-gate	D_INT_DIGIT,			/* integer digit is not valid */
1147c478bdstevel@tonic-gate	D_STR_NL,			/* newline in string literal */
1157c478bdstevel@tonic-gate	D_CHR_NL,			/* newline in character constant */
1167c478bdstevel@tonic-gate	D_CHR_NULL,			/* empty character constant */
1177c478bdstevel@tonic-gate	D_CHR_OFLOW,			/* character constant is too long */
1187c478bdstevel@tonic-gate	D_IDENT_BADREF,			/* identifier expected type mismatch */
1197c478bdstevel@tonic-gate	D_IDENT_UNDEF,			/* identifier is not known/defined */
1207c478bdstevel@tonic-gate	D_IDENT_AMBIG,			/* identifier is ambiguous (var/enum) */
1217c478bdstevel@tonic-gate	D_SYM_BADREF,			/* kernel/user symbol ref mismatch */
1227c478bdstevel@tonic-gate	D_SYM_NOTYPES,			/* no CTF data available for sym ref */
1237c478bdstevel@tonic-gate	D_SYM_MODEL,			/* module/program data model mismatch */
1247c478bdstevel@tonic-gate	D_VAR_UNDEF,			/* reference to undefined variable */
1257c478bdstevel@tonic-gate	D_VAR_UNSUP,			/* unsupported variable specification */
1267c478bdstevel@tonic-gate	D_PROTO_LEN,			/* prototype length mismatch */
1277c478bdstevel@tonic-gate	D_PROTO_ARG,			/* prototype argument mismatch */
1287c478bdstevel@tonic-gate	D_ARGS_MULTI,			/* description matches unstable set */
1297c478bdstevel@tonic-gate	D_ARGS_XLATOR,			/* no args[] translator defined */
1307c478bdstevel@tonic-gate	D_ARGS_NONE,			/* no args[] available */
1317c478bdstevel@tonic-gate	D_ARGS_TYPE,			/* invalid args[] type */
1327c478bdstevel@tonic-gate	D_ARGS_IDX,			/* invalid args[] index */
1337c478bdstevel@tonic-gate	D_REGS_IDX,			/* invalid regs[] index */
1347c478bdstevel@tonic-gate	D_KEY_TYPE,			/* invalid agg or array key type */
1357c478bdstevel@tonic-gate	D_PRINTF_DYN_PROTO,		/* dynamic size argument missing */
1367c478bdstevel@tonic-gate	D_PRINTF_DYN_TYPE,		/* dynamic size type mismatch */
1377c478bdstevel@tonic-gate	D_PRINTF_AGG_CONV,		/* improper use of %@ conversion */
1387c478bdstevel@tonic-gate	D_PRINTF_ARG_PROTO,		/* conversion missing value argument */
1397c478bdstevel@tonic-gate	D_PRINTF_ARG_TYPE,		/* conversion arg has wrong type */
1407c478bdstevel@tonic-gate	D_PRINTF_ARG_EXTRA,		/* extra arguments specified */
1417c478bdstevel@tonic-gate	D_PRINTF_ARG_FMT,		/* format string is not a constant */
1427c478bdstevel@tonic-gate	D_PRINTF_FMT_EMPTY,		/* format string is empty */
1437c478bdstevel@tonic-gate	D_DECL_CHARATTR,		/* bad attributes for char decl */
1447c478bdstevel@tonic-gate	D_DECL_VOIDATTR,		/* bad attributes for void decl */
1457c478bdstevel@tonic-gate	D_DECL_SIGNINT,			/* sign/unsign with non-integer decl */
1467c478bdstevel@tonic-gate	D_DECL_LONGINT,			/* long with non-arithmetic decl */
1477c478bdstevel@tonic-gate	D_DECL_IDENT,			/* old-style declaration or bad type */
1487c478bdstevel@tonic-gate	D_DECL_CLASS,			/* more than one storage class given */
1497c478bdstevel@tonic-gate	D_DECL_BADCLASS,		/* decl class not supported in D */
1507c478bdstevel@tonic-gate	D_DECL_PARMCLASS,		/* invalid class for parameter type */
1517c478bdstevel@tonic-gate	D_DECL_COMBO, 			/* bad decl specifier combination */
1527c478bdstevel@tonic-gate	D_DECL_ARRSUB,			/* const int required for array size */
1537c478bdstevel@tonic-gate	D_DECL_ARRNULL,			/* array decl requires dim or tuple */
1547c478bdstevel@tonic-gate	D_DECL_ARRBIG,			/* array size too big */
1557c478bdstevel@tonic-gate	D_DECL_IDRED,			/* decl identifier redeclared */
1567c478bdstevel@tonic-gate	D_DECL_TYPERED,			/* decl type redeclared */
1577c478bdstevel@tonic-gate	D_DECL_MNAME,			/* member name missing */
1587c478bdstevel@tonic-gate	D_DECL_SCOPE,			/* scoping operator used in decl */
1597c478bdstevel@tonic-gate	D_DECL_BFCONST,			/* bit-field requires const size expr */
1607c478bdstevel@tonic-gate	D_DECL_BFSIZE,			/* bit-field size too big for type */
1617c478bdstevel@tonic-gate	D_DECL_BFTYPE,			/* bit-field type is not valid */
1627c478bdstevel@tonic-gate	D_DECL_ENCONST,			/* enum tag requires const size expr */
1637c478bdstevel@tonic-gate	D_DECL_ENOFLOW,			/* enumerator value overflows INT_MAX */
1647c478bdstevel@tonic-gate	D_DECL_USELESS,			/* useless external declaration */
1657c478bdstevel@tonic-gate	D_DECL_LOCASSC,			/* attempt to decl local assc array */
1667c478bdstevel@tonic-gate	D_DECL_VOIDOBJ,			/* attempt to decl void object */
1677c478bdstevel@tonic-gate	D_DECL_DYNOBJ,			/* attempt to decl dynamic object */
1687c478bdstevel@tonic-gate	D_DECL_INCOMPLETE,		/* declaration uses incomplete type */
1697c478bdstevel@tonic-gate	D_DECL_PROTO_VARARGS,		/* varargs not allowed in prototype */
1707c478bdstevel@tonic-gate	D_DECL_PROTO_TYPE,		/* type not allowed in prototype */
1717c478bdstevel@tonic-gate	D_DECL_PROTO_VOID,		/* void must be sole parameter */
1727c478bdstevel@tonic-gate	D_DECL_PROTO_NAME,		/* void parameter may not have a name */
1737c478bdstevel@tonic-gate	D_DECL_PROTO_FORM,		/* parameter name has no formal */
1747c478bdstevel@tonic-gate	D_COMM_COMM,			/* commit() after commit() */
1757c478bdstevel@tonic-gate	D_COMM_DREC,			/* commit() after data action */
1767c478bdstevel@tonic-gate	D_SPEC_SPEC,			/* speculate() after speculate() */
1777c478bdstevel@tonic-gate	D_SPEC_COMM,			/* speculate() after commit() */
1787c478bdstevel@tonic-gate	D_SPEC_DREC,			/* speculate() after data action */
1797c478bdstevel@tonic-gate	D_AGG_COMM,			/* aggregating act after commit() */
1807c478bdstevel@tonic-gate	D_AGG_SPEC,			/* aggregating act after speculate() */
1817c478bdstevel@tonic-gate	D_AGG_NULL,			/* aggregation stmt has null effect */
1827c478bdstevel@tonic-gate	D_AGG_SCALAR,			/* aggregating function needs scalar */
1837c478bdstevel@tonic-gate	D_ACT_SPEC,			/* destructive action after speculate */
1847c478bdstevel@tonic-gate	D_EXIT_SPEC,			/* exit() action after speculate */
1857c478bdstevel@tonic-gate	D_DREC_COMM,			/* data action after commit() */
1867c478bdstevel@tonic-gate	D_PRINTA_PROTO,			/* printa() prototype mismatch */
1877c478bdstevel@tonic-gate	D_PRINTA_AGGARG,		/* aggregation arg type mismatch */
1887c478bdstevel@tonic-gate	D_PRINTA_AGGBAD,		/* printa() aggregation not defined */
18930ef842bmc	D_PRINTA_AGGKEY,		/* printa() aggregation key mismatch */
19030ef842bmc	D_PRINTA_AGGPROTO,		/* printa() aggregation mismatch */
1917c478bdstevel@tonic-gate	D_TRACE_VOID,			/* trace() argument has void type */
1927c478bdstevel@tonic-gate	D_TRACE_DYN,			/* trace() argument has dynamic type */
193e98f46cAdam Leventhal	D_TRACE_AGG,			/* trace() argument is an aggregation */
194deef35fEric Schrock	D_PRINT_VOID,			/* print() argument has void type */
195deef35fEric Schrock	D_PRINT_DYN,			/* print() argument has dynamic type */
196e98f46cAdam Leventhal	D_PRINT_AGG,			/* print() argument is an aggregation */
1977c478bdstevel@tonic-gate	D_TRACEMEM_ADDR,		/* tracemem() address bad type */
1987c478bdstevel@tonic-gate	D_TRACEMEM_SIZE,		/* tracemem() size bad type */
1991ea5f93Bryan Cantrill	D_TRACEMEM_ARGS,		/* tracemem() illegal number of args */
2001ea5f93Bryan Cantrill	D_TRACEMEM_DYNSIZE,		/* tracemem() dynamic size bad type */
2017c478bdstevel@tonic-gate	D_STACK_PROTO,			/* stack() prototype mismatch */
2027c478bdstevel@tonic-gate	D_STACK_SIZE,			/* stack() size argument bad type */
2037c478bdstevel@tonic-gate	D_USTACK_FRAMES,		/* ustack() frames arg bad type */
2047c478bdstevel@tonic-gate	D_USTACK_STRSIZE,		/* ustack() strsize arg bad type */
2057c478bdstevel@tonic-gate	D_USTACK_PROTO,			/* ustack() prototype mismatch */
2067c478bdstevel@tonic-gate	D_LQUANT_BASETYPE,		/* lquantize() bad base type */
2077c478bdstevel@tonic-gate	D_LQUANT_BASEVAL,		/* lquantize() bad base value */
2087c478bdstevel@tonic-gate	D_LQUANT_LIMTYPE,		/* lquantize() bad limit type */
2097c478bdstevel@tonic-gate	D_LQUANT_LIMVAL,		/* lquantize() bad limit value */
2107c478bdstevel@tonic-gate	D_LQUANT_MISMATCH,		/* lquantize() limit < base */
2117c478bdstevel@tonic-gate	D_LQUANT_STEPTYPE,		/* lquantize() bad step type */
2127c478bdstevel@tonic-gate	D_LQUANT_STEPVAL,		/* lquantize() bad step value */
2137c478bdstevel@tonic-gate	D_LQUANT_STEPLARGE,		/* lquantize() step too large */
2147c478bdstevel@tonic-gate	D_LQUANT_STEPSMALL,		/* lquantize() step too small */
215a1b5e53bmc	D_QUANT_PROTO,			/* quantize() prototype mismatch */
2167c478bdstevel@tonic-gate	D_PROC_OFF,			/* byte offset exceeds function size */
2177c478bdstevel@tonic-gate	D_PROC_ALIGN,			/* byte offset has invalid alignment */
2187c478bdstevel@tonic-gate	D_PROC_NAME,			/* invalid process probe name */
2197c478bdstevel@tonic-gate	D_PROC_GRAB,			/* failed to grab process */
2207c478bdstevel@tonic-gate	D_PROC_DYN,			/* process is not dynamically linked */
2217c478bdstevel@tonic-gate	D_PROC_LIB,			/* invalid process library name */
2227c478bdstevel@tonic-gate	D_PROC_FUNC,			/* no such function in process */
2237c478bdstevel@tonic-gate	D_PROC_CREATEFAIL,		/* pid probe creation failed */
2247c478bdstevel@tonic-gate	D_PROC_NODEV,			/* fasttrap device is not installed */
2257c478bdstevel@tonic-gate	D_PROC_BADPID,			/* user probe pid invalid */
2267c478bdstevel@tonic-gate	D_PROC_BADPROV,			/* user probe provider invalid */
2277c478bdstevel@tonic-gate	D_PROC_USDT,			/* problem initializing usdt */
2287c478bdstevel@tonic-gate	D_CLEAR_PROTO,			/* clear() prototype mismatch */
2297c478bdstevel@tonic-gate	D_CLEAR_AGGARG,			/* aggregation arg type mismatch */
2307c478bdstevel@tonic-gate	D_CLEAR_AGGBAD,			/* clear() aggregation not defined */
2317c478bdstevel@tonic-gate	D_NORMALIZE_PROTO,		/* normalize() prototype mismatch */
2327c478bdstevel@tonic-gate	D_NORMALIZE_SCALAR,		/* normalize() value must be scalar */
2337c478bdstevel@tonic-gate	D_NORMALIZE_AGGARG,		/* aggregation arg type mismatch */
2347c478bdstevel@tonic-gate	D_NORMALIZE_AGGBAD,		/* normalize() aggregation not def. */
2357c478bdstevel@tonic-gate	D_TRUNC_PROTO,			/* trunc() prototype mismatch */
2367c478bdstevel@tonic-gate	D_TRUNC_SCALAR,			/* trunc() value must be scalar */
2377c478bdstevel@tonic-gate	D_TRUNC_AGGARG,			/* aggregation arg type mismatch */
2387c478bdstevel@tonic-gate	D_TRUNC_AGGBAD,			/* trunc() aggregation not def. */
2397c478bdstevel@tonic-gate	D_PROV_BADNAME,			/* invalid provider name */
2407c478bdstevel@tonic-gate	D_PROV_INCOMPAT,		/* provider/probe interface mismatch */
2417c478bdstevel@tonic-gate	D_PROV_PRDUP,			/* duplicate probe declaration */
2427c478bdstevel@tonic-gate	D_PROV_PRARGLEN,		/* probe argument list too long */
2431a7c1b7mws	D_PROV_PRXLATOR,		/* probe argument translator missing */
24430ef842bmc	D_FREOPEN_INVALID,		/* frename() filename is invalid */
24530ef842bmc	D_LQUANT_MATCHBASE,		/* lquantize() mismatch on base */
24630ef842bmc	D_LQUANT_MATCHLIM,		/* lquantize() mismatch on limit */
2472b6389eBryan Cantrill	D_LQUANT_MATCHSTEP,		/* lquantize() mismatch on step */
2482b6389eBryan Cantrill	D_LLQUANT_FACTORTYPE,		/* llquantize() bad magnitude type */
2492b6389eBryan Cantrill	D_LLQUANT_FACTORVAL,		/* llquantize() bad magnitude value */
2502b6389eBryan Cantrill	D_LLQUANT_FACTORMATCH,		/* llquantize() mismatch on magnitude */
2512b6389eBryan Cantrill	D_LLQUANT_LOWTYPE,		/* llquantize() bad low mag type */
2522b6389eBryan Cantrill	D_LLQUANT_LOWVAL,		/* llquantize() bad low mag value */
2532b6389eBryan Cantrill	D_LLQUANT_LOWMATCH,		/* llquantize() mismatch on low mag */
2542b6389eBryan Cantrill	D_LLQUANT_HIGHTYPE,		/* llquantize() bad high mag type */
2552b6389eBryan Cantrill	D_LLQUANT_HIGHVAL,		/* llquantize() bad high mag value */
2562b6389eBryan Cantrill	D_LLQUANT_HIGHMATCH,		/* llquantize() mismatch on high mag */
2572b6389eBryan Cantrill	D_LLQUANT_NSTEPTYPE,		/* llquantize() bad # steps type */
2582b6389eBryan Cantrill	D_LLQUANT_NSTEPVAL,		/* llquantize() bad # steps value */
2592b6389eBryan Cantrill	D_LLQUANT_NSTEPMATCH,		/* llquantize() mismatch on # steps */
2602b6389eBryan Cantrill	D_LLQUANT_MAGRANGE,		/* llquantize() bad magnitude range */
2612b6389eBryan Cantrill	D_LLQUANT_FACTORNSTEPS,		/* llquantize() # steps < factor */
2622b6389eBryan Cantrill	D_LLQUANT_FACTOREVEN,		/* llquantize() bad # steps/factor */
2632b6389eBryan Cantrill	D_LLQUANT_FACTORSMALL,		/* llquantize() magnitude too small */
264e5803b7Adam H. Leventhal	D_LLQUANT_MAGTOOBIG,		/* llquantize() high mag too large */
265e5803b7Adam H. Leventhal	D_NOREG				/* no available internal registers */
2667c478bdstevel@tonic-gate} dt_errtag_t;
2677c478bdstevel@tonic-gate
2687c478bdstevel@tonic-gateextern const char *dt_errtag(dt_errtag_t);
2697c478bdstevel@tonic-gate
2707c478bdstevel@tonic-gate#ifdef	__cplusplus
2717c478bdstevel@tonic-gate}
2727c478bdstevel@tonic-gate#endif
2737c478bdstevel@tonic-gate
2747c478bdstevel@tonic-gate#endif	/* _DT_ERRTAGS_H */
275