/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include "util.h"
#include "stream.h"
#include "inStream.h"
#include "transport.h"
#include "bag.h"
#include "commonRef.h"
#include "FrameID.h"
#define SMALLEST(a, b) ((a) < (b)) ? (a) : (b)
/*
* TO DO: Support processing of replies through command input streams.
*/
void
{
}
}
{
}
{
}
static jdwpError
{
}
}
if (dest) {
}
}
}
{
return 0;
} else {
}
}
{
return val;
}
jbyte *
{
return buf;
}
{
return JAVA_TO_HOST_CHAR(val);
}
{
return JAVA_TO_HOST_SHORT(val);
}
{
return JAVA_TO_HOST_INT(val);
}
{
return JAVA_TO_HOST_LONG(val);
}
{
return JAVA_TO_HOST_FLOAT(val);
}
{
return JAVA_TO_HOST_DOUBLE(val);
}
/*
* Read an object from the stream. The ID used in the wire protocol
* is converted to a reference which is returned. The reference is
* global and strong, but it should *not* be deleted by the caller
* since it is freed when this stream is destroyed.
*/
{
return NULL;
}
if (id == NULL_OBJECT_ID) {
return NULL;
}
return NULL;
}
return NULL;
}
return ref;
}
/*
* Read a raw object id from the stream. This should be used rarely.
* Normally, inStream_readObjectRef is preferred since it takes care
* of reference conversion and tracking. Only code that needs to
* perform maintence of the commonRef hash table uses this function.
*/
{
return inStream_readLong(stream);
}
{
/*
* Could be error or just the null reference. In either case,
* stop now.
*/
return NULL;
}
return NULL;
}
return object;
}
{
/*
* Could be error or just the null reference. In either case,
* stop now.
*/
return NULL;
}
return NULL;
}
return object;
}
{
/*
* Could be error or just the null reference. In either case,
* stop now.
*/
return NULL;
}
if (!isThreadGroup(object)) {
return NULL;
}
return object;
}
{
/*
* Could be error or just the null reference. In either case,
* stop now.
*/
return NULL;
}
return NULL;
}
return object;
}
{
/*
* Could be error or just the null reference. In either case,
* stop now.
*/
return NULL;
}
if (!isClassLoader(object)) {
return NULL;
}
return object;
}
{
/*
* Could be error or just the null reference. In either case,
* stop now.
*/
return NULL;
}
return NULL;
}
return object;
}
/*
* Next 3 functions read an Int and convert to a Pointer!?
* If sizeof(jxxxID) == 8 we must read these values as Longs.
*/
{
if (sizeof(FrameID) == 8) {
/*LINTED*/
} else {
/*LINTED*/
}
}
{
if (sizeof(jmethodID) == 8) {
/*LINTED*/
} else {
/*LINTED*/
}
}
{
if (sizeof(jfieldID) == 8) {
/*LINTED*/
} else {
/*LINTED*/
}
}
{
}
char *
{
int length;
char *string;
int new_length;
/* This is Standard UTF-8, convert to Modified UTF-8 if necessary */
if ( new_length != length ) {
char *new_string;
return new_string;
}
}
return string;
}
{
}
{
}
void
}
{
value.j = 0L;
return value;
}
if (isObjectTag(typeKey)) {
} else {
switch (typeKey) {
break;
break;
break;
break;
break;
break;
break;
break;
default:
break;
}
}
if (typeKeyPtr) {
*typeKeyPtr = typeKey;
}
return value;
}
static jboolean
{
return JNI_TRUE;
}
void
{
}
}