Fix swig argument constraints. Thanks to Craig Hollabaugh for the hint.
[libftdi] / bindings / ftdi.i
CommitLineData
05c0dae8
TH
1/* File: example.i */
2%module ftdi
3%include "typemaps.i"
4%include "cpointer.i"
5%typemap(in) unsigned char* = char*;
6%ignore ftdi_write_data_async;
7%ignore ftdi_async_complete;
8
9%include ftdi.h
10%{
11#include <ftdi.h>
12%}
13
14extern "C" {
15
16%apply char *OUTPUT { unsigned char *buf };
17 int ftdi_read_data(struct ftdi_context *ftdi, unsigned char *buf, int size);
18%clear unsigned char *buf;
f0005c33 19
05c0dae8
TH
20%apply int *OUTPUT { unsigned int *chunksize };
21 int ftdi_read_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunksize);
22 int ftdi_write_data_get_chunksize(struct ftdi_context *ftdi, unsigned int *chunksize);
23%clear unsigned int *chunksize;
f0005c33 24
05c0dae8
TH
25 //int ftdi_write_data_async(struct ftdi_context *ftdi, unsigned char *buf, int size);
26 //void ftdi_async_complete(struct ftdi_context *ftdi, int wait_for_more);
27%apply char *OUTPUT { unsigned char *pins };
28 int ftdi_read_pins(struct ftdi_context *ftdi, unsigned char *pins);
29%clear unsigned char *pins;
f0005c33 30
05c0dae8
TH
31%apply char *OUTPUT { unsigned char *latency };
32 int ftdi_get_latency_timer(struct ftdi_context *ftdi, unsigned char *latency);
f0005c33
TJ
33%clear unsigned char *latency;
34
35%apply char *OUTPUT { unsigned short *status };
05c0dae8 36 int ftdi_poll_modem_status(struct ftdi_context *ftdi, unsigned short *status);
f0005c33
TJ
37%clear unsigned short *status;
38
05c0dae8
TH
39%apply char *OUTPUT { unsigned char *output };
40 int ftdi_eeprom_build(struct ftdi_eeprom *eeprom, unsigned char *output);
41%clear unsigned char *output;
f0005c33 42
05c0dae8
TH
43%apply char *OUTPUT { unsigned char *eeprom };
44 int ftdi_read_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom);
45 int ftdi_write_eeprom(struct ftdi_context *ftdi, unsigned char *eeprom);
46%clear unsigned char *eeprom;
f0005c33 47
05c0dae8
TH
48%apply int *OUTPUT { unsigned int *chipid };
49 int ftdi_read_chipid(struct ftdi_context *ftdi, unsigned int *chipid);
50%clear unsigned int *chipid;
51
52}