jobject RC_NewObject(JNIEnv * env, jclass cls, jmethodID methodobj, ...);
jobject RC_NewObjectV(JNIEnv * env, jclass cls, jmethodID methodobj, va_list valist);
jobject RC_NewObjectA(JNIEnv * env, jclass cls, jmethodID methodobj, const jvalue * args);
-
+jobject RC_GetObjectArrayElement(JNIEnv *, jobjectArray, jsize);
+void RC_SetObjectArrayElement(JNIEnv *, jobjectArray, jsize, jobject);
jclass RC_GetObjectClass(JNIEnv * env, jobject obj);
jboolean RC_IsInstanceOf(JNIEnv * env, jobject obj, jclass cls);
#define CALLNVMETHODA(R, T) R RC_CallNonvirtual ## T ## MethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
-#define GETFIELD(R, T) R Get ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld);
+#define GETFIELD(R, T) R RC_Get ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld);
-#define SETFIELD(R, T) void Set ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld, R src);
+#define SETFIELD(R, T) void RC_Set ## T ## Field(JNIEnv *env, jobject obj, jfieldID fld, R src);
#define CALLSTMETHOD(R, T) R RC_CallStatic ## T ## Method(JNIEnv *env, jobject obj, jmethodID mid, ...);
#define RELEASEARRAY(R, T) void RC_Release ## T ## ArrayElements(JNIEnv *env, R ## Array array, R * ptr, jint num);
-#define GETARRAYREGION(R, T) void Get ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, R * ptr);
+#define GETARRAYREGION(R, T) void RC_Get ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, R * ptr);
-#define SETARRAYREGION(R, T) void Set ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, const R * ptr);
+#define SETARRAYREGION(R, T) void RC_Set ## T ## ArrayRegion(JNIEnv *env, R ## Array array, jsize size1, jsize size2, const R * ptr);
#define CALLSET(R, T) \
CALLMETHODV(R, T) \
void RC_CallVoidMethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
void RC_CallVoidMethod(JNIEnv *env, jobject obj, jmethodID mid, ...);
void RC_CallVoidMethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
+void RC_CallStaticVoidMethod(JNIEnv *env, jclass cls, jmethodID mid, ...);
+void RC_CallStaticVoidMethodV(JNIEnv * env, jclass cls, jmethodID mid, va_list va);
+void RC_CallStaticVoidMethodA(JNIEnv * env, jclass cls, jmethodID mid, const jvalue * valarray);
void RC_CallNonvirtualVoidMethod(JNIEnv *env, jobject obj, jmethodID mid, ...);
void RC_CallNonvirtualVoidMethodV(JNIEnv * env, jobject obj, jmethodID mid, va_list va);
void RC_CallNonvirtualVoidMethodA(JNIEnv * env, jobject obj, jmethodID mid, const jvalue * valarray);
jint RC_MonitorEnter(JNIEnv * env, jobject obj);
jint RC_MonitorExit(JNIEnv * env, jobject obj);
jint RC_GetJavaVM(JNIEnv * env, JavaVM ** jvm);
+jstring RC_NewString(JNIEnv * env, const jchar * str, jsize size);
+jsize RC_GetStringLength(JNIEnv *env, jstring str);
+const jchar * RC_GetStringChars(JNIEnv * env, jstring str, jboolean * flag);
+void RC_ReleaseStringChars(JNIEnv * env, jstring str, const jchar * str2);
+jstring RC_NewStringUTF(JNIEnv * env, const char *str);
+jsize RC_GetStringUTFLength(JNIEnv * env, jstring str);
+const char * RC_GetStringUTFChars(JNIEnv * env, jstring str, jboolean * flag);
+void RC_ReleaseStringUTFChars(JNIEnv * env, jstring str, const char * str2);
+jsize RC_GetArrayLength(JNIEnv * env, jarray array);
#endif