db_break.h revision 108512
10SN/A/* 24208SN/A * Mach Operating System 30SN/A * Copyright (c) 1991,1990 Carnegie Mellon University 40SN/A * All Rights Reserved. 50SN/A * 60SN/A * Permission to use, copy, modify and distribute this software and its 70SN/A * documentation is hereby granted, provided that both the copyright 80SN/A * notice and this permission notice appear in all copies of the 90SN/A * software, derivative works or modified versions, and any portions 100SN/A * thereof, and that both notices appear in supporting documentation. 110SN/A * 120SN/A * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS 130SN/A * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR 140SN/A * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 150SN/A * 160SN/A * Carnegie Mellon requests users of this software to return to 170SN/A * 180SN/A * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 191472SN/A * School of Computer Science 201472SN/A * Carnegie Mellon University 211472SN/A * Pittsburgh PA 15213-3890 220SN/A * 230SN/A * any improvements or extensions that they make and grant Carnegie the 240SN/A * rights to redistribute these changes. 250SN/A * 260SN/A * $FreeBSD: head/sys/ddb/db_break.h 108512 2002-12-31 18:30:53Z jake $ 272601SN/A */ 282601SN/A 290SN/A/* 300SN/A * Author: David B. Golub, Carnegie Mellon University 312601SN/A * Date: 7/90 322601SN/A */ 332601SN/A#ifndef _DDB_DB_BREAK_H_ 342601SN/A#define _DDB_DB_BREAK_H_ 352601SN/A 362601SN/A/* 372601SN/A * Breakpoint. 382601SN/A */ 392601SN/A 402601SN/A#ifndef BKPT_INST_TYPE 412601SN/A#define BKPT_INST_TYPE int 422601SN/A#endif 432601SN/A 442601SN/Astruct db_breakpoint { 452601SN/A vm_map_t map; /* in this map */ 462601SN/A db_addr_t address; /* set here */ 472601SN/A int init_count; /* number of times to skip bkpt */ 482601SN/A int count; /* current count */ 492601SN/A int flags; /* flags: */ 503602SN/A#define BKPT_SINGLE_STEP 0x2 /* to simulate single step */ 513602SN/A#define BKPT_TEMP 0x4 /* temporary */ 523602SN/A BKPT_INST_TYPE bkpt_inst; /* saved instruction at bkpt */ 533602SN/A struct db_breakpoint *link; /* link in in-use or free chain */ 541522SN/A}; 551522SN/Atypedef struct db_breakpoint *db_breakpoint_t; 561522SN/A 571522SN/Avoid db_clear_breakpoints(void); 581522SN/A#ifdef SOFTWARE_SSTEP 591522SN/Avoid db_delete_temp_breakpoint(db_breakpoint_t); 601522SN/A#endif 611522SN/Adb_breakpoint_t db_find_breakpoint_here(db_addr_t addr); 621522SN/Avoid db_set_breakpoints(void); 631522SN/A#ifdef SOFTWARE_SSTEP 641522SN/Adb_breakpoint_t db_set_temp_breakpoint(db_addr_t); 650SN/A#endif 660SN/A 670SN/A#endif /* !_DDB_DB_BREAK_H_ */ 680SN/A