root/ddb/db_break.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. db_breakpoint_t

    1 /*      $OpenBSD: db_break.h,v 1.8 2002/03/14 01:26:51 millert Exp $    */
    2 /*      $NetBSD: db_break.h,v 1.8 1996/02/05 01:56:52 christos Exp $    */
    3 
    4 /* 
    5  * Mach Operating System
    6  * Copyright (c) 1993,1992,1991,1990 Carnegie Mellon University
    7  * All Rights Reserved.
    8  * 
    9  * Permission to use, copy, modify and distribute this software and its
   10  * documentation is hereby granted, provided that both the copyright
   11  * notice and this permission notice appear in all copies of the
   12  * software, derivative works or modified versions, and any portions
   13  * thereof, and that both notices appear in supporting documentation.
   14  * 
   15  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
   16  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
   17  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
   18  * 
   19  * Carnegie Mellon requests users of this software to return to
   20  * 
   21  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
   22  *  School of Computer Science
   23  *  Carnegie Mellon University
   24  *  Pittsburgh PA 15213-3890
   25  * 
   26  * any improvements or extensions that they make and grant Carnegie Mellon
   27  * the rights to redistribute these changes.
   28  *
   29  *      Author: David B. Golub, Carnegie Mellon University
   30  *      Date:   7/90
   31  */
   32 
   33 #ifndef _DDB_DB_BREAK_H_
   34 #define _DDB_DB_BREAK_H_
   35 
   36 #include <uvm/uvm_extern.h>
   37 
   38 /*
   39  * Breakpoints.
   40  */
   41 typedef struct db_breakpoint {
   42         struct vm_map *map;                     /* in this map */
   43         db_addr_t address;              /* set here */
   44         int     init_count;             /* number of times to skip bkpt */
   45         int     count;                  /* current count */
   46         int     flags;                  /* flags: */
   47 #define BKPT_SINGLE_STEP        0x2         /* to simulate single step */
   48 #define BKPT_TEMP               0x4         /* temporary */
   49         int     bkpt_inst;              /* saved instruction at bkpt */
   50         struct db_breakpoint *link;     /* link in in-use or free chain */
   51 } *db_breakpoint_t;
   52 
   53 db_breakpoint_t db_breakpoint_alloc(void);
   54 void db_breakpoint_free(db_breakpoint_t);
   55 void db_set_breakpoint(struct vm_map *, db_addr_t, int);
   56 void db_delete_breakpoint(struct vm_map *, db_addr_t);
   57 db_breakpoint_t db_find_breakpoint(struct vm_map *, db_addr_t);
   58 db_breakpoint_t db_find_breakpoint_here(db_addr_t);
   59 void db_set_breakpoints(void);
   60 void db_clear_breakpoints(void);
   61 db_breakpoint_t db_set_temp_breakpoint(db_addr_t);
   62 void db_delete_temp_breakpoint(db_breakpoint_t);
   63 void db_list_breakpoints(void);
   64 void db_delete_cmd(db_expr_t, int, db_expr_t, char *);
   65 void db_breakpoint_cmd(db_expr_t, int, db_expr_t, char *);
   66 void db_listbreak_cmd(db_expr_t, int, db_expr_t, char *);
   67 boolean_t db_map_equal(struct vm_map *, struct vm_map *);
   68 boolean_t db_map_current(struct vm_map *);
   69 struct vm_map *db_map_addr(vaddr_t);
   70 
   71 #endif  /* _DDB_DB_BREAK_H_ */

/* [<][>][^][v][top][bottom][index][help] */