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 2000-2003 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef _SYS_SBD_ERROR_H 28 #define _SYS_SBD_ERROR_H 29 30 #pragma ident "%Z%%M% %I% %E% SMI" 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 #define SBD_TEST_BOARD_PSEUDO_ERR 1 37 #define SBD_ASSIGN_BOARD_PSEUDO_ERR 2 38 #define SBD_UNASSIGN_BOARD_PSEUDO_ERR 3 39 #define SBD_POWERON_BOARD_PSEUDO_ERR 4 40 #define SBD_POWEROFF_BOARD_PSEUDO_ERR 5 41 #define SBD_PROBE_BOARD_PSEUDO_ERR 6 42 #define SBD_DEPROBE_BOARD_PSEUDO_ERR 7 43 #define SBD_CONNECT_BOARD_PSEUDO_ERR 8 44 #define SBD_DISCONNECT_BOARD_PSEUDO_ERR 9 45 #define SBD_OFFLINE_CPU_PSEUDO_ERR 10 46 #define SBD_ONLINE_CPU_PSEUDO_ERR 11 47 #define SBD_POWEROFF_CPU_PSEUDO_ERR 12 48 #define SBD_POWERON_CPU_PSEUDO_ERR 13 49 50 #ifdef DEBUG 51 /* comment out the next line to turn off compilation of error injection */ 52 #define SBD_DEBUG_ERRS 53 54 #ifdef SBD_DEBUG_ERRS 55 56 extern void sbd_inject_err(int error, sbderror_t *ep, int Errno, int ecode, 57 char *src); 58 59 #define SBD_DBG_ERRNO 0x00000001 60 #define SBD_DBG_CODE 0x00000002 61 #define SBD_DBG_RSC 0x00000004 62 #define SBD_DBG_ALL 0x0000000f 63 64 #define PR_ERR_ALL if (sbd_print_errs & SBD_DBG_ALL) printf 65 #define PR_ERR_ERRNO if (sbd_print_errs & SBD_DBG_ERRNO) printf 66 #define PR_ERR_ECODE if (sbd_print_errs & SBD_DBG_CODE) printf 67 #define PR_ERR_RSC if (sbd_print_errs & SBD_DBG_RSC) printf 68 69 #define SBD_INJECT_ERR sbd_inject_err 70 71 72 73 #else /* SBD_DEBUG_ERRS */ 74 75 #define SBD_INJECT_ERR 76 #define PR_ERR_ALL if (0) printf 77 #define SBD_DBG_CODE PR_ERR_ALL 78 #define SBD_DBG_ALL PR_ERR_ALL 79 80 #endif /* SBD_DEBUG_ERRS */ 81 82 #else /* DEBUG */ 83 84 #define SBD_INJECT_ERR 85 #define PR_ERR_ALL if (0) printf 86 #define PR_ERR_ERRNO PR_ERR_ALL 87 #define PR_ERR_ECODE PR_ERR_ALL 88 #define PR_ERR_RSC PR_ERR_ALL 89 90 #endif /* DEBUG */ 91 92 #ifdef __cplusplus 93 } 94 #endif 95 96 #endif /* _SYS_SBD_ERROR_H */ 97