defs.h

来自「This is a resource based on j2me embedde」· C头文件 代码 · 共 287 行

H
287
字号
/* * @(#)defs.h	1.93 06/10/10 * * Copyright  1990-2008 Sun Microsystems, Inc. All Rights Reserved.   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER   *    * This program is free software; you can redistribute it and/or   * modify it under the terms of the GNU General Public License version   * 2 only, as published by the Free Software Foundation.    *    * This program 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 at /legal/license.txt).    *    * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa   * Clara, CA 95054 or visit www.sun.com if you need additional   * information or have any questions.  * */#ifndef _INCLUDED_DEFS_H#define _INCLUDED_DEFS_H#include "javavm/include/porting/defs.h"#ifndef _ASM#include "javavm/include/porting/ansi/stddef.h"#include "javavm/include/porting/vm-defs.h"/* * Basic type definitions */typedef char      CVMUtf8;/*  * Casts from pointer types to scalar types have to * be casts to the type CVMAddr which is 4 byte on * 32 bit platforms and 8 byte on 64 bit platforms. */#define CVMoffsetof(T, f)    (CVMAddr)(&(((T *)0)->f))/* * Object format */CVM_STRUCT_TYPEDEF(CVMObjectHeader);CVM_UNION_TYPEDEF (CVMVariousBits);CVM_UNION_TYPEDEF (CVMJavaVal8);CVM_UNION_TYPEDEF (CVMJavaVal16);CVM_UNION_TYPEDEF (CVMJavaVal32);CVM_UNION_TYPEDEF (CVMJavaVal64);CVM_STRUCT_TYPEDEF(CVMjava_lang_Object);CVM_STRUCT_TYPEDEF(CVMSyncVector);typedef CVMjava_lang_Object CVMObject;  /* Short-hand for CVMjava_lang_Object *//* * Array types */CVM_STRUCT_TYPEDEF(CVMArrayOfByte);	/* CVMArrayOfByte    */CVM_STRUCT_TYPEDEF(CVMArrayOfShort);	/* CVMArrayOfShort   */CVM_STRUCT_TYPEDEF(CVMArrayOfChar);	/* CVMArrayOfChar    */CVM_STRUCT_TYPEDEF(CVMArrayOfBoolean);	/* CVMArrayOfBoolean */CVM_STRUCT_TYPEDEF(CVMArrayOfInt);	/* CVMArrayOfInt     */CVM_STRUCT_TYPEDEF(CVMArrayOfRef);	/* CVMArrayOfRef     */CVM_STRUCT_TYPEDEF(CVMArrayOfFloat);	/* CVMArrayOfFloat   */CVM_STRUCT_TYPEDEF(CVMArrayOfLong);	/* CVMArrayOfLong    */CVM_STRUCT_TYPEDEF(CVMArrayOfDouble);	/* CVMArrayOfDouble  */CVM_STRUCT_TYPEDEF(CVMArrayOfAnyType);	/* CVMArrayOfAnyType *//* * ICell types */CVM_STRUCT_TYPEDEF(CVMjava_lang_ObjectICell);	/* CVMjava_lang_ObjectICell */CVM_STRUCT_TYPEDEF(CVMObjectICell);		/* ObjectICell         */CVM_STRUCT_TYPEDEF(CVMArrayOfByteICell);	/* CVMArrayOfByteICell    */CVM_STRUCT_TYPEDEF(CVMArrayOfShortICell);	/* CVMArrayOfShortICell   */CVM_STRUCT_TYPEDEF(CVMArrayOfCharICell);	/* CVMArrayOfCharICell    */CVM_STRUCT_TYPEDEF(CVMArrayOfBooleanICell);	/* CVMArrayOfBooleanICell */CVM_STRUCT_TYPEDEF(CVMArrayOfIntICell);		/* CVMArrayOfIntICell     */CVM_STRUCT_TYPEDEF(CVMArrayOfRefICell);		/* CVMArrayOfRefICell     */CVM_STRUCT_TYPEDEF(CVMArrayOfFloatICell);	/* CVMArrayOfFloatICell   */CVM_STRUCT_TYPEDEF(CVMArrayOfLongICell);	/* CVMArrayOfLongICell    */CVM_STRUCT_TYPEDEF(CVMArrayOfDoubleICell);	/* CVMArrayOfDoubleICell  */CVM_STRUCT_TYPEDEF(CVMArrayOfAnyTypeICell);	/* CVMArrayOfAnyTypeICell *//* * Class data structures */CVM_STRUCT_TYPEDEF(CVMClassBlock);CVM_UNION_TYPEDEF (CVMGCBitMap);CVM_STRUCT_TYPEDEF(CVMBigGCBitMap);CVM_STRUCT_TYPEDEF(CVMArrayInfo);CVM_STRUCT_TYPEDEF(CVMInterfaces);CVM_STRUCT_TYPEDEF(CVMInterfaceTable);CVM_STRUCT_TYPEDEF(CVMMethodBlock);CVM_STRUCT_TYPEDEF(CVMMethodBlockImmutable);CVM_STRUCT_TYPEDEF(CVMMethodRange);CVM_STRUCT_TYPEDEF(CVMMethodArray);CVM_STRUCT_TYPEDEF(CVMCheckedExceptions);CVM_STRUCT_TYPEDEF(CVMJavaMethodDescriptor);#ifdef CVM_JITCVM_STRUCT_TYPEDEF(CVMCompiledMethodDescriptor);CVM_STRUCT_TYPEDEF(CVMCompiledPcMapTable);CVM_STRUCT_TYPEDEF(CVMCompiledPcMap);CVM_STRUCT_TYPEDEF(CVMCompiledGCCheckPCs);CVM_STRUCT_TYPEDEF(CVMCompiledStackMaps);CVM_STRUCT_TYPEDEF(CVMCompiledStackMapEntry);CVM_STRUCT_TYPEDEF(CVMCompiledStackMapLargeEntry);CVM_STRUCT_TYPEDEF(CVMCompiledInliningInfo);CVM_STRUCT_TYPEDEF(CVMCompiledInliningInfoEntry);#endifCVM_STRUCT_TYPEDEF(CVMExceptionHandler);CVM_STRUCT_TYPEDEF(CVMLineNumberEntry);CVM_STRUCT_TYPEDEF(CVMLocalVariableEntry);CVM_STRUCT_TYPEDEF(CVMFieldBlock);CVM_STRUCT_TYPEDEF(CVMFieldRange);CVM_STRUCT_TYPEDEF(CVMFieldArray);CVM_STRUCT_TYPEDEF(CVMInnerClassInfo);CVM_STRUCT_TYPEDEF(CVMInnerClassesInfo);CVM_UNION_TYPEDEF(CVMConstantPool);CVM_STRUCT_TYPEDEF(CVMTransitionConstantPool);CVM_UNION_TYPEDEF (CVMConstantPoolEntry);CVM_STRUCT_TYPEDEF(CVMStackMapEntry);CVM_STRUCT_TYPEDEF(CVMStackMaps);#ifdef CVM_DUAL_STACKCVM_STRUCT_TYPEDEF(CVMClassRestrictions);#endif/* * Classes which the VM uses directly */typedef CVMObjectICell CVMThreadICell;		/* java.lang.Thread */typedef CVMObjectICell CVMThrowableICell;	/* java.lang.Throwable */typedef CVMObjectICell CVMStringICell;		/* java.lang.String */typedef CVMObjectICell CVMClassICell;		/* java.lang.Class */typedef CVMObjectICell CVMClassLoaderICell;	/* java.lang.ClassLoader */typedef CVMObject*     CVMStringObject;         /* used for romized Strings *//* * JIT runtime support */#ifdef CVM_JITCVM_STRUCT_TYPEDEF(CVMCCExecEnv);#endif/* * Interpreter data structures */CVM_STRUCT_TYPEDEF(CVMExecEnv);/* * Synchronization-related types. */typedef CVMBool CVMTryLockFunc     (CVMExecEnv*     ee,				    CVMObject*      obj);typedef CVMBool CVMLockFunc        (CVMExecEnv*     ee,				    CVMObjectICell* indirectObj);typedef CVMBool CVMNotifyFunc      (CVMExecEnv*     ee,				    CVMObjectICell* indirectObj);typedef CVMBool CVMNotifyAllFunc   (CVMExecEnv*     ee,				    CVMObjectICell* indirectObj);typedef CVMBool CVMWaitFunc        (CVMExecEnv*     ee,				    CVMObjectICell* indirectObj,				    CVMJavaLong     millis);CVM_STRUCT_TYPEDEF(CVMReentrantMutex);CVM_STRUCT_TYPEDEF(CVMSysMutex);CVM_STRUCT_TYPEDEF(CVMSysMonitor);CVM_STRUCT_TYPEDEF(CVMProfiledMonitor);CVM_STRUCT_TYPEDEF(CVMNamedSysMonitor);CVM_STRUCT_TYPEDEF(CVMObjMonitor);CVM_STRUCT_TYPEDEF(CVMOwnedMonitor);/* * Types for consistent states */CVM_STRUCT_TYPEDEF(CVMCState);CVM_STRUCT_TYPEDEF(CVMTCState);/* * Class loading data structures */CVM_STRUCT_TYPEDEF(CVMLoaderCacheEntry);#ifdef CVM_CLASSLOADINGCVM_STRUCT_TYPEDEF(CVMLoaderConstraint);CVM_STRUCT_TYPEDEF(CVMSeenClass);CVM_STRUCT_TYPEDEF(CVMClassPathEntry);#endif/* * Stack data structures */CVM_UNION_TYPEDEF (CVMStackVal32);CVM_STRUCT_TYPEDEF(CVMStack);CVM_STRUCT_TYPEDEF(CVMStackChunk);CVM_STRUCT_TYPEDEF(CVMFrame);CVM_STRUCT_TYPEDEF(CVMFrameIterator);CVM_STRUCT_TYPEDEF(CVMLocalRootsFrame);CVM_STRUCT_TYPEDEF(CVMFreelistFrame);CVM_STRUCT_TYPEDEF(CVMInterpreterFrame);CVM_STRUCT_TYPEDEF(CVMJavaFrame);#ifdef CVM_JITCVM_STRUCT_TYPEDEF(CVMCompiledFrame);#endifCVM_STRUCT_TYPEDEF(CVMTransitionFrame);CVM_STRUCT_TYPEDEF(CVMStackWalkContext);/* * VM global state */CVM_STRUCT_TYPEDEF(CVMGlobalState);CVM_STRUCT_TYPEDEF(CVMGCGlobalState);/* * VM initialization options */CVM_STRUCT_TYPEDEF(CVMOptions);/* * GC-related types */CVM_STRUCT_TYPEDEF(CVMGCOptions);#ifndef CDC_10/* * Java Assertion related types */CVM_STRUCT_TYPEDEF(CVMJavaAssertionsOptionList);#endif/* * A 'ref callback' called on each discovered root */typedef void (*CVMRefCallbackFunc)(CVMObject** refAddr, void* data);/* * A predicate to test liveness of a given reference. */typedef CVMBool (*CVMRefLivenessQueryFunc)(CVMObject** refAddr, void* data);#if defined(CVM_INSPECTOR) || defined(CVM_JVMPI) || defined(CVM_JVMTI)/* * A per-object callback function, to be called during heap dumps */typedef CVMBool (*CVMObjectCallbackFunc)(CVMObject* obj, CVMClassBlock* cb,                                          CVMUint32  objSize, void* data);#endif/* * Scan all GC references in a frame. Each frame carries a pointer * to one of these. */typedef void CVMFrameGCScannerFunc(CVMExecEnv* ee,				   CVMFrame* thisFrame,				   CVMStackChunk* thisChunk,				   CVMRefCallbackFunc refCallback,				   void* data,				   CVMGCOptions* gcOpts);/* * JNI types */struct JNINativeInterface;#if defined(__cplusplus) && !defined(CVM_JNI_C_INTERFACE)struct JNIEnv_;typedef JNIEnv_ JNIEnv;#elsetypedef const struct JNINativeInterface *JNIEnv;#endif#endif /* !_ASM */#endif /* _INCLUDED_DEFS_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?