jcs's openbsd hax
openbsd
1/* $OpenBSD: db_interface.h,v 1.29 2026/02/02 15:20:51 claudio Exp $ */
2/* $NetBSD: db_interface.h,v 1.1 1996/02/05 01:57:03 christos Exp $ */
3
4/*
5 * Copyright (c) 1995 Christos Zoulas. All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. All advertising materials mentioning features or use of this software
16 * must display the following acknowledgement:
17 * This product includes software developed by Christos Zoulas.
18 * 4. The name of the author may not be used to endorse or promote products
19 * derived from this software without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32#ifndef _DDB_DB_INTERFACE_H_
33#define _DDB_DB_INTERFACE_H_
34
35/* arch/<arch>/<arch>/db_trace.c */
36void db_stack_trace_print(db_expr_t, int, db_expr_t, char *,
37 int (*)(const char *, ...));
38
39/* arch/<arch>/<arch>/db_disasm.c */
40vaddr_t db_disasm(vaddr_t, int);
41
42/* kern/kern_proc.c */
43void db_kill_cmd(db_expr_t, int, db_expr_t, char *);
44void db_stop_cmd(db_expr_t, int, db_expr_t, char *);
45void db_show_all_procs(db_expr_t, int, db_expr_t, char *);
46
47/* kern/kern_clockintr.c */
48void db_show_all_clockintr(db_expr_t, int, db_expr_t, char *);
49
50/* kern/kern_timeout.c */
51void db_show_callout(db_expr_t, int, db_expr_t, char *);
52
53struct mount;
54
55/* kern/vfs_subr.c */
56void vfs_buf_print(void *, int, int (*)(const char *, ...));
57void vfs_vnode_print(void *, int, int (*)(const char *, ...));
58void vfs_mount_print(struct mount *, int, int (*)(const char *, ...));
59
60/* kern/subr_pool.c */
61void db_show_all_pools(db_expr_t, int, db_expr_t, char *);
62
63/* kern/uipc_mbuf.c */
64void m_print(void *, int (*)(const char *, ...));
65void m_print_chain(void *, int, int (*)(const char *, ...));
66void m_print_packet(void *, int, int (*)(const char *, ...));
67
68/* kern/uipc_socket.c */
69void so_print(void *, int (*)(const char *, ...));
70
71struct rtentry;
72int db_show_rtentry(struct rtentry *, void *, unsigned int);
73int db_show_rtable(int, unsigned int);
74
75/* nfs/nfs_debug.c */
76void db_show_all_nfsreqs(db_expr_t, int, db_expr_t, char *);
77void nfs_request_print(void *, int, int (*)(const char *, ...));
78void db_show_all_nfsnodes(db_expr_t, int, db_expr_t, char *);
79void nfs_node_print(void *, int, int (*)(const char *, ...));
80
81/* uvm/uvm_swap.c */
82void swap_print_all(int (*)(const char *, ...));
83
84/* arch/<arch>/<arch>/db_interface.c */
85void db_machine_init(void);
86
87#endif /* _DDB_DB_INTERFACE_H_ */