OpenCores
URL https://opencores.org/ocsvn/usb_fpga_1_2/usb_fpga_1_2/trunk

Subversion Repositories usb_fpga_1_2

[/] [usb_fpga_1_2/] [trunk/] [libusbJava-src/] [LibusbJava.c] - Diff between revs 2 and 8

Show entire file | Details | Blame | View Log

Rev 2 Rev 8
Line 347... Line 347...
                        (*env)->SetObjectField(env, usb_devObj, usb_devFID_prev, usb_devObj_prev);
                        (*env)->SetObjectField(env, usb_devObj, usb_devFID_prev, usb_devObj_prev);
                        (*env)->SetObjectField(env, usb_devObj, usb_devFID_bus, usb_busObj);
                        (*env)->SetObjectField(env, usb_devObj, usb_devFID_bus, usb_busObj);
                        (*env)->SetObjectField(env, usb_devObj, usb_devFID_filename, (*env)->NewStringUTF(env, dev->filename));
                        (*env)->SetObjectField(env, usb_devObj, usb_devFID_filename, (*env)->NewStringUTF(env, dev->filename));
                        (*env)->SetByteField(env, usb_devObj, usb_devFID_devnum, dev->devnum);
                        (*env)->SetByteField(env, usb_devObj, usb_devFID_devnum, dev->devnum);
                        (*env)->SetByteField(env, usb_devObj, usb_devFID_num_children, dev->num_children);
                        (*env)->SetByteField(env, usb_devObj, usb_devFID_num_children, dev->num_children);
                        (*env)->SetLongField(env, usb_devObj, usb_devFID_devStructAddr, (jlong) (int) dev);
                        (*env)->SetLongField(env, usb_devObj, usb_devFID_devStructAddr, (jlong) dev);
 
 
                        // device descriptor
                        // device descriptor
                        usb_devDescObj = (*env)->NewObject(env, usb_devDescClazz, usb_devDescMid);
                        usb_devDescObj = (*env)->NewObject(env, usb_devDescClazz, usb_devDescMid);
                        if (!usb_devDescObj) {
                        if (!usb_devDescObj) {
                                setLibusbJavaError("shared library error: Error NewObject (usb_devDescObj)");
                                setLibusbJavaError("shared library error: Error NewObject (usb_devDescObj)");
Line 543... Line 543...
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_open
 * Method:    usb_open
 * Signature: (Lch/ntb/usb/Usb_Device;)I
 * Signature: (Lch/ntb/usb/Usb_Device;)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1open
JNIEXPORT jlong JNICALL Java_ch_ntb_usb_LibusbJava_usb_1open
  (JNIEnv *env, jclass obj, jobject dev)
  (JNIEnv *env, jclass obj, jobject dev)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        if (busses == NULL) {
        if (busses == NULL) {
                setLibusbJavaError("shared library error: busses is null");
                setLibusbJavaError("shared library error: busses is null");
Line 558... Line 558...
        struct usb_bus *tmpBus;
        struct usb_bus *tmpBus;
 
 
        for (tmpBus = busses; tmpBus; tmpBus = tmpBus->next) {
        for (tmpBus = busses; tmpBus; tmpBus = tmpBus->next) {
                struct usb_device *device;
                struct usb_device *device;
                for (device = tmpBus->devices; device; device = device->next) {
                for (device = tmpBus->devices; device; device = device->next) {
                        if ((jlong) (int) device == usb_device_cmp_addr){
                        if ((jlong) device == usb_device_cmp_addr){
                                return (jint) usb_open(device);
                                return (jlong) usb_open(device);
                        }
                        }
                }
                }
        }
        }
        setLibusbJavaError("shared library error: no device with dev.devnum found on busses");
        setLibusbJavaError("shared library error: no device with dev.devnum found on busses");
        return 0;
        return 0;
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_close
 * Method:    usb_close
 * Signature: (I)I
 * Signature: (J)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1close
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1close
  (JNIEnv *env, jclass obj, jint dev_handle)
  (JNIEnv *env, jclass obj, jlong dev_handle)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        return (jint) usb_close((usb_dev_handle *) dev_handle);
        return (jint) usb_close((usb_dev_handle *) dev_handle);
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_set_configuration
 * Method:    usb_set_configuration
 * Signature: (II)I
 * Signature: (JI)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1set_1configuration
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1set_1configuration
  (JNIEnv *env, jclass obj, jint dev_handle, jint configuration)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint configuration)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        return usb_set_configuration((usb_dev_handle *) dev_handle, configuration);
        return usb_set_configuration((usb_dev_handle *) dev_handle, configuration);
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_set_altinterface
 * Method:    usb_set_altinterface
 * Signature: (II)I
 * Signature: (JI)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1set_1altinterface
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1set_1altinterface
  (JNIEnv *env, jclass obj, jint dev_handle, jint alternate)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint alternate)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        return usb_set_altinterface((usb_dev_handle *) dev_handle, alternate);
        return usb_set_altinterface((usb_dev_handle *) dev_handle, alternate);
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_clear_halt
 * Method:    usb_clear_halt
 * Signature: (II)I
 * Signature: (JI)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1clear_1halt
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1clear_1halt
  (JNIEnv *env, jclass obj, jint dev_handle, jint ep)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint ep)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        return usb_clear_halt((usb_dev_handle *) dev_handle, (unsigned) ep);
        return usb_clear_halt((usb_dev_handle *) dev_handle, (unsigned) ep);
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_reset
 * Method:    usb_reset
 * Signature: (I)I
 * Signature: (J)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1reset
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1reset
  (JNIEnv *env, jclass obj, jint dev_handle)
  (JNIEnv *env, jclass obj, jlong dev_handle)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        return usb_reset((usb_dev_handle *) dev_handle);
        return usb_reset((usb_dev_handle *) dev_handle);
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_claim_interface
 * Method:    usb_claim_interface
 * Signature: (II)I
 * Signature: (JI)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1claim_1interface
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1claim_1interface
  (JNIEnv *env, jclass obj, jint dev_handle, jint interface)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint interface)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        return usb_claim_interface((usb_dev_handle *) dev_handle, interface);
        return usb_claim_interface((usb_dev_handle *) dev_handle, interface);
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_release_interface
 * Method:    usb_release_interface
 * Signature: (II)I
 * Signature: (JI)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1release_1interface
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1release_1interface
  (JNIEnv *env, jclass obj, jint dev_handle, jint interface)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint interface)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        return usb_release_interface((usb_dev_handle *) dev_handle, interface);
        return usb_release_interface((usb_dev_handle *) dev_handle, interface);
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_control_msg
 * Method:    usb_control_msg
 * Signature: (IIIII[BII)I
 * Signature: (JIIII[BII)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1control_1msg
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1control_1msg
  (JNIEnv *env, jclass obj, jint dev_handle, jint requesttype, jint request, jint value, jint index, jbyteArray jbytes, jint size, jint timeout)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint requesttype, jint request, jint value, jint index, jbyteArray jbytes, jint size, jint timeout)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        jbyte *bytes = (*env)->GetByteArrayElements(env, jbytes, NULL);
        jbyte *bytes = (*env)->GetByteArrayElements(env, jbytes, NULL);
        int num_bytes = usb_control_msg((usb_dev_handle *) dev_handle, requesttype, request, value, index, (char *) bytes, size, timeout);
        int num_bytes = usb_control_msg((usb_dev_handle *) dev_handle, requesttype, request, value, index, (char *) bytes, size, timeout);
        (*env)->SetByteArrayRegion(env, jbytes, 0, size, bytes);
        (*env)->SetByteArrayRegion(env, jbytes, 0, size, bytes);
Line 670... Line 670...
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_get_string
 * Method:    usb_get_string
 * Signature: (III)Ljava/lang/String;
 * Signature: (JII)Ljava/lang/String;
 */
 */
JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava_usb_1get_1string
JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava_usb_1get_1string
  (JNIEnv *env, jclass obj, jint dev_handle, jint index, jint langid)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint index, jint langid)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        char string[256];
        char string[256];
        int retVal = usb_get_string((usb_dev_handle *) dev_handle, index, langid, string, 256);
        int retVal = usb_get_string((usb_dev_handle *) dev_handle, index, langid, string, 256);
        if (retVal > 0)
        if (retVal > 0)
Line 686... Line 686...
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_get_string_simple
 * Method:    usb_get_string_simple
 * Signature: (II)Ljava/lang/String;
 * Signature: (JI)Ljava/lang/String;
 */
 */
JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava_usb_1get_1string_1simple
JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava_usb_1get_1string_1simple
  (JNIEnv *env, jclass obj, jint dev_handle, jint index)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint index)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        char string[256];
        char string[256];
        int retVal = usb_get_string_simple((usb_dev_handle *) dev_handle, index, string, 256);
        int retVal = usb_get_string_simple((usb_dev_handle *) dev_handle, index, string, 256);
        if (retVal > 0)
        if (retVal > 0)
Line 702... Line 702...
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_get_descriptor
 * Method:    usb_get_descriptor
 * Signature: (IBBI)Ljava/lang/String;
 * Signature: (JBBI)Ljava/lang/String;
 */
 */
JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava_usb_1get_1descriptor
JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava_usb_1get_1descriptor
  (JNIEnv *env, jclass obj, jint dev_handle, jbyte type, jbyte index, jint size)
  (JNIEnv *env, jclass obj, jlong dev_handle, jbyte type, jbyte index, jint size)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        char *string = (char *) malloc(size * sizeof(char));
        char *string = (char *) malloc(size * sizeof(char));
        int retVal = usb_get_descriptor((usb_dev_handle *) dev_handle, (unsigned) type,
        int retVal = usb_get_descriptor((usb_dev_handle *) dev_handle, (unsigned) type,
                                                                                (unsigned) index, string, size);
                                                                                (unsigned) index, string, size);
Line 719... Line 719...
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_get_descriptor_by_endpoint
 * Method:    usb_get_descriptor_by_endpoint
 * Signature: (IIBBI)Ljava/lang/String;
 * Signature: (JIBBI)Ljava/lang/String;
 */
 */
JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava_usb_1get_1descriptor_1by_1endpoint
JNIEXPORT jstring JNICALL Java_ch_ntb_usb_LibusbJava_usb_1get_1descriptor_1by_1endpoint
  (JNIEnv *env, jclass obj, jint dev_handle, jint ep, jbyte type, jbyte index, jint size)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint ep, jbyte type, jbyte index, jint size)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        char *string = (char *) malloc(size * sizeof(char));
        char *string = (char *) malloc(size * sizeof(char));
        int retVal = usb_get_descriptor_by_endpoint((usb_dev_handle *) dev_handle, ep, (unsigned) type,
        int retVal = usb_get_descriptor_by_endpoint((usb_dev_handle *) dev_handle, ep, (unsigned) type,
                                                                                                (unsigned) index, string, size);
                                                                                                (unsigned) index, string, size);
Line 736... Line 736...
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_bulk_write
 * Method:    usb_bulk_write
 * Signature: (II[BII)I
 * Signature: (JI[BII)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1bulk_1write
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1bulk_1write
  (JNIEnv *env, jclass obj, jint dev_handle, jint ep, jbyteArray jbytes, jint size, jint timeout)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint ep, jbyteArray jbytes, jint size, jint timeout)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        jbyte *bytes = (*env)->GetByteArrayElements(env, jbytes, NULL);
        jbyte *bytes = (*env)->GetByteArrayElements(env, jbytes, NULL);
        int num_bytes = usb_bulk_write((usb_dev_handle *) dev_handle, ep, (char *) bytes, size, timeout);
        int num_bytes = usb_bulk_write((usb_dev_handle *) dev_handle, ep, (char *) bytes, size, timeout);
        (*env)->ReleaseByteArrayElements(env, jbytes, bytes, 0);
        (*env)->ReleaseByteArrayElements(env, jbytes, bytes, 0);
Line 751... Line 751...
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_bulk_read
 * Method:    usb_bulk_read
 * Signature: (II[BII)I
 * Signature: (JI[BII)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1bulk_1read
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1bulk_1read
  (JNIEnv *env, jclass obj, jint dev_handle, jint ep, jbyteArray jbytes, jint size, jint timeout)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint ep, jbyteArray jbytes, jint size, jint timeout)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        char *bytes = (char *) malloc(size * sizeof(char));
        char *bytes = (char *) malloc(size * sizeof(char));
        int num_bytes = usb_bulk_read((usb_dev_handle *) dev_handle, ep, bytes, size, timeout);
        int num_bytes = usb_bulk_read((usb_dev_handle *) dev_handle, ep, bytes, size, timeout);
        if (!bytes) { return num_bytes; }
        if (!bytes) { return num_bytes; }
Line 768... Line 768...
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_interrupt_write
 * Method:    usb_interrupt_write
 * Signature: (II[BII)I
 * Signature: (JI[BII)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1interrupt_1write
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1interrupt_1write
  (JNIEnv *env, jclass obj, jint dev_handle, jint ep, jbyteArray jbytes, jint size, jint timeout)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint ep, jbyteArray jbytes, jint size, jint timeout)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        jbyte *bytes = (*env)->GetByteArrayElements(env, jbytes, NULL);
        jbyte *bytes = (*env)->GetByteArrayElements(env, jbytes, NULL);
        int num_bytes = usb_interrupt_write( (usb_dev_handle *) dev_handle, ep, (char *) bytes, size, timeout);
        int num_bytes = usb_interrupt_write( (usb_dev_handle *) dev_handle, ep, (char *) bytes, size, timeout);
        (*env)->ReleaseByteArrayElements(env, jbytes, bytes, 0);
        (*env)->ReleaseByteArrayElements(env, jbytes, bytes, 0);
Line 783... Line 783...
  }
  }
 
 
/*
/*
 * Class:     ch_ntb_usb_LibusbJava
 * Class:     ch_ntb_usb_LibusbJava
 * Method:    usb_interrupt_read
 * Method:    usb_interrupt_read
 * Signature: (II[BII)I
 * Signature: (JI[BII)I
 */
 */
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1interrupt_1read
JNIEXPORT jint JNICALL Java_ch_ntb_usb_LibusbJava_usb_1interrupt_1read
  (JNIEnv *env, jclass obj, jint dev_handle, jint ep, jbyteArray jbytes, jint size, jint timeout)
  (JNIEnv *env, jclass obj, jlong dev_handle, jint ep, jbyteArray jbytes, jint size, jint timeout)
  {
  {
        clearLibusbJavaError();
        clearLibusbJavaError();
        char *bytes = (char *) malloc(size * sizeof(char));
        char *bytes = (char *) malloc(size * sizeof(char));
        int num_bytes = usb_interrupt_read((usb_dev_handle *) dev_handle, ep, bytes, size, timeout);
        int num_bytes = usb_interrupt_read((usb_dev_handle *) dev_handle, ep, bytes, size, timeout);
        if (!bytes) { return num_bytes; }
        if (!bytes) { return num_bytes; }

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.