--- /dev/null
+/**********************************************************************
+Copyright (c) 2000, 2002 IBM Corp. and others.
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Common Public License v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/cpl-v10.html
+
+Contributors:
+ Vicente Fernando - www.alfersoft.com.ar - Initial implementation
+**********************************************************************/
+package net.sourceforge.phpdt.internal.debug.core;
+
+public class PHPDBGBase {
+
+ // Constants
+ // php-engine commands/events
+ public static final int DBGC_REPLY = 0x0000; /* reply to previous DBGA_REQUEST request */
+ public static final int DBGC_STARTUP = 0x0001; /* script startup */
+ public static final int DBGC_END = 0x0002; /* script done */
+ public static final int DBGC_BREAKPOINT = 0x0003; /* user definded breakpoint occured */
+ public static final int DBGC_STEPINTO_DONE = 0x0004; /* step to the next statement is completed */
+ public static final int DBGC_STEPOVER_DONE = 0x0005; /* step to the next statement is completed */
+ public static final int DBGC_STEPOUT_DONE = 0x0006; /* step to the next statement is completed */
+ public static final int DBGC_EMBEDDED_BREAK = 0x0007; /* breakpoint caused by DebugBreak() function */
+ public static final int DBGC_ERROR = 0x0010; /* error occured */
+ public static final int DBGC_LOG = 0x0011; /* logging support */
+ public static final int DBGC_SID = 0x0012; /* send SID */
+ public static final int DBGC_PAUSE = 0x0013; /* pause current session as soon as possible */
+
+ public static final char[] DBGA_CONTINUE = IntToChar4(0x8001); /* php should continue run */
+ public static final char[] DBGA_STOP = IntToChar4(0x8002);
+ public static final char[] DBGA_STEPINTO = IntToChar4(0x8003);
+ public static final char[] DBGA_STEPOVER = IntToChar4(0x8004);
+ public static final char[] DBGA_STEPOUT = IntToChar4(0x8005);
+ public static final char[] DBGA_IGNORE = IntToChar4(0x8006);
+ public static final char[] DBGA_REQUEST = IntToChar4(0x8010); /* debugger client requests some information from PHP engine */
+
+ public static final int FRAME_STACK = 100000; /* "call:stack" - e.g. backtrace */
+ public static final int FRAME_SOURCE = 100100; /* source text */
+ public static final int FRAME_SRC_TREE = 100200; /* tree of source files */
+ public static final int FRAME_RAWDATA = 100300; /* raw data or string */
+ public static final int FRAME_ERROR = 100400; /* error notification */
+ public static final int FRAME_EVAL = 100500; /* evaluating/watching */
+ public static final int FRAME_BPS = 100600; /* set/remove breakpoint */
+ public static final int FRAME_BPL = 100700; /* breakpoint(s) request = get the list */
+ public static final int FRAME_VER = 100800; /* version request */
+ public static final int FRAME_SID = 100900; /* session id info*/
+ public static final int FRAME_SRCLINESINFO = 101000; /* source lines info */
+ public static final int FRAME_SRCCTXINFO = 101100; /* source contexts info */
+ public static final int FRAME_LOG = 101200; /* logging */
+ public static final int FRAME_PROF = 101300; /* profiler */
+ public static final int FRAME_PROF_C = 101400; /* profiler counter/accuracy */
+ public static final int FRAME_SET_OPT = 101500; /* set/update options */
+
+ public static final char[] DBGSYNC = { 0, 0, (char) 89, (char) 83}; /* DBG syncronization chars */
+
+ // Session Types
+ public static final int DBG_COMPAT = 0x0001;
+ public static final int DBG_JIT = 0x0002;
+ public static final int DBG_REQ = 0x0003;
+ public static final int DBG_EMB = 0x0004;
+
+ public static final int BPS_DELETED = 0;
+ public static final int BPS_DISABLED = 1;
+ public static final int BPS_ENABLED = 2;
+ public static final int BPS_UNRESOLVED = 0x100;
+
+ public PHPDBGBase() {
+ }
+
+ public static void copyCharsTo(char[] to, char[] from, int bytes, int tostart) {
+ int i;
+ for(i=0; i < bytes; i++) to[i + tostart]= from[i];
+ }
+
+ public static void copyChars(char[] to, char[] from, int bytes) {
+ copyCharsTo(to, from, bytes, 0);
+ }
+
+ public static int Char4ToInt(char[] ch, int startPos) {
+ int pos=startPos, ret=0;
+
+ ret += CharToInt(ch[pos++]) << 24;
+ ret += CharToInt(ch[pos++]) << 16;
+ ret += CharToInt(ch[pos++]) << 8;
+ ret += CharToInt(ch[pos++]) << 0;
+ return ret;
+ }
+
+ public static int CharToInt(char ch) {
+ return (int) (ch & 0x00FF);
+ }
+
+ public static char[] IntToChar4(int num) {
+ char[] ret= new char[4];
+
+ ret[0] = (char) ((num >> 24) & 0x00FF);
+ ret[1] = (char) ((num >> 16) & 0x00FF);
+ ret[2] = (char) ((num >> 8) & 0x00FF);
+ ret[3] = (char) ((num >> 0) & 0x00FF);
+
+ return ret;
+ }
+
+ public static String CharArrayToString(char[] cha) {
+ String ret= new String();
+ int i, p;
+
+ for(i=0; i < cha.length; i++) {
+ p= (int) cha[i];
+ ret= ret + "(" + String.valueOf(p) + ") ";
+ }
+ return ret;
+ }
+
+ public static byte[] CharArrayToByteArray(char[] cha) {
+ byte[] ret= new byte[cha.length];
+ int i;
+
+ for(i=0; i < cha.length; i++) {
+ ret[i]= (byte) cha[i];
+ }
+ return ret;
+ }
+}