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 #include <sys/modctl.h> 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 #define KMDB_IOC (0xDB << 16) 37 #define KMDB_IOC_START (KMDB_IOC|1) /* mdb: load debugger */ 38 #define KMDB_IOC_STOP (KMDB_IOC|2) /* mdb: unload debugger */ 39 40 #define KMDB_F_AUTO_ENTRY 0x1 /* auto enter debugger after mdb -K */ 41 #define KMDB_F_TRAP_NOSWITCH 0x2 /* don't use debugger's IDT/TBA */ 42 #define KMDB_F_DRV_DEBUG 0x4 /* enable driver's debug messages */ 43 44 struct bootops; 45 46 extern int kctl_attach(dev_info_t *); 47 extern int kctl_detach(void); 48 extern int kctl_get_state(void); 49 extern int kctl_modload_activate(size_t, const char *, uint_t); 50 extern int kctl_deactivate(void); 51 52 typedef int kctl_boot_activate_f(struct bootops *, void *, size_t, 53 const char **); 54 55 #ifdef __cplusplus 56 } 57 #endif 58 59 #endif /* _KMDB_H */ 60