1 /**********************************************************************
2 Copyright (c) 2000, 2002 IBM Corp. and others.
3 All rights reserved. This program and the accompanying materials
4 are made available under the terms of the Common Public License v1.0
5 which accompanies this distribution, and is available at
6 http://www.eclipse.org/legal/cpl-v10.html
9 Vicente Fernando - www.alfersoft.com.ar - Initial implementation
10 **********************************************************************/
11 package net.sourceforge.phpdt.internal.debug.core;
13 public class PHPDBGBase {
16 // php-engine commands/events
17 public static final int DBGC_REPLY = 0x0000; /* reply to previous DBGA_REQUEST request */
18 public static final int DBGC_STARTUP = 0x0001; /* script startup */
19 public static final int DBGC_END = 0x0002; /* script done */
20 public static final int DBGC_BREAKPOINT = 0x0003; /* user definded breakpoint occured */
21 public static final int DBGC_STEPINTO_DONE = 0x0004; /* step to the next statement is completed */
22 public static final int DBGC_STEPOVER_DONE = 0x0005; /* step to the next statement is completed */
23 public static final int DBGC_STEPOUT_DONE = 0x0006; /* step to the next statement is completed */
24 public static final int DBGC_EMBEDDED_BREAK = 0x0007; /* breakpoint caused by DebugBreak() function */
25 public static final int DBGC_ERROR = 0x0010; /* error occured */
26 public static final int DBGC_LOG = 0x0011; /* logging support */
27 public static final int DBGC_SID = 0x0012; /* send SID */
28 public static final int DBGC_PAUSE = 0x0013; /* pause current session as soon as possible */
30 public static final char[] DBGA_CONTINUE = IntToChar4(0x8001); /* php should continue run */
31 public static final char[] DBGA_STOP = IntToChar4(0x8002);
32 public static final char[] DBGA_STEPINTO = IntToChar4(0x8003);
33 public static final char[] DBGA_STEPOVER = IntToChar4(0x8004);
34 public static final char[] DBGA_STEPOUT = IntToChar4(0x8005);
35 public static final char[] DBGA_IGNORE = IntToChar4(0x8006);
36 public static final char[] DBGA_REQUEST = IntToChar4(0x8010); /* debugger client requests some information from PHP engine */
38 public static final int FRAME_STACK = 100000; /* "call:stack" - e.g. backtrace */
39 public static final int FRAME_SOURCE = 100100; /* source text */
40 public static final int FRAME_SRC_TREE = 100200; /* tree of source files */
41 public static final int FRAME_RAWDATA = 100300; /* raw data or string */
42 public static final int FRAME_ERROR = 100400; /* error notification */
43 public static final int FRAME_EVAL = 100500; /* evaluating/watching */
44 public static final int FRAME_BPS = 100600; /* set/remove breakpoint */
45 public static final int FRAME_BPL = 100700; /* breakpoint(s) request = get the list */
46 public static final int FRAME_VER = 100800; /* version request */
47 public static final int FRAME_SID = 100900; /* session id info*/
48 public static final int FRAME_SRCLINESINFO = 101000; /* source lines info */
49 public static final int FRAME_SRCCTXINFO = 101100; /* source contexts info */
50 public static final int FRAME_LOG = 101200; /* logging */
51 public static final int FRAME_PROF = 101300; /* profiler */
52 public static final int FRAME_PROF_C = 101400; /* profiler counter/accuracy */
53 public static final int FRAME_SET_OPT = 101500; /* set/update options */
55 public static final char[] DBGSYNC = { 0, 0, (char) 89, (char) 83}; /* DBG syncronization chars */
58 public static final int DBG_COMPAT = 0x0001;
59 public static final int DBG_JIT = 0x0002;
60 public static final int DBG_REQ = 0x0003;
61 public static final int DBG_EMB = 0x0004;
63 public static final int BPS_DELETED = 0;
64 public static final int BPS_DISABLED = 1;
65 public static final int BPS_ENABLED = 2;
66 public static final int BPS_UNRESOLVED = 0x100;
71 public static void copyCharsTo(char[] to, char[] from, int bytes, int tostart) {
73 for(i=0; i < bytes; i++) to[i + tostart]= from[i];
76 public static void copyChars(char[] to, char[] from, int bytes) {
77 copyCharsTo(to, from, bytes, 0);
80 public static int Char4ToInt(char[] ch, int startPos) {
81 int pos=startPos, ret=0;
83 ret += CharToInt(ch[pos++]) << 24;
84 ret += CharToInt(ch[pos++]) << 16;
85 ret += CharToInt(ch[pos++]) << 8;
86 ret += CharToInt(ch[pos++]) << 0;
90 public static int CharToInt(char ch) {
91 return (int) (ch & 0x00FF);
94 public static char[] IntToChar4(int num) {
95 char[] ret= new char[4];
97 ret[0] = (char) ((num >> 24) & 0x00FF);
98 ret[1] = (char) ((num >> 16) & 0x00FF);
99 ret[2] = (char) ((num >> 8) & 0x00FF);
100 ret[3] = (char) ((num >> 0) & 0x00FF);
105 public static String CharArrayToString(char[] cha) {
106 String ret= new String();
109 for(i=0; i < cha.length; i++) {
111 ret= ret + "(" + String.valueOf(p) + ") ";
116 public static byte[] CharArrayToByteArray(char[] cha) {
117 byte[] ret= new byte[cha.length];
120 for(i=0; i < cha.length; i++) {
121 ret[i]= (byte) cha[i];