1 /* $OpenBSD: db_extern.h,v 1.13 2006/07/06 18:14:14 miod Exp $ */ 2 /* $NetBSD: db_extern.h,v 1.1 1996/02/05 01:57:00 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_EXTERN_H_ 33 #define _DDB_DB_EXTERN_H_ 34 35 /* db_sym.c */ 36 void ddb_init(void); 37 38 /* db_examine.c */ 39 void db_examine_cmd(db_expr_t, int, db_expr_t, char *); 40 void db_examine(db_addr_t, char *, int); 41 void db_print_cmd(db_expr_t, int, db_expr_t, char *); 42 void db_print_loc_and_inst(db_addr_t); 43 size_t db_strlcpy(char *, const char *, size_t); 44 void db_search_cmd(db_expr_t, boolean_t, db_expr_t, char *); 45 void db_search(db_addr_t, int, db_expr_t, db_expr_t, db_expr_t); 46 47 /* db_expr.c */ 48 boolean_t db_term(db_expr_t *); 49 boolean_t db_unary(db_expr_t *); 50 boolean_t db_mult_expr(db_expr_t *); 51 boolean_t db_add_expr(db_expr_t *); 52 boolean_t db_shift_expr(db_expr_t *); 53 int db_expression(db_expr_t *); 54 55 /* db_hangman.c */ 56 void db_hangman(db_expr_t, int, db_expr_t, char *); 57 58 /* db_input.c */ 59 void db_putstring(char *, int); 60 void db_putnchars(int, int); 61 void db_delete(int, int); 62 void db_delete_line(void); 63 int db_inputchar(int); 64 int db_readline(char *, int); 65 66 /* db_print.c */ 67 void db_show_regs(db_expr_t, boolean_t, db_expr_t, char *); 68 69 /* db_trap.c */ 70 void db_trap(int, int); 71 72 /* db_write_cmd.c */ 73 void db_write_cmd(db_expr_t, boolean_t, db_expr_t, char *); 74 75 #endif /* _DDB_DB_EXTERN_H_ */