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

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

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

revision 1.6.2.1 by gnu_andrew, Sat Jan 15 17:02:22 2005 UTC revision 1.6.2.2 by gnu_andrew, Sun Jan 16 02:14:50 2005 UTC
# Line 67  exception statement from your version. * Line 67  exception statement from your version. *
67   * Creates a new datagram socket   * Creates a new datagram socket
68   */   */
69  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
70  Java_gnu_java_net_PlainDatagramSocketImpl_create(JNIEnv *env, jobject this)  Java_gnu_java_net_PlainDatagramSocketImpl_create(JNIEnv *env, jobject obj)
71  {  {
72    assert(env!=NULL);    assert(env!=NULL);
73    assert((*env)!=NULL);    assert((*env)!=NULL);
74    
75  #ifndef WITHOUT_NETWORK  #ifndef WITHOUT_NETWORK
76    _javanet_create(env, this, 0);    _javanet_create(env, obj, 0);
77  #else /* not WITHOUT_NETWORK */  #else /* not WITHOUT_NETWORK */
78  #endif /* not WITHOUT_NETWORK */  #endif /* not WITHOUT_NETWORK */
79  }  }
# Line 84  Java_gnu_java_net_PlainDatagramSocketImp Line 84  Java_gnu_java_net_PlainDatagramSocketImp
84   * Close the socket.   * Close the socket.
85   */   */
86  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
87  Java_gnu_java_net_PlainDatagramSocketImpl_close(JNIEnv *env, jobject this)  Java_gnu_java_net_PlainDatagramSocketImpl_close(JNIEnv *env, jobject obj)
88  {  {
89    assert(env!=NULL);    assert(env!=NULL);
90    assert((*env)!=NULL);    assert((*env)!=NULL);
91    
92  #ifndef WITHOUT_NETWORK  #ifndef WITHOUT_NETWORK
93    _javanet_close(env, this, 0);    _javanet_close(env, obj, 0);
94  #else /* not WITHOUT_NETWORK */  #else /* not WITHOUT_NETWORK */
95  #endif /* not WITHOUT_NETWORK */  #endif /* not WITHOUT_NETWORK */
96  }  }
# Line 103  Java_gnu_java_net_PlainDatagramSocketImp Line 103  Java_gnu_java_net_PlainDatagramSocketImp
103   * variables.   * variables.
104   */   */
105  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
106  Java_gnu_java_net_PlainDatagramSocketImpl_bind(JNIEnv *env, jobject this,  Java_gnu_java_net_PlainDatagramSocketImpl_bind(JNIEnv *env, jobject obj,
107                                             jint port, jobject addr)                                             jint port, jobject addr)
108  {  {
109    assert(env!=NULL);    assert(env!=NULL);
110    assert((*env)!=NULL);    assert((*env)!=NULL);
111    
112  #ifndef WITHOUT_NETWORK  #ifndef WITHOUT_NETWORK
113    _javanet_bind(env, this, addr, port, 0);    _javanet_bind(env, obj, addr, port, 0);
114  #else /* not WITHOUT_NETWORK */  #else /* not WITHOUT_NETWORK */
115  #endif /* not WITHOUT_NETWORK */  #endif /* not WITHOUT_NETWORK */
116  }  }
# Line 121  Java_gnu_java_net_PlainDatagramSocketImp Line 121  Java_gnu_java_net_PlainDatagramSocketImp
121   * This method sets the specified option for a socket   * This method sets the specified option for a socket
122   */   */
123  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
124  Java_gnu_java_net_PlainDatagramSocketImpl_setOption(JNIEnv *env, jobject this,  Java_gnu_java_net_PlainDatagramSocketImpl_setOption(JNIEnv *env, jobject obj,
125                                                  jint option_id, jobject val)                                                  jint option_id, jobject val)
126  {  {
127    assert(env!=NULL);    assert(env!=NULL);
128    assert((*env)!=NULL);    assert((*env)!=NULL);
129    
130  #ifndef WITHOUT_NETWORK  #ifndef WITHOUT_NETWORK
131    _javanet_set_option(env, this, option_id, val);    _javanet_set_option(env, obj, option_id, val);
132  #else /* not WITHOUT_NETWORK */  #else /* not WITHOUT_NETWORK */
133  #endif /* not WITHOUT_NETWORK */  #endif /* not WITHOUT_NETWORK */
134  }  }
# Line 139  Java_gnu_java_net_PlainDatagramSocketImp Line 139  Java_gnu_java_net_PlainDatagramSocketImp
139   * This method sets the specified option for a socket   * This method sets the specified option for a socket
140   */   */
141  JNIEXPORT jobject JNICALL  JNIEXPORT jobject JNICALL
142  Java_gnu_java_net_PlainDatagramSocketImpl_getOption(JNIEnv *env, jobject this,  Java_gnu_java_net_PlainDatagramSocketImpl_getOption(JNIEnv *env, jobject obj,
143                                                  jint option_id)                                                  jint option_id)
144  {  {
145    assert(env!=NULL);    assert(env!=NULL);
146    assert((*env)!=NULL);    assert((*env)!=NULL);
147    
148  #ifndef WITHOUT_NETWORK  #ifndef WITHOUT_NETWORK
149    return(_javanet_get_option(env, this, option_id));    return(_javanet_get_option(env, obj, option_id));
150  #else /* not WITHOUT_NETWORK */  #else /* not WITHOUT_NETWORK */
151      return NULL;
152  #endif /* not WITHOUT_NETWORK */  #endif /* not WITHOUT_NETWORK */
153  }  }
154    
# Line 157  Java_gnu_java_net_PlainDatagramSocketImp Line 158  Java_gnu_java_net_PlainDatagramSocketImp
158   * Reads a buffer from a remote host   * Reads a buffer from a remote host
159   */   */
160  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
161  Java_gnu_java_net_PlainDatagramSocketImpl_receive0(JNIEnv *env, jobject this,  Java_gnu_java_net_PlainDatagramSocketImpl_receive0(JNIEnv *env, jobject obj,
162                                                jobject packet)                                                jobject packet)
163  {  {
164  #ifndef WITHOUT_NETWORK  #ifndef WITHOUT_NETWORK
165    int  addr, port, bytes_read;    int           addr, port, bytes_read;
166    unsigned int maxlen, offset;    unsigned int  maxlen, offset;
167    jclass        cls, addr_cls;    jclass        cls, addr_cls;
168    jfieldID      fid;    jfieldID      fid;
169    jmethodID     mid;    jmethodID     mid;
# Line 227  Java_gnu_java_net_PlainDatagramSocketImp Line 228  Java_gnu_java_net_PlainDatagramSocketImp
228    
229    /* Now get the maximal available length from the packet */    /* Now get the maximal available length from the packet */
230    fid = (*env)->GetFieldID(env, cls, "maxlen", "I");    fid = (*env)->GetFieldID(env, cls, "maxlen", "I");
231    if (mid == NULL)    if (fid == NULL)
232      {      {
233        JCL_ThrowException(env, IO_EXCEPTION, "Internal error: maxlen");        JCL_ThrowException(env, IO_EXCEPTION, "Internal error: maxlen");
234        return;        return;
# Line 242  Java_gnu_java_net_PlainDatagramSocketImp Line 243  Java_gnu_java_net_PlainDatagramSocketImp
243    
244    /* Receive the packet */    /* Receive the packet */
245    /* should we try some sort of validation on the length? */    /* should we try some sort of validation on the length? */
246    bytes_read = _javanet_recvfrom(env, this, arr, offset, maxlen, &addr, &port);    bytes_read = _javanet_recvfrom(env, obj, arr, offset, maxlen, &addr, &port);
247    if ((bytes_read == -1) || (*env)->ExceptionOccurred(env))    if ((bytes_read == -1) || (*env)->ExceptionOccurred(env))
248      {      {
249        JCL_ThrowException(env, IO_EXCEPTION, "Internal error: receive");        JCL_ThrowException(env, IO_EXCEPTION, "Internal error: receive");
# Line 355  Java_gnu_java_net_PlainDatagramSocketImp Line 356  Java_gnu_java_net_PlainDatagramSocketImp
356   * Writes a buffer to the remote host   * Writes a buffer to the remote host
357   */   */
358  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
359  Java_gnu_java_net_PlainDatagramSocketImpl_sendto(JNIEnv *env, jobject this,  Java_gnu_java_net_PlainDatagramSocketImpl_sendto(JNIEnv *env, jobject obj,
360                                               jobject addr, jint port, jarray buf,                                               jobject addr, jint port, jarray buf,
361                                               jint offset, jint len)                                               jint offset, jint len)
362  {  {
# Line 371  Java_gnu_java_net_PlainDatagramSocketImp Line 372  Java_gnu_java_net_PlainDatagramSocketImp
372    
373    DBG("PlainDatagramSocketImpl.sendto(): have addr\n");    DBG("PlainDatagramSocketImpl.sendto(): have addr\n");
374    
375    _javanet_sendto(env, this, buf, offset, len, netAddress, port);    _javanet_sendto(env, obj, buf, offset, len, netAddress, port);
376    if ((*env)->ExceptionOccurred(env))    if ((*env)->ExceptionOccurred(env))
377      { JCL_ThrowException(env, IO_EXCEPTION, "Internal error: send data"); return; }      { JCL_ThrowException(env, IO_EXCEPTION, "Internal error: send data"); return; }
378    
# Line 386  Java_gnu_java_net_PlainDatagramSocketImp Line 387  Java_gnu_java_net_PlainDatagramSocketImp
387   * Joins a multicast group   * Joins a multicast group
388   */   */
389  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
390  Java_gnu_java_net_PlainDatagramSocketImpl_join(JNIEnv *env, jobject this,  Java_gnu_java_net_PlainDatagramSocketImpl_join(JNIEnv *env, jobject obj,
391                                             jobject addr)                                             jobject addr)
392  {  {
393  #ifndef WITHOUT_NETWORK  #ifndef WITHOUT_NETWORK
# Line 404  Java_gnu_java_net_PlainDatagramSocketImp Line 405  Java_gnu_java_net_PlainDatagramSocketImp
405        return;        return;
406      }      }
407    
408    fd = _javanet_get_int_field(env, this, "native_fd");    fd = _javanet_get_int_field(env, obj, "native_fd");
409    if ((*env)->ExceptionOccurred(env))    if ((*env)->ExceptionOccurred(env))
410      {      {
411        JCL_ThrowException(env, IO_EXCEPTION, "Internal error");        JCL_ThrowException(env, IO_EXCEPTION, "Internal error");
# Line 432  Java_gnu_java_net_PlainDatagramSocketImp Line 433  Java_gnu_java_net_PlainDatagramSocketImp
433   * Leaves a multicast group   * Leaves a multicast group
434   */   */
435  JNIEXPORT void JNICALL  JNIEXPORT void JNICALL
436  Java_gnu_java_net_PlainDatagramSocketImpl_leave(JNIEnv *env, jobject this,  Java_gnu_java_net_PlainDatagramSocketImpl_leave(JNIEnv *env, jobject obj,
437                                              jobject addr)                                              jobject addr)
438  {  {
439  #ifndef WITHOUT_NETWORK  #ifndef WITHOUT_NETWORK
# Line 450  Java_gnu_java_net_PlainDatagramSocketImp Line 451  Java_gnu_java_net_PlainDatagramSocketImp
451        return;        return;
452      }      }
453    
454    fd = _javanet_get_int_field(env, this, "native_fd");    fd = _javanet_get_int_field(env, obj, "native_fd");
455    if ((*env)->ExceptionOccurred(env))    if ((*env)->ExceptionOccurred(env))
456      { JCL_ThrowException(env, IO_EXCEPTION, "Internal error"); return; }      { JCL_ThrowException(env, IO_EXCEPTION, "Internal error"); return; }
457    
# Line 467  Java_gnu_java_net_PlainDatagramSocketImp Line 468  Java_gnu_java_net_PlainDatagramSocketImp
468  #else /* not WITHOUT_NETWORK */  #else /* not WITHOUT_NETWORK */
469  #endif /* not WITHOUT_NETWORK */  #endif /* not WITHOUT_NETWORK */
470  }  }
471    

Legend:
Removed from v.1.6.2.1  
changed lines
  Added in v.1.6.2.2

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