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 2004 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef _KMDB_H 28 #define _KMDB_H 29 30 #pragma ident "%Z%%M% %I% %E% SMI" 31 32 #include <sys/modctl.h> 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 #define KMDB_IOC (0xDB << 16) 39 #define KMDB_IOC_START (KMDB_IOC|1) /* mdb: load debugger */ 40 #define KMDB_IOC_STOP (KMDB_IOC|2) /* mdb: unload debugger */ 41 42 #define KMDB_F_AUTO_ENTRY 0x1 /* auto enter debugger after mdb -K */ 43 #define KMDB_F_TRAP_NOSWITCH 0x2 /* don't use debugger's IDT/TBA */ 44 #define KMDB_F_DRV_DEBUG 0x4 /* enable driver's debug messages */ 45 46 struct bootops; 47 48 extern int kctl_attach(dev_info_t *); 49 extern int kctl_detach(void); 50 extern int kctl_get_state(void); 51 extern int kctl_modload_activate(size_t, const char *, uint_t); 52 extern int kctl_deactivate(void); 53 54 typedef int kctl_boot_activate_f(struct bootops *, void *, size_t, 55 const char **); 56 57 #ifdef __cplusplus 58 } 59 #endif 60 61 #endif /* _KMDB_H */ 62