7 %include<arrays_java.i>
11 struct ftdi_context *new_ftdi_context() {
12 return (struct ftdi_context*)malloc(sizeof(struct ftdi_context));
14 struct ftdi_eeprom *new_ftdi_eeprom() {
15 return (struct ftdi_eeprom*)malloc(sizeof(struct ftdi_eeprom));
21 %exception ftdi_init {
24 jclass clazz = (*jenv)->FindClass(jenv, "java/lang/RuntimeException");
25 (*jenv)->ThrowNew(jenv, clazz, "ftdi_init() returned nonzero result");
29 int ftdi_init(struct ftdi_context *ftdi);
31 %exception ftdi_read_data {
34 jclass clazz = (*jenv)->FindClass(jenv, "java/lang/RuntimeException");
35 (*jenv)->ThrowNew(jenv, clazz, "ftdi_read_data() returned negative result");
39 int ftdi_read_data(struct ftdi_context *ftdi, signed char buf[], int size);
41 %exception ftdi_write_data {
44 jclass clazz = (*jenv)->FindClass(jenv, "java/lang/RuntimeException");
45 (*jenv)->ThrowNew(jenv, clazz, "ftdi_write_data() returned negative result");
49 int ftdi_write_data(struct ftdi_context *ftdi, signed char buf[], int size);
51 %exception ftdi_usb_open {
54 jclass clazz = (*jenv)->FindClass(jenv, "java/lang/RuntimeException");
55 (*jenv)->ThrowNew(jenv, clazz, "ftdi_usb_open() returned nonzero result");
59 int ftdi_usb_open(struct ftdi_context *ftdi, int vendor, int product);
61 %exception ftdi_set_baudrate {
64 jclass clazz = (*jenv)->FindClass(jenv, "java/lang/RuntimeException");
65 (*jenv)->ThrowNew(jenv, clazz, "ftdftdi_set_baudrate() returned nonzero result");
69 int ftdi_set_baudrate(struct ftdi_context *ftdi, int baudrate);
71 %exception ftdi_set_line_property {
74 jclass clazz = (*jenv)->FindClass(jenv, "java/lang/RuntimeException");
75 (*jenv)->ThrowNew(jenv, clazz, "ftdi_set_line_property() returned nonzero result");
79 int ftdi_set_line_property(struct ftdi_context *ftdi, int bits, int sbit, int parity);
81 %exception ftdi_set_bitmode {
84 jclass clazz = (*jenv)->FindClass(jenv, "java/lang/RuntimeException");
85 (*jenv)->ThrowNew(jenv, clazz, "ftftdi_set_bitmodeeturned nonzero result");
89 int ftdi_set_bitmode(struct ftdi_context *ftdi, unsigned char bitmask, unsigned char mode);
91 %exception ftdi_read_pins {
94 jclass clazz = (*jenv)->FindClass(jenv, "java/lang/RuntimeException");
95 (*jenv)->ThrowNew(jenv, clazz, "ftdi_read_pins() returned negative result");
99 int ftdi_read_pins(struct ftdi_context *ftdi, signed char pins[]);
101 %exception ftdi_setflowctrl {
104 jclass clazz = (*jenv)->FindClass(jenv, "java/lang/RuntimeException");
105 (*jenv)->ThrowNew(jenv, clazz, "ftdi_setflowctrleturned nonzero result");
109 int ftdi_setflowctrl(struct ftdi_context *ftdi, int flowctrl);
113 int ftdi_set_interface(struct ftdi_context *ftdi, enum ftdi_interface interface);
116 void ftdi_deinit(struct ftdi_context *ftdi);
117 void ftdi_set_usbdev (struct ftdi_context *ftdi, usb_dev_handle *usbdev);
119 int ftdi_usb_find_all(struct ftdi_context *ftdi, struct ftdi_device_list **devlist,
120 int vendor, int product);
121 void ftdi_list_free(struct ftdi_device_list **devlist);
123 int ftdi_usb_open_desc(struct ftdi_context *ftdi, int vendor, int product,
124 const char* description, const char* serial);
125 int ftdi_usb_open_dev(struct ftdi_context *ftdi, struct usb_device *dev);
127 int ftdi_usb_close(struct ftdi_context *ftdi);
128 int ftdi_usb_reset(struct ftdi_context *ftdi);
129 int ftdi_usb_purge_buffers(struct ftdi_context *ftdi);
131 int ftdi_read_data_set_chunksize(struct ftdi_context *ftdi, unsigned int chunksize);
132 int ftdi_read_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunksize);
134 int ftdi_write_data_set_chunksize(struct ftdi_context *ftdi, unsigned int chunksize);
135 int ftdi_write_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunksize);
137 int ftdi_enable_bitbang(struct ftdi_context *ftdi, unsigned char bitmask);
138 int ftdi_disable_bitbang(struct ftdi_context *ftdi);
140 int ftdi_set_latency_timer(struct ftdi_context *ftdi, unsigned char latency);
141 int ftdi_get_latency_timer(struct ftdi_context *ftdi, unsigned char *latency);
143 // init and build eeprom from ftdi_eeprom structure
144 void ftdi_eeprom_initdefaults(struct ftdi_eeprom *eeprom);
145 int ftdi_eeprom_build(struct ftdi_eeprom *eeprom, signed char output[]);
147 int ftdi_read_eeprom(struct ftdi_context *ftdi, signed char eeprom[]);
148 int ftdi_write_eeprom(struct ftdi_context *ftdi, signed char eeprom[]);
149 int ftdi_erase_eeprom(struct ftdi_context *ftdi);