Lines Matching defs:env

53 socket_create (JNIEnv *env, jobject object, jboolean stream)
60 jniThrowIOException(env, errno);
64 return jniCreateFileDescriptor(env,ret);
71 socket_connect_local(JNIEnv *env, jobject object,
78 nameUtf8 = env->GetStringUTFChars(name, NULL);
80 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
82 if (env->ExceptionOccurred() != NULL) {
92 env->ReleaseStringUTFChars(name, nameUtf8);
95 jniThrowIOException(env, errno);
107 socket_bind_local (JNIEnv *env, jobject object, jobject fileDescriptor,
116 jniThrowNullPointerException(env, NULL);
119 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
121 if (env->ExceptionOccurred() != NULL) {
125 nameUtf8 = env->GetStringUTFChars(name, NULL);
129 env->ReleaseStringUTFChars(name, nameUtf8);
132 jniThrowIOException(env, errno);
139 socket_listen (JNIEnv *env, jobject object, jobject fileDescriptor, int backlog)
144 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
146 if (env->ExceptionOccurred() != NULL) {
153 jniThrowIOException(env, errno);
163 socket_accept (JNIEnv *env, jobject object, jobject fileDescriptor, jobject s)
176 jniThrowNullPointerException(env, NULL);
180 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
182 if (env->ExceptionOccurred() != NULL) {
192 jniThrowIOException(env, errno);
198 return jniCreateFileDescriptor(env, retFD);
204 socket_shutdown (JNIEnv *env, jobject object, jobject fileDescriptor,
210 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
212 if (env->ExceptionOccurred() != NULL) {
219 jniThrowIOException(env, errno);
259 socket_getOption(JNIEnv *env, jobject object, jobject fileDescriptor, int optID)
268 jniThrowIOException(env, -1);
272 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
274 if (env->ExceptionOccurred() != NULL) {
299 jniThrowIOException(env, errno);
307 JNIEnv *env, jobject object, jobject fileDescriptor, int optID,
315 jniThrowIOException(env, -1);
319 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
321 if (env->ExceptionOccurred() != NULL) {
370 jniThrowIOException(env, errno);
375 static jint socket_available (JNIEnv *env, jobject object,
380 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
382 if (env->ExceptionOccurred() != NULL) {
394 jniThrowIOException(env, errno);
416 jniThrowIOException(env, errno);
424 static void socket_close (JNIEnv *env, jobject object, jobject fileDescriptor)
430 jniThrowNullPointerException(env, NULL);
434 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
436 if (env->ExceptionOccurred() != NULL) {
445 jniThrowIOException(env, errno);
456 static int socket_process_cmsg(JNIEnv *env, jobject thisJ, struct msghdr * pMsg)
474 jniThrowException(env, "java/io/IOException",
478 fdArray = env->NewObjectArray(count, class_FileDescriptor, NULL);
486 = jniCreateFileDescriptor(env, pDescriptors[i]);
488 if (env->ExceptionOccurred() != NULL) {
492 env->SetObjectArrayElement(fdArray, i, fdObject);
494 if (env->ExceptionOccurred() != NULL) {
499 env->SetObjectField(thisJ, field_inboundFileDescriptors, fdArray);
501 if (env->ExceptionOccurred() != NULL) {
517 static ssize_t socket_read_all(JNIEnv *env, jobject thisJ, int fd,
550 jniThrowIOException(env, errno);
557 jniThrowException(env, "java/io/IOException",
564 socket_process_cmsg(env, thisJ, &msg);
575 static int socket_write_all(JNIEnv *env, jobject object, int fd,
584 = (jobjectArray)env->GetObjectField(
587 if (env->ExceptionOccurred() != NULL) {
592 int countFds = outboundFds == NULL ? 0 : env->GetArrayLength(outboundFds);
599 if (env->ExceptionOccurred() != NULL) {
604 jobject fdObject = env->GetObjectArrayElement(outboundFds, i);
605 if (env->ExceptionOccurred() != NULL) {
609 fds[i] = jniGetFDFromFileDescriptor(env, fdObject);
610 if (env->ExceptionOccurred() != NULL) {
641 jniThrowIOException(env, errno);
655 static jint socket_read (JNIEnv *env, jobject object, jobject fileDescriptor)
661 jniThrowNullPointerException(env, NULL);
665 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
667 if (env->ExceptionOccurred() != NULL) {
673 err = socket_read_all(env, object, fd, &buf, 1);
676 jniThrowIOException(env, errno);
688 static jint socket_readba (JNIEnv *env, jobject object,
696 jniThrowNullPointerException(env, NULL);
700 if (off < 0 || len < 0 || (off + len) > env->GetArrayLength(buffer)) {
701 jniThrowException(env, "java/lang/ArrayIndexOutOfBoundsException", NULL);
710 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
712 if (env->ExceptionOccurred() != NULL) {
716 byteBuffer = env->GetByteArrayElements(buffer, NULL);
723 ret = socket_read_all(env, object,
728 env->ReleaseByteArrayElements(buffer, byteBuffer, 0);
733 static void socket_write (JNIEnv *env, jobject object,
740 jniThrowNullPointerException(env, NULL);
744 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
746 if (env->ExceptionOccurred() != NULL) {
750 err = socket_write_all(env, object, fd, &b, 1);
755 static void socket_writeba (JNIEnv *env, jobject object,
763 jniThrowNullPointerException(env, NULL);
767 if (off < 0 || len < 0 || (off + len) > env->GetArrayLength(buffer)) {
768 jniThrowException(env, "java/lang/ArrayIndexOutOfBoundsException", NULL);
772 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
774 if (env->ExceptionOccurred() != NULL) {
778 byteBuffer = env->GetByteArrayElements(buffer,NULL);
785 err = socket_write_all(env, object, fd,
790 env->ReleaseByteArrayElements(buffer, byteBuffer, JNI_ABORT);
793 static jobject socket_get_peer_credentials(JNIEnv *env,
800 jniThrowNullPointerException(env, NULL);
804 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
806 if (env->ExceptionOccurred() != NULL) {
818 jniThrowIOException(env, errno);
826 return env->NewObject(class_Credentials, method_CredentialsInit,
832 static jobject socket_getSockName(JNIEnv *env,
839 jniThrowNullPointerException(env, NULL);
843 fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
845 if (env->ExceptionOccurred() != NULL) {
860 jniThrowIOException(env, errno);
867 jniThrowIOException(env, EINVAL);
909 int register_android_net_LocalSocketImpl(JNIEnv *env)
913 clazz = env->FindClass("android/net/LocalSocketImpl");
919 field_inboundFileDescriptors = env->GetFieldID(clazz,
926 field_outboundFileDescriptors = env->GetFieldID(clazz,
933 class_Credentials = env->FindClass("android/net/Credentials");
939 class_Credentials = (jclass)env->NewGlobalRef(class_Credentials);
941 class_FileDescriptor = env->FindClass("java/io/FileDescriptor");
947 class_FileDescriptor = (jclass)env->NewGlobalRef(class_FileDescriptor);
950 = env->GetMethodID(class_Credentials, "<init>", "(III)V");
956 return jniRegisterNativeMethods(env,