1 /**************************************************************************** 2 Copyright (C) 1987-2015 by Jeffery P. Hansen 3 4 This program is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 2 of the License, or 7 (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along 15 with this program; if not, write to the Free Software Foundation, Inc., 16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 17 ****************************************************************************/ 18 #ifndef __breakpoint_h 19 #define __breakpoint_h 20 21 /* Breakpoint states */ 22 #define BPS_INVALID -1 /* The breakpoint expression was invalid */ 23 #define BPS_GO 0 /* Breakpoint has not been activated */ 24 #define BPS_STOP 1 /* Simulation has stopped at this breakpoint */ 25 #define BPS_IGNORE 2 /* This breakpoint is being ignored */ 26 #define BPS_STANDBY 3 /* Breakpoint is in the standby state */ 27 28 /***************************************************************************** 29 * 30 * Simulator breakpoint 31 * 32 *****************************************************************************/ 33 struct SBreakPoint_str { 34 char *bp_condition; /* Condition of the breakpoint */ 35 int bp_id; /* Identifier of the breakpoint */ 36 int bp_state; /* State of the breakpoint */ 37 }; 38 39 void BrkPtTable_delete(NHash *bpm,int idx); 40 void BrkPtTable_enable(NHash *bpm,int idx); 41 void BrkPtTable_disable(NHash *bpm,int idx); 42 int BrkPtTable_insert(NHash *bpm,int idx,const char *condition); 43 void BrkPtTable_sendAll(NHash *bpm); 44 void BrkPtTable_activate(NHash *bpm,int id,const char *value); 45 void BrkPtTable_clearStop(NHash *bpm); 46 void BrkPtTable_error(NHash *bpm,int id); 47 void BrkPtTable_flush(NHash *bpm); 48 void BrkPtTable_loadInterface(NHash *bpm); 49 void delete_SBreakPoint(SBreakPoint *bp); 50 SBreakPoint *new_SBreakPoint(int idx,int state, const char *condition); 51 52 #endif 53