📄 native.h
字号:
/*0001*//*
/*0002./ * Copyright (c) 1998-2001 Sun Microsystems, Inc. All Rights Reserved.
/*0003./ *
/*0004./ * This software is the confidential and proprietary information of Sun
/*0005./ * Microsystems, Inc. ("Confidential Information"). You shall not
/*0006./ * disclose such Confidential Information and shall use it only in
/*0007./ * accordance with the terms of the license agreement you entered into
/*0008./ * with Sun.
/*0009./ *
/*0010./ * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
/*0011./ * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
/*0012./ * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
/*0013./ * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
/*0014./ * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
/*0015./ * THIS SOFTWARE OR ITS DERIVATIVES.
/*0016./ *
/*0017./ */
/*0018*/
/*0019*//*=========================================================================
/*0020./ * SYSTEM: KVM
/*0021./ * SUBSYSTEM: Native function interface
/*0022./ * FILE: native.h
/*0023./ * OVERVIEW: This file contains the definitions of native functions
/*0024./ * needed by the Java Virtual Machine. The implementation
/*0025./ * is _not_ based on JNI (Java Native Interface),
/*0026./ * because JNI seems too expensive for small devices.
/*0027./ * AUTHOR: Antero Taivalsaari, Sun Labs
/*0028./ * Edited by Doug Simon 11/1998
/*0029./ * Frank Yellin
/*0030./ *=======================================================================*/
/*0031*/
/*0032*//*=========================================================================
/*0033./ * Include files
/*0034./ *=======================================================================*/
/*0035*/
/*0036*//*=========================================================================
/*0037./ * Type definitions and global variables
/*0038./ *=======================================================================*/
/*0039*/
/*0040*/typedef void NativeFunctionType(void);
/*0041*/typedef NativeFunctionType *NativeFunctionPtr;
/*0042*/
/*0043*/typedef struct {
/*0044*/ const char *const name;
/*0045*/ const char *const signature;
/*0046*/ const NativeFunctionPtr implementation;
/*0047*/} NativeImplementationType;
/*0048*/
/*0049*/typedef struct {
/*0050*/ const char *const packageName;
/*0051*/ const char *const baseName;
/*0052*/ const NativeImplementationType *const implementation;
/*0053*/} ClassNativeImplementationType;
/*0054*/
/*0055*/#define NATIVE_END_OF_LIST { NULL, NULL }
/*0056*/
/*0057*/extern const ClassNativeImplementationType nativeImplementations[];
/*0058*/
/*0059*//*=========================================================================
/*0060./ * Operations on native functions
/*0061./ *=======================================================================*/
/*0062*/
/*0063*//* Set to the currently executing native method, or NULL */
/*0064*/extern METHOD CurrentNativeMethod;
/*0065*/
/*0066*/NativeFunctionPtr getNativeFunction(INSTANCE_CLASS clazz,
/*0067*/ const char* methodName,
/*0068*/ const char* methodSignature);
/*0069*/
/*0070*/
/*0071*/void invokeNativeFunction(METHOD thisMethod);
/*0072*/void nativeInitialization(int *argc, char **argv);
/*0073*/
/*0078*//*=========================================================================
/*0079./ * Native function prototypes
/*0080./ *=======================================================================*/
/*0081*/
/*0082*//*
/*0083./ * Function prototypes of those native functions
/*0084./ * that are commonly linked into KVM.
/*0085./ */
/*0086*/void Java_java_lang_Object_getClass(void);
/*0087*/void Java_java_lang_Object_hashCode(void);
/*0088*/void Java_java_lang_System_identityHashCode(void);
/*0089*/void Java_java_lang_Object_notify(void);
/*0090*/void Java_java_lang_Object_notifyAll(void);
/*0091*/void Java_java_lang_Object_wait(void);
/*0092*/void Java_java_lang_Math_randomInt(void);
/*0093*/void Java_java_lang_Class_isInterface(void);
/*0094*/void Java_java_lang_Class_isPrimitive(void);
/*0095*/void Java_java_lang_Class_forName(void);
/*0096*/void Java_java_lang_Class_newInstance(void);
/*0097*/void Java_java_lang_Class_getName(void);
/*0098*/void Java_java_lang_Class_isInstance(void);
/*0099*/void Java_java_lang_Class_isArray(void);
/*0100*/void Java_java_lang_Class_isAssignableFrom(void);
/*0101*/void Java_java_lang_Class_getPrimitiveClass(void) ;
/*0102*/void Java_java_lang_Class_exists(void);
/*0103*/void Java_java_lang_Class_getResourceAsStream0(void);
/*0104*/void Java_java_lang_Thread_activeCount(void);
/*0105*/void Java_java_lang_Thread_currentThread(void);
/*0106*/void Java_java_lang_Thread_yield(void);
/*0107*/void Java_java_lang_Thread_sleep(void);
/*0108*/void Java_java_lang_Thread_start(void);
/*0109*/void Java_java_lang_Thread_isAlive(void);
/*0110*/void Java_java_lang_Thread_setPriority0(void);
/*0111*/void Java_java_lang_Thread_setPriority(void);
/*0112*/void Java_java_lang_Throwable_fillInStackTrace(void);
/*0113*/void Java_java_lang_Throwable_printStackTrace0(void);
/*0114*/void Java_java_lang_Runtime_exitInternal(void);
/*0115*/void Java_java_lang_Runtime_freeMemory(void);
/*0116*/void Java_java_lang_Runtime_totalMemory(void);
/*0117*/void Java_java_lang_Runtime_gc(void);
/*0118*/void Java_java_lang_System_arraycopy (void);
/*0119*/void Java_java_lang_System_currentTimeMillis(void);
/*0120*/void Java_java_lang_System_getProperty0(void);
/*0121*/void Java_java_lang_System_getProperty(void);
/*0122*/void Java_java_lang_String_charAt(void);
/*0123*/void Java_java_lang_String_equals(void);
/*0124*/void Java_java_lang_String_indexOf__I(void);
/*0125*/void Java_java_lang_String_indexOf__II(void);
/*0126*/void Java_java_lang_String_intern(void);
/*0127*/void Java_java_lang_StringBuffer_append__I(void);
/*0128*/void Java_java_lang_StringBuffer_append__Ljava_lang_String_2(void);
/*0129*/void Java_java_lang_StringBuffer_toString(void);
/*0130*/void Java_java_util_Calendar_init(void);
/*0131*/void Java_java_io_PrintStream_putchar(void);
/*0132*/
/*0133*/void printString(INSTANCE string);
/*0134*/
/*0135*/void Java_com_sun_cldc_io_j2me_datagram_Protocol_open0(void);
/*0136*/void Java_com_sun_cldc_io_j2me_datagram_Protocol_getMaximumLength0(void);
/*0137*/void Java_com_sun_cldc_io_j2me_datagram_Protocol_getNominalLength0(void);
/*0138*/void Java_com_sun_cldc_io_j2me_datagram_Protocol_getIpNumber(void);
/*0139*/void Java_com_sun_cldc_io_j2me_datagram_Protocol_send0(void);
/*0140*/void Java_com_sun_cldc_io_j2me_datagram_Protocol_receive0(void);
/*0141*/void Java_com_sun_cldc_io_j2me_datagram_Protocol_close0(void);
/*0142*/
/*0143*/void Java_com_sun_cldc_io_j2me_socket_Protocol_open0(void);
/*0144*/void Java_com_sun_cldc_io_j2me_socket_Protocol_read0(void);
/*0145*/void Java_com_sun_cldc_io_j2me_socket_Protocol_write0(void);
/*0146*/void Java_com_sun_cldc_io_j2me_socket_Protocol_available0(void);
/*0147*/void Java_com_sun_cldc_io_j2me_socket_Protocol_close0(void);
/*0148*/
/*0149*/void Java_com_sun_cldc_io_j2me_serversocket_Protocol_open(void);
/*0150*/void Java_com_sun_cldc_io_j2me_serversocket_Protocol_accept(void);
/*0151*/void Java_com_sun_cldc_io_j2me_serversocket_Protocol_close(void);
/*0152*/
/*0153*/void Java_com_sun_cldc_io_GeneralBase_iowait(void);
/*0154*/
/*0155*/void Java_com_sun_cldc_io_NetworkConnectionBase_initializeInternal(void);
/*0156*/
/*0157*/void Java_com_sun_cldc_io_j2me_debug_PrivateOutputStream_putchar(void);
/*0158*/
/*0159*/void Java_com_sun_cldc_io_j2me_events_PrivateInputStream_open(void);
/*0160*/void Java_com_sun_cldc_io_j2me_events_PrivateInputStream_close(void);
/*0161*/void Java_com_sun_cldc_io_j2me_events_PrivateInputStream_readInt(void);
/*0162*/void Java_com_sun_cldc_io_j2me_events_PrivateInputStream_readByteArray(void);
/*0163*/void Java_com_sun_cldc_io_j2me_events_PrivateInputStream_readUTF(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -