Completed the general data structures.
This commit is contained in:
parent
1b2b7daf9e
commit
81a1b5b018
221
usb4java-lib/src/main/c/USB_Endpoint_Descriptor.c
Normal file
221
usb4java-lib/src/main/c/USB_Endpoint_Descriptor.c
Normal file
@ -0,0 +1,221 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Klaus Reimer (k@ailis.de)
|
||||
* See COPYING file for copying conditions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name USB_Endpoint_Descriptor
|
||||
*
|
||||
* Native methods for the USB_Endpoint_Descriptor class.
|
||||
*
|
||||
* @author Klaus Reimer <k@ailis.de>
|
||||
*/
|
||||
|
||||
#include <jni.h>
|
||||
#include <usb.h>
|
||||
#include "usb4java.h"
|
||||
|
||||
|
||||
/**
|
||||
* Creates and returns a new USB endpoint descriptor wrapper object.
|
||||
*
|
||||
* @param env
|
||||
* The JNI environment.
|
||||
* @param descriptor
|
||||
* The USB endpoint descriptor.
|
||||
* @return The USB endpoint descriptor wrapper object.
|
||||
*/
|
||||
|
||||
jobject wrap_usb_endpoint_descriptor(JNIEnv *env,
|
||||
struct usb_endpoint_descriptor *descriptor)
|
||||
{
|
||||
if (!descriptor) return NULL;
|
||||
jclass cls = (*env)->FindClass(env, PACKAGE_DIR"/USB_Endpoint_Descriptor");
|
||||
if (cls == NULL) return NULL;
|
||||
jmethodID constructor = (*env)->GetMethodID(env, cls, "<init>", "(J)V");
|
||||
if (constructor == NULL) return NULL;
|
||||
return (*env)->NewObject(env, cls, constructor, (long) descriptor);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates and returns an array with USB endpoint descriptor wrapper objects.
|
||||
*
|
||||
* @param env
|
||||
* The JNI environment
|
||||
* @param num_descriptors
|
||||
* The number of descriptors
|
||||
* @param descriptors
|
||||
* The descriptors to wrap.
|
||||
* @return The array with the USB endpoint descriptor wrappers.
|
||||
*/
|
||||
|
||||
jobjectArray wrap_usb_endpoint_descriptors(JNIEnv *env, uint8_t num_descriptors,
|
||||
struct usb_endpoint_descriptor *descriptors)
|
||||
{
|
||||
int i;
|
||||
|
||||
jobjectArray array = (jobjectArray) (*env)->NewObjectArray(env,
|
||||
num_descriptors, (*env)->FindClass(env,
|
||||
PACKAGE_DIR"/USB_Endpoint_Descriptor"), NULL);
|
||||
for (i = 0; i < num_descriptors; i++)
|
||||
(*env)->SetObjectArrayElement(env, array, i,
|
||||
wrap_usb_endpoint_descriptor(env, &descriptors[i]));
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the wrapped USB endpoint descriptor object from the specified
|
||||
* wrapper object.
|
||||
*
|
||||
* @param env
|
||||
* The JNI environment.
|
||||
* @param obj
|
||||
* The USB endpoint descriptor wrapper object.
|
||||
* @return The USB endpoint descriptor object.
|
||||
*/
|
||||
|
||||
struct usb_endpoint_descriptor *unwrap_usb_endpoint_descriptor(JNIEnv *env,
|
||||
jobject obj)
|
||||
{
|
||||
jclass cls = (*env)->GetObjectClass(env, obj);
|
||||
jfieldID field = (*env)->GetFieldID(env, cls, "pointer", "J");
|
||||
return (struct usb_endpoint_descriptor *) ((*env)->GetLongField(env,
|
||||
obj, field));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bLength()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, bLength)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_endpoint_descriptor(env, this)->bLength;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bDescriptorType()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, bDescriptorType)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_endpoint_descriptor(env, this)->bDescriptorType;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bEndpointAddress()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, bEndpointAddress)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_endpoint_descriptor(env, this)->bEndpointAddress;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bmAttributes()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, bmAttributes)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_endpoint_descriptor(env, this)->bmAttributes;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* int wMaxPacketSize()
|
||||
*/
|
||||
|
||||
JNIEXPORT jint JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, wMaxPacketSize)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_endpoint_descriptor(env, this)->wMaxPacketSize;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bInterval()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, bInterval)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_endpoint_descriptor(env, this)->bInterval;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bRefresh()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, bRefresh)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_endpoint_descriptor(env, this)->bRefresh;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bSynchAddress()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, bSynchAddress)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_endpoint_descriptor(env, this)->bSynchAddress;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* int extralen()
|
||||
*/
|
||||
|
||||
JNIEXPORT jint JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, extralen)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return unwrap_usb_endpoint_descriptor(env, this)->extralen;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* byte[] extra()
|
||||
*/
|
||||
|
||||
JNIEXPORT jbyteArray JNICALL METHOD_NAME(USB_1Endpoint_1Descriptor, extra)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
struct usb_endpoint_descriptor *descriptor =
|
||||
unwrap_usb_endpoint_descriptor(env, this);
|
||||
jbyteArray array = (*env)->NewByteArray(env, descriptor->extralen);
|
||||
(*env)->SetByteArrayRegion(env, array, 0, descriptor->extralen,
|
||||
(const jbyte *) descriptor->extra);
|
||||
return array;
|
||||
}
|
||||
19
usb4java-lib/src/main/c/USB_Endpoint_Descriptor.h
Normal file
19
usb4java-lib/src/main/c/USB_Endpoint_Descriptor.h
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Klaus Reimer (k@ailis.de)
|
||||
* See COPYING file for copying conditions
|
||||
*/
|
||||
|
||||
#ifndef USB_ENDPOINT_DESCRIPTOR_H
|
||||
#define USB_ENDPOINT_DESCRIPTOR_H
|
||||
|
||||
#include <jni.h>
|
||||
#include <usb.h>
|
||||
|
||||
extern jobject wrap_usb_endpoint_descriptor(JNIEnv *,
|
||||
struct usb_endpoint_descriptor *);
|
||||
extern jobjectArray wrap_usb_endpoint_descriptors(JNIEnv *, uint8_t,
|
||||
struct usb_endpoint_descriptor *);
|
||||
extern struct usb_endpoint_descriptor *unwrap_usb_endpoint_descriptor(
|
||||
JNIEnv *, jobject);
|
||||
|
||||
#endif
|
||||
115
usb4java-lib/src/main/c/USB_Interface.c
Normal file
115
usb4java-lib/src/main/c/USB_Interface.c
Normal file
@ -0,0 +1,115 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Klaus Reimer (k@ailis.de)
|
||||
* See COPYING file for copying conditions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name USB_Interface
|
||||
*
|
||||
* Native methods for the USB_Interface class.
|
||||
*
|
||||
* @author Klaus Reimer <k@ailis.de>
|
||||
*/
|
||||
|
||||
#include <jni.h>
|
||||
#include <usb.h>
|
||||
#include "usb4java.h"
|
||||
#include "USB_Interface_Descriptor.h"
|
||||
|
||||
|
||||
/**
|
||||
* Creates and returns a new USB interface wrapper object.
|
||||
*
|
||||
* @param env
|
||||
* The JNI environment.
|
||||
* @param device
|
||||
* The USB interface.
|
||||
* @return The USB interface wrapper object.
|
||||
*/
|
||||
|
||||
static jobject wrap_usb_interface(JNIEnv *env, struct usb_interface *interface)
|
||||
{
|
||||
if (!interface) return NULL;
|
||||
jclass cls = (*env)->FindClass(env, PACKAGE_DIR"/USB_Interface");
|
||||
if (cls == NULL) return NULL;
|
||||
jmethodID constructor = (*env)->GetMethodID(env, cls, "<init>", "(J)V");
|
||||
if (constructor == NULL) return NULL;
|
||||
return (*env)->NewObject(env, cls, constructor, (long) interface);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates and returns an array with USB interface wrapper objects.
|
||||
*
|
||||
* @param env
|
||||
* The JNI environment
|
||||
* @param num_interfaces
|
||||
* The number of interfaces
|
||||
* @param interfaces
|
||||
* The interfaces to wrap.
|
||||
* @return The array with the USB interface wrappers.
|
||||
*/
|
||||
|
||||
jobjectArray wrap_usb_interfaces(JNIEnv *env, uint8_t num_interfaces,
|
||||
struct usb_interface *interfaces)
|
||||
{
|
||||
int i;
|
||||
|
||||
jobjectArray array = (jobjectArray) (*env)->NewObjectArray(env,
|
||||
num_interfaces, (*env)->FindClass(env, PACKAGE_DIR"/USB_Interface"),
|
||||
NULL);
|
||||
for (i = 0; i < num_interfaces; i++)
|
||||
(*env)->SetObjectArrayElement(env, array, i,
|
||||
wrap_usb_interface(env, &interfaces[i]));
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the wrapped USB interface object from the specified wrapper object.
|
||||
*
|
||||
* @param env
|
||||
* The JNI environment.
|
||||
* @param obj
|
||||
* The USB interface wrapper object.
|
||||
* @return The USB interface object.
|
||||
*/
|
||||
|
||||
struct usb_interface *unwrap_usb_interface(JNIEnv *env, jobject obj)
|
||||
{
|
||||
jclass cls = (*env)->GetObjectClass(env, obj);
|
||||
jfieldID field = (*env)->GetFieldID(env, cls, "pointer", "J");
|
||||
return (struct usb_interface *) ((*env)->GetLongField(env, obj, field));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the number of available interface descriptors.
|
||||
*
|
||||
* @return The number of available interface descriptors.
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface, num_1altsetting)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface(env, this)->num_altsetting;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the array with all available interface descriptors.
|
||||
*
|
||||
* @return The array with the interface descriptors.
|
||||
*/
|
||||
|
||||
JNIEXPORT jobjectArray JNICALL METHOD_NAME(USB_1Interface, altsetting)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
struct usb_interface *interface = unwrap_usb_interface(env, this);
|
||||
return wrap_usb_interface_descriptors(env, interface->num_altsetting,
|
||||
interface->altsetting);
|
||||
}
|
||||
16
usb4java-lib/src/main/c/USB_Interface.h
Normal file
16
usb4java-lib/src/main/c/USB_Interface.h
Normal file
@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Klaus Reimer (k@ailis.de)
|
||||
* See COPYING file for copying conditions
|
||||
*/
|
||||
|
||||
#ifndef USB_INTERFACE_H
|
||||
#define USB_INTERFACE_H
|
||||
|
||||
#include <jni.h>
|
||||
#include <usb.h>
|
||||
|
||||
extern jobject wrap_usb_interface(JNIEnv *env, struct usb_interface *interface);
|
||||
extern jobjectArray wrap_usb_interfaces(JNIEnv *env, uint8_t num_children,
|
||||
struct usb_interface *interfaces);
|
||||
|
||||
#endif
|
||||
251
usb4java-lib/src/main/c/USB_Interface_Descriptor.c
Normal file
251
usb4java-lib/src/main/c/USB_Interface_Descriptor.c
Normal file
@ -0,0 +1,251 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Klaus Reimer (k@ailis.de)
|
||||
* See COPYING file for copying conditions
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name USB_Interface_Descriptor
|
||||
*
|
||||
* Native methods for the USB_Interface_Descriptor class.
|
||||
*
|
||||
* @author Klaus Reimer <k@ailis.de>
|
||||
*/
|
||||
|
||||
#include <jni.h>
|
||||
#include <usb.h>
|
||||
#include "usb4java.h"
|
||||
#include "USB_Endpoint_Descriptor.h"
|
||||
|
||||
|
||||
/**
|
||||
* Creates and returns a new USB interface descriptor wrapper object.
|
||||
*
|
||||
* @param env
|
||||
* The JNI environment.
|
||||
* @param descriptor
|
||||
* The USB interface descriptor.
|
||||
* @return The USB interface descriptor wrapper object.
|
||||
*/
|
||||
|
||||
jobject wrap_usb_interface_descriptor(JNIEnv *env,
|
||||
struct usb_interface_descriptor *descriptor)
|
||||
{
|
||||
if (!descriptor) return NULL;
|
||||
jclass cls = (*env)->FindClass(env, PACKAGE_DIR"/USB_Interface_Descriptor");
|
||||
if (cls == NULL) return NULL;
|
||||
jmethodID constructor = (*env)->GetMethodID(env, cls, "<init>", "(J)V");
|
||||
if (constructor == NULL) return NULL;
|
||||
return (*env)->NewObject(env, cls, constructor, (long) descriptor);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates and returns an array with USB interface descriptor wrapper objects.
|
||||
*
|
||||
* @param env
|
||||
* The JNI environment
|
||||
* @param num_descriptors
|
||||
* The number of descriptors
|
||||
* @param descriptors
|
||||
* The descriptors to wrap.
|
||||
* @return The array with the USB interface descriptor wrappers.
|
||||
*/
|
||||
|
||||
jobjectArray wrap_usb_interface_descriptors(JNIEnv *env, uint8_t num_descriptors,
|
||||
struct usb_interface_descriptor *descriptors)
|
||||
{
|
||||
int i;
|
||||
|
||||
jobjectArray array = (jobjectArray) (*env)->NewObjectArray(env,
|
||||
num_descriptors, (*env)->FindClass(env,
|
||||
PACKAGE_DIR"/USB_Interface_Descriptor"), NULL);
|
||||
for (i = 0; i < num_descriptors; i++)
|
||||
(*env)->SetObjectArrayElement(env, array, i,
|
||||
wrap_usb_interface_descriptor(env, &descriptors[i]));
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the wrapped USB interface descriptor object from the specified
|
||||
* wrapper object.
|
||||
*
|
||||
* @param env
|
||||
* The JNI environment.
|
||||
* @param obj
|
||||
* The USB interface descriptor wrapper object.
|
||||
* @return The USB interface descriptor object.
|
||||
*/
|
||||
|
||||
struct usb_interface_descriptor *unwrap_usb_interface_descriptor(JNIEnv *env,
|
||||
jobject obj)
|
||||
{
|
||||
jclass cls = (*env)->GetObjectClass(env, obj);
|
||||
jfieldID field = (*env)->GetFieldID(env, cls, "pointer", "J");
|
||||
return (struct usb_interface_descriptor *) ((*env)->GetLongField(env,
|
||||
obj, field));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bLength()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface_1Descriptor, bLength)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface_descriptor(env, this)->bLength;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bDescriptorType()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface_1Descriptor, bDescriptorType)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface_descriptor(env, this)->bDescriptorType;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bInterfaceNumber()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface_1Descriptor, bInterfaceNumber)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface_descriptor(env, this)->bInterfaceNumber;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bAlternateSetting()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface_1Descriptor, bAlternateSetting)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface_descriptor(env, this)->bAlternateSetting;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bNumEndpoints()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface_1Descriptor, bNumEndpoints)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface_descriptor(env, this)->bNumEndpoints;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bInterfaceClass()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface_1Descriptor, bInterfaceClass)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface_descriptor(env, this)->bInterfaceClass;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bInterfaceSubClass()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface_1Descriptor, bInterfaceSubClass)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface_descriptor(env, this)->bInterfaceSubClass;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short bInterfaceProtocol()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface_1Descriptor, bInterfaceProtocol)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface_descriptor(env, this)->bInterfaceProtocol;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* short iInterface()
|
||||
*/
|
||||
|
||||
JNIEXPORT jshort JNICALL METHOD_NAME(USB_1Interface_1Descriptor, iInterface)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return (jshort) unwrap_usb_interface_descriptor(env, this)->iInterface;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* int extralen()
|
||||
*/
|
||||
|
||||
JNIEXPORT jint JNICALL METHOD_NAME(USB_1Interface_1Descriptor, extralen)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
return unwrap_usb_interface_descriptor(env, this)->extralen;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* byte[] extra()
|
||||
*/
|
||||
|
||||
JNIEXPORT jbyteArray JNICALL METHOD_NAME(USB_1Interface_1Descriptor, extra)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
struct usb_interface_descriptor *descriptor =
|
||||
unwrap_usb_interface_descriptor(env, this);
|
||||
jbyteArray array = (*env)->NewByteArray(env, descriptor->extralen);
|
||||
(*env)->SetByteArrayRegion(env, array, 0, descriptor->extralen,
|
||||
(const jbyte *) descriptor->extra);
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* USB_Endpoint_Descriptor[] endpoint()
|
||||
*/
|
||||
|
||||
JNIEXPORT jobjectArray JNICALL METHOD_NAME(USB_1Interface_1Descriptor, endpoint)
|
||||
(
|
||||
JNIEnv *env, jobject this
|
||||
)
|
||||
{
|
||||
struct usb_interface_descriptor *descriptor =
|
||||
unwrap_usb_interface_descriptor(env, this);
|
||||
return wrap_usb_endpoint_descriptors(env, descriptor->bNumEndpoints,
|
||||
descriptor->endpoint);
|
||||
}
|
||||
19
usb4java-lib/src/main/c/USB_Interface_Descriptor.h
Normal file
19
usb4java-lib/src/main/c/USB_Interface_Descriptor.h
Normal file
@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Klaus Reimer (k@ailis.de)
|
||||
* See COPYING file for copying conditions
|
||||
*/
|
||||
|
||||
#ifndef USB_INTERFACE_DESCRIPTOR_H
|
||||
#define USB_INTERFACE_DESCRIPTOR_H
|
||||
|
||||
#include <jni.h>
|
||||
#include <usb.h>
|
||||
|
||||
extern jobject wrap_usb_interface_descriptor(JNIEnv *,
|
||||
struct usb_interface_descriptor *);
|
||||
extern jobjectArray wrap_usb_interface_descriptors(JNIEnv *, uint8_t,
|
||||
struct usb_interface_descriptor *);
|
||||
extern struct usb_interface_descriptor *unwrap_usb_interface_descriptor(
|
||||
JNIEnv *, jobject);
|
||||
|
||||
#endif
|
||||
12
usb4java-lib/src/main/c/usb4java.h
Normal file
12
usb4java-lib/src/main/c/usb4java.h
Normal file
@ -0,0 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Klaus Reimer (k@ailis.de)
|
||||
* See COPYING file for copying conditions
|
||||
*/
|
||||
|
||||
#ifndef USB4JAVA_H
|
||||
#define USB4JAVA_H
|
||||
|
||||
#define PACKAGE_DIR "de/ailis/usb4java"
|
||||
#define METHOD_NAME(class, method) Java_de_ailis_usb4java_##class##_##method
|
||||
|
||||
#endif
|
||||
Loading…
Reference in New Issue
Block a user