1f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 2f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 3f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 4f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 5f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * you may not use this file except in compliance with the License. 6f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * You may obtain a copy of the License at 7f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 8f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 9f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * 10f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 11f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 12f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * See the License for the specific language governing permissions and 14f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * limitations under the License. 15f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 16f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 17f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * String constants to go along with enumerated values. (Pity we don't 18f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * have enumerated constant reflection in C.) These are only needed for 19f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * making the output human-readable. 20f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 21f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project#include "jdwp/JdwpConstants.h" 22f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 23f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 24f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the error code. 25f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 26f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectconst char* dvmJdwpErrorStr(enum JdwpError error) 27f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 28f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (error) { 29f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NONE: 30f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NONE"; 31f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_THREAD: 32f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_THREAD"; 33f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_THREAD_GROUP: 34f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_THREAD_GROUP"; 35f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_PRIORITY: 36f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_PRIORITY"; 37f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_THREAD_NOT_SUSPENDED: 38f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "THREAD_NOT_SUSPENDED"; 39f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_THREAD_SUSPENDED: 40f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "THREAD_SUSPENDED"; 41f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_OBJECT: 42f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_OBJEC"; 43f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_CLASS: 44f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_CLASS"; 45f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_CLASS_NOT_PREPARED: 46f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "CLASS_NOT_PREPARED"; 47f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_METHODID: 48f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_METHODID"; 49f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_LOCATION: 50f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_LOCATION"; 51f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_FIELDID: 52f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_FIELDID"; 53f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_FRAMEID: 54f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_FRAMEID"; 55f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NO_MORE_FRAMES: 56f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NO_MORE_FRAMES"; 57f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_OPAQUE_FRAME: 58f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "OPAQUE_FRAME"; 59f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NOT_CURRENT_FRAME: 60f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NOT_CURRENT_FRAME"; 61f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_TYPE_MISMATCH: 62f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "TYPE_MISMATCH"; 63f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_SLOT: 64f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_SLOT"; 65f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_DUPLICATE: 66f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "DUPLICATE"; 67f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NOT_FOUND: 68f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NOT_FOUND"; 69f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_MONITOR: 70f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_MONITOR"; 71f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NOT_MONITOR_OWNER: 72f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NOT_MONITOR_OWNER"; 73f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INTERRUPT: 74f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INTERRUPT"; 75f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_CLASS_FORMAT: 76f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_CLASS_FORMAT"; 77f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_CIRCULAR_CLASS_DEFINITION: 78f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "CIRCULAR_CLASS_DEFINITION"; 79f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_FAILS_VERIFICATION: 80f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "FAILS_VERIFICATION"; 81f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ADD_METHOD_NOT_IMPLEMENTED: 82f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ADD_METHOD_NOT_IMPLEMENTED"; 83f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_SCHEMA_CHANGE_NOT_IMPLEMENTED: 84f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "SCHEMA_CHANGE_NOT_IMPLEMENTED"; 85f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_TYPESTATE: 86f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_TYPESTATE"; 87f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_HIERARCHY_CHANGE_NOT_IMPLEMENTED: 88f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "HIERARCHY_CHANGE_NOT_IMPLEMENTED"; 89f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_DELETE_METHOD_NOT_IMPLEMENTED: 90f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "DELETE_METHOD_NOT_IMPLEMENTED"; 91f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_UNSUPPORTED_VERSION: 92f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "UNSUPPORTED_VERSION"; 93f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NAMES_DONT_MATCH: 94f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NAMES_DONT_MATCH"; 95f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED: 96f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED"; 97f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED: 98f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED"; 99f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NOT_IMPLEMENTED: 100f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NOT_IMPLEMENTED"; 101f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NULL_POINTER: 102f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NULL_POINTER"; 103f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ABSENT_INFORMATION: 104f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ABSENT_INFORMATION"; 105f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_EVENT_TYPE: 106f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_EVENT_TYPE"; 107f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ILLEGAL_ARGUMENT: 108f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ILLEGAL_ARGUMENT"; 109f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_OUT_OF_MEMORY: 110f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "OUT_OF_MEMORY"; 111f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ACCESS_DENIED: 112f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ACCESS_DENIED"; 113f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_VM_DEAD: 114f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "VM_DEAD"; 115f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INTERNAL: 116f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INTERNAL"; 117f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_UNATTACHED_THREAD: 118f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "UNATTACHED_THREAD"; 119f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_TAG: 120f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_TAG"; 121f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_ALREADY_INVOKING: 122f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "ALREADY_INVOKING"; 123f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_INDEX: 124f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_INDEX"; 125f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_LENGTH: 126f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_LENGTH"; 127f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_STRING: 128f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_STRING"; 129f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_CLASS_LOADER: 130f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_CLASS_LOADER"; 131f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_ARRAY: 132f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_ARRAY"; 133f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_TRANSPORT_LOAD: 134f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "TRANSPORT_LOAD"; 135f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_TRANSPORT_INIT: 136f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "TRANSPORT_INIT"; 137f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_NATIVE_METHOD: 138f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "NATIVE_METHOD"; 139f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case ERR_INVALID_COUNT: 140f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "INVALID_COUNT"; 141f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: 142f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project return "?UNKNOWN?"; 143f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 144f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 145f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 146f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 147f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the EventKind. 148f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 149f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectconst char* dvmJdwpEventKindStr(enum JdwpEventKind kind) 150f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 151f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (kind) { 152f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_SINGLE_STEP: return "SINGLE_STEP"; 153f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_BREAKPOINT: return "BREAKPOINT"; 154f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_FRAME_POP: return "FRAME_POP"; 155f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_EXCEPTION: return "EXCEPTION"; 156f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_USER_DEFINED: return "USER_DEFINED"; 157f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_THREAD_START: return "THREAD_START"; 158f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /*case EK_THREAD_END: return "THREAD_END";*/ 159f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_CLASS_PREPARE: return "CLASS_PREPARE"; 160f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_CLASS_UNLOAD: return "CLASS_UNLOAD"; 161f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_CLASS_LOAD: return "CLASS_LOAD"; 162f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_FIELD_ACCESS: return "FIELD_ACCESS"; 163f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_FIELD_MODIFICATION: return "FIELD_MODIFICATION"; 164f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_EXCEPTION_CATCH: return "EXCEPTION_CATCH"; 165f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_METHOD_ENTRY: return "METHOD_ENTRY"; 166f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_METHOD_EXIT: return "METHOD_EXIT"; 167f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_VM_INIT: return "VM_INIT"; 168f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_VM_DEATH: return "VM_DEATH"; 169f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_VM_DISCONNECTED: return "VM_DISCONNECTED"; 170f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project /*case EK_VM_START: return "VM_START";*/ 171f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case EK_THREAD_DEATH: return "THREAD_DEATH"; 172f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 173f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 174f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 175f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 176f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 177f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the StepDepth. 178f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 179f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectconst char* dvmJdwpStepDepthStr(enum JdwpStepDepth depth) 180f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 181f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (depth) { 182f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SD_INTO: return "INTO"; 183f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SD_OVER: return "OVER"; 184f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SD_OUT: return "OUT"; 185f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 186f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 187f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 188f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 189f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 190f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the StepSize. 191f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 192f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectconst char* dvmJdwpStepSizeStr(enum JdwpStepSize size) 193f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 194f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (size) { 195f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SS_MIN: return "MIN"; 196f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SS_LINE: return "LINE"; 197f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 198f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 199f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 200f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 201f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 202f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the SuspendPolicy. 203f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 204f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectconst char* dvmJdwpSuspendPolicyStr(enum JdwpSuspendPolicy policy) 205f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 206f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (policy) { 207f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SP_NONE: return "NONE"; 208f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SP_EVENT_THREAD: return "EVENT_THREAD"; 209f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SP_ALL: return "ALL"; 210f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 211f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 212f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 213f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 214f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 215f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the SuspendStatus. 216f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 217f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectconst char* dvmJdwpSuspendStatusStr(enum JdwpSuspendStatus status) 218f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 219f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (status) { 220f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case 0: return "Not SUSPENDED"; 221f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case SUSPEND_STATUS_SUSPENDED: return "SUSPENDED"; 222f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 223f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 224f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project} 225f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 226f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project/* 227f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project * Return a string for the ThreadStatus. 228f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project */ 229f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Projectconst char* dvmJdwpThreadStatusStr(enum JdwpThreadStatus status) 230f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project{ 231f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project switch (status) { 232f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_ZOMBIE: return "ZOMBIE"; 233f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_RUNNING: return "RUNNING"; 234f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_SLEEPING: return "SLEEPING"; 235f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_MONITOR: return "MONITOR"; 236f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project case TS_WAIT: return "WAIT"; 237f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project default: return "?UNKNOWN?"; 238f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project } 239f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project}; 240f6c387128427e121477c1b32ad35cdcaa5101ba3The Android Open Source Project 241