/[classpath]/classpath/native/jni/java-net/javanet.c
ViewVC logotype

Diff of /classpath/native/jni/java-net/javanet.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by cbj, Thu Jan 30 13:19:46 2003 UTC revision 1.8 by jewel, Thu Mar 20 17:04:02 2003 UTC
# Line 992  _javanet_set_option(JNIEnv *env, jobject Line 992  _javanet_set_option(JNIEnv *env, jobject
992          optval = (*env)->CallIntMethod(env, val, mid);          optval = (*env)->CallIntMethod(env, val, mid);
993          if ((*env)->ExceptionOccurred(env))          if ((*env)->ExceptionOccurred(env))
994            return;            return;
995                        
996          rc = setsockopt(fd, IPPROTO_IP, IP_TTL, &optval, sizeof(int));          rc = setsockopt(fd, IPPROTO_IP, IP_TTL, &optval, sizeof(int));
997          break;          break;
998    
# Line 1038  _javanet_set_option(JNIEnv *env, jobject Line 1038  _javanet_set_option(JNIEnv *env, jobject
1038          rc = setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (void*)&optval,          rc = setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (void*)&optval,
1039                          sizeof(int));                                sizeof(int));      
1040        break;        break;
1041        
1042        case SOCKOPT_SO_BINDADDR:
1043          JCL_ThrowException(env, SOCKET_EXCEPTION, "This option cannot be set");
1044          break;
1045    
1046        default:      default:
1047          JCL_ThrowException(env, SOCKET_EXCEPTION, "Unrecognized option");        JCL_ThrowException(env, SOCKET_EXCEPTION, "Unrecognized option");
1048          return;        return;
1049      }      }
1050    
1051    /* Check to see if above operations succeeded */    /* Check to see if above operations succeeded */
# Line 1182  _javanet_get_option(JNIEnv *env, jobject Line 1186  _javanet_get_option(JNIEnv *env, jobject
1186           return(_javanet_create_inetaddress(env, ntohl(si.sin_addr.s_addr)));           return(_javanet_create_inetaddress(env, ntohl(si.sin_addr.s_addr)));
1187           break;           break;
1188    
1189          case SOCKOPT_SO_BINDADDR:
1190            memset(&si, 0, sizeof(struct sockaddr_in));
1191            optlen = sizeof(struct sockaddr_in);
1192            rc = getsockname(fd, (struct sockaddr *) &si, &optlen);
1193            if (rc == -1)
1194              {
1195                JCL_ThrowException(env, SOCKET_EXCEPTION, strerror(errno));
1196                return(0);
1197              }
1198            
1199            return(_javanet_create_inetaddress(env, ntohl(si.sin_addr.s_addr)));
1200            break;
1201    
1202        case SOCKOPT_SO_REUSEADDR:        case SOCKOPT_SO_REUSEADDR:
1203          optlen = sizeof(int);          optlen = sizeof(int);
1204          rc = getsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void*)&optval, &optlen);          rc = getsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (void*)&optval, &optlen);

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26