1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * Copyright 2003 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef _SYS_IB_MGT_IBMF_IBMF_TRACE_H 28 #define _SYS_IB_MGT_IBMF_IBMF_TRACE_H 29 30 /* 31 * This file contains the IBMF trace/debug macros. 32 */ 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 /* 39 * Trace levels for printing 40 */ 41 #define DPRINT_L0 0 /* no messages */ 42 #define DPRINT_L1 1 /* major errors */ 43 #define DPRINT_L2 2 /* minor errors */ 44 #define DPRINT_L3 3 /* general debug */ 45 #define DPRINT_L4 4 /* general trace */ 46 47 /* 48 * Trace probe macros 49 */ 50 51 #define IBMF_TRACE_0(debug, trlevel, arg01, arg02, arg03, arg04) \ 52 if (ibmf_trace_level > 0) { \ 53 ibmf_dprintf(trlevel, arg04); \ 54 } 55 56 /* CSTYLED */ 57 #define IBMF_TRACE_1(debug, trlevel, arg01, arg02, arg03, arg04, arg11, arg12, arg13) \ 58 if (ibmf_trace_level > 0) { \ 59 ibmf_dprintf(trlevel, arg04, arg13); \ 60 } 61 62 /* CSTYLED */ 63 #define IBMF_TRACE_2(debug, trlevel, arg01, arg02, arg03, arg04, arg11, arg12, arg13, arg21, arg22, arg23) \ 64 if (ibmf_trace_level > 0) { \ 65 ibmf_dprintf(trlevel, arg04, arg13, arg23); \ 66 } 67 68 /* CSTYLED */ 69 #define IBMF_TRACE_3(debug, trlevel, arg01, arg02, arg03, arg04, arg11, arg12, arg13, arg21, arg22, arg23, arg31, arg32, arg33) \ 70 if (ibmf_trace_level > 0) { \ 71 ibmf_dprintf(trlevel, arg04, arg13, arg23, arg33); \ 72 } 73 74 /* CSTYLED */ 75 #define IBMF_TRACE_4(debug, trlevel, arg01, arg02, arg03, arg04, arg11, arg12, arg13, arg21, arg22, arg23, arg31, arg32, arg33, arg41, arg42, arg43) \ 76 if (ibmf_trace_level > 0) { \ 77 ibmf_dprintf(trlevel, arg04, arg13, arg23, arg33, arg43);\ 78 } 79 80 /* CSTYLED */ 81 #define IBMF_TRACE_5(debug, trlevel, arg01, arg02, arg03, arg04, arg11, arg12, arg13, arg21, arg22, arg23, arg31, arg32, arg33, arg41, arg42, arg43, arg51, arg52, arg53) \ 82 if (ibmf_trace_level > 0) { \ 83 ibmf_dprintf(trlevel, arg04, arg13, arg23, arg33, \ 84 arg43, arg53); \ 85 } 86 87 void 88 ibmf_dprintf(int l, const char *fmt, ...); 89 90 #ifdef __cplusplus 91 } 92 #endif 93 94 #endif /* _SYS_IB_MGT_IBMF_IBMF_TRACE_H */ 95