1b86efd96Sagiri /*
2b86efd96Sagiri  * CDDL HEADER START
3b86efd96Sagiri  *
4b86efd96Sagiri  * The contents of this file are subject to the terms of the
5b86efd96Sagiri  * Common Development and Distribution License (the "License").
6b86efd96Sagiri  * You may not use this file except in compliance with the License.
7b86efd96Sagiri  *
8b86efd96Sagiri  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9b86efd96Sagiri  * or http://www.opensolaris.org/os/licensing.
10b86efd96Sagiri  * See the License for the specific language governing permissions
11b86efd96Sagiri  * and limitations under the License.
12b86efd96Sagiri  *
13b86efd96Sagiri  * When distributing Covered Code, include this CDDL HEADER in each
14b86efd96Sagiri  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15b86efd96Sagiri  * If applicable, add the following below this CDDL HEADER, with the
16b86efd96Sagiri  * fields enclosed by brackets "[]" replaced with your own identifying
17b86efd96Sagiri  * information: Portions Copyright [yyyy] [name of copyright owner]
18b86efd96Sagiri  *
19b86efd96Sagiri  * CDDL HEADER END
20b86efd96Sagiri  */
21b86efd96Sagiri /*
22b86efd96Sagiri  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
23b86efd96Sagiri  * Use is subject to license terms.
24b86efd96Sagiri  */
25b86efd96Sagiri 
26fd826efaSJohn Levon /*
27fd826efaSJohn Levon  * Copyright 2019, Joyent, Inc.
28fd826efaSJohn Levon  */
29fd826efaSJohn Levon 
30b86efd96Sagiri #ifndef _RDSIB_DEBUG_H
31b86efd96Sagiri #define	_RDSIB_DEBUG_H
32b86efd96Sagiri 
33b86efd96Sagiri #ifdef __cplusplus
34b86efd96Sagiri extern "C" {
35b86efd96Sagiri #endif
36b86efd96Sagiri 
37b86efd96Sagiri #define		LABEL	"RDS"
38b86efd96Sagiri 
39b86efd96Sagiri /*
40b86efd96Sagiri  * warnings, console & syslog buffer.
41b86efd96Sagiri  * For Non recoverable or Major Errors
42b86efd96Sagiri  */
43b86efd96Sagiri #define	RDS_LOG_L0	0
44b86efd96Sagiri 
45b86efd96Sagiri /*
46b86efd96Sagiri  * syslog buffer or RDS trace buffer (console if booted /w debug)
47b86efd96Sagiri  * For additional information on Non recoverable errors and
48b86efd96Sagiri  * warnings/informational message for sys-admin types.
49b86efd96Sagiri  */
50b86efd96Sagiri #define	RDS_LOG_L1	1
51b86efd96Sagiri 
52b86efd96Sagiri /*
53b86efd96Sagiri  * debug only
54b86efd96Sagiri  * for more verbose trace than L1, for e.g. recoverable errors,
55b86efd96Sagiri  * or intersting trace
56b86efd96Sagiri  */
57b86efd96Sagiri #define	RDS_LOG_L2	2
58b86efd96Sagiri 
59b86efd96Sagiri /*
60b86efd96Sagiri  * debug only
61b86efd96Sagiri  * for more verbose trace than L2, for e.g. informational messages
62b86efd96Sagiri  */
63b86efd96Sagiri #define	RDS_LOG_L3	3
64b86efd96Sagiri 
65b86efd96Sagiri /*
66b86efd96Sagiri  * debug only
67b86efd96Sagiri  * for more verbose trace than L3, for e.g. printing function entries...
68b86efd96Sagiri  */
69b86efd96Sagiri #define	RDS_LOG_L4	4
70b86efd96Sagiri 
71b86efd96Sagiri /*
72b86efd96Sagiri  * debug only
73b86efd96Sagiri  * most verbose level. Used only for  excessive trace, for e.g.
74b86efd96Sagiri  * printing structures etc.
75b86efd96Sagiri  */
76b86efd96Sagiri #define	RDS_LOG_L5	5
77b86efd96Sagiri 
78b86efd96Sagiri /*
79b86efd96Sagiri  * debug only
80b86efd96Sagiri  * for messages from softints, taskqs, intr handlers, timeout handlers etc.
81b86efd96Sagiri  */
82b86efd96Sagiri #define	RDS_LOG_LINTR	6
83b86efd96Sagiri 
84b86efd96Sagiri 
85b86efd96Sagiri #ifdef DEBUG
86b86efd96Sagiri #define	RDS_DPRINTF_INTR	rds_dprintf_intr
87b86efd96Sagiri #define	RDS_DPRINTF5		rds_dprintf5
88b86efd96Sagiri #define	RDS_DPRINTF4		rds_dprintf4
89b86efd96Sagiri #define	RDS_DPRINTF3		rds_dprintf3
90b86efd96Sagiri 
91b86efd96Sagiri void rds_dprintf_intr(
92b86efd96Sagiri 		char		*name,
93b86efd96Sagiri 		char		*fmt, ...);
94b86efd96Sagiri void rds_dprintf5(
95b86efd96Sagiri 		char		*name,
96b86efd96Sagiri 		char		*fmt, ...);
97b86efd96Sagiri void rds_dprintf4(
98b86efd96Sagiri 		char		*name,
99b86efd96Sagiri 		char		*fmt, ...);
100b86efd96Sagiri void rds_dprintf3(
101b86efd96Sagiri 		char		*name,
102b86efd96Sagiri 		char		*fmt, ...);
103b86efd96Sagiri #else
104*679c9deaSJohn Levon #define	RDS_DPRINTF_INTR(...)	(void)(0)
105*679c9deaSJohn Levon #define	RDS_DPRINTF5(...)	(void)(0)
106*679c9deaSJohn Levon #define	RDS_DPRINTF4(...)	(void)(0)
107*679c9deaSJohn Levon #define	RDS_DPRINTF3(...)	(void)(0)
108b86efd96Sagiri #endif
109b86efd96Sagiri 
110b86efd96Sagiri #define	RDS_DPRINTF2	rds_dprintf2
111b86efd96Sagiri #define	RDS_DPRINTF1	rds_dprintf1
112b86efd96Sagiri #define	RDS_DPRINTF0	rds_dprintf0
113b86efd96Sagiri 
114b86efd96Sagiri void rds_dprintf2(
115b86efd96Sagiri 		char		*name,
116b86efd96Sagiri 		char		*fmt, ...);
117b86efd96Sagiri void rds_dprintf1(
118b86efd96Sagiri 		char		*name,
119b86efd96Sagiri 		char		*fmt, ...);
120b86efd96Sagiri void rds_dprintf0(
121b86efd96Sagiri 		char		*name,
122b86efd96Sagiri 		char		*fmt, ...);
123b86efd96Sagiri 
124b86efd96Sagiri #ifdef __cplusplus
125b86efd96Sagiri }
126b86efd96Sagiri #endif
127b86efd96Sagiri 
128b86efd96Sagiri #endif	/* _RDSIB_DEBUG_H */
129