| /* | |
| * Copyright (c) 2010 IBM Corporation. | |
| * All rights reserved. This program and the accompanying materials | |
| * are made available under the terms of the Eclipse Public License v1.0 | |
| * which accompanies this distribution, and is available at | |
| * http://www.eclipse.org/legal/epl-v10.html | |
| */ | |
| #ifndef _THREADMAP_H_ | |
| #define _THREADMAP_H_ | |
| #define THREAD_STATUS_STOP_BP_HIT 0 | |
| #define THREAD_STATUS_STOP_STEP_STMT_HOOK_BP_HIT 1 | |
| #define THREAD_STATUS_STOP_STEP_OVER 2 | |
| #define THREAD_STATUS_STEP_RETURN_REQUESTED 3 | |
| #define THREAD_STATUS_STOP_UNKNOWN -1 | |
| struct thread_entry { | |
| int thread_id; | |
| int statement_hook_bp_num; | |
| int stop_status; | |
| int skip_statement_hook; | |
| int step_nop; | |
| List * stackframes; | |
| }; | |
| typedef struct thread_entry thread_entry; | |
| extern thread_entry * AddThreadMap(int threadID, int stopStatus, int statementHookBPNum, int stepNop); | |
| extern void RemoveThreadMap(int id); | |
| extern thread_entry * FindThreadEntry(int threadID); | |
| extern void ClearThreadMaps(); | |
| #endif /* _THREADMAP_H_ */ |