ftd2xx.h
Go to the documentation of this file.
1 /*++
2 
3 Copyright © 2001-2011 Future Technology Devices International Limited
4 
5 THIS SOFTWARE IS PROVIDED BY FUTURE TECHNOLOGY DEVICES INTERNATIONAL LIMITED "AS IS"
6 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
7 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
8 FUTURE TECHNOLOGY DEVICES INTERNATIONAL LIMITED BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
9 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
10 OF SUBSTITUTE GOODS OR SERVICES LOSS OF USE, DATA, OR PROFITS OR BUSINESS INTERRUPTION)
11 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
12 TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
13 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
14 
15 FTDI DRIVERS MAY BE USED ONLY IN CONJUNCTION WITH PRODUCTS BASED ON FTDI PARTS.
16 
17 FTDI DRIVERS MAY BE DISTRIBUTED IN ANY FORM AS LONG AS LICENSE INFORMATION IS NOT MODIFIED.
18 
19 IF A CUSTOM VENDOR ID AND/OR PRODUCT ID OR DESCRIPTION STRING ARE USED, IT IS THE
20 RESPONSIBILITY OF THE PRODUCT MANUFACTURER TO MAINTAIN ANY CHANGES AND SUBSEQUENT WHQL
21 RE-CERTIFICATION AS A RESULT OF MAKING THESE CHANGES.
22 
23 
24 Module Name:
25 
26 ftd2xx.h
27 
28 Abstract:
29 
30 Native USB device driver for FTDI FT232x, FT245x, FT2232x and FT4232x devices
31 FTD2XX library definitions
32 
33 Environment:
34 
35 kernel & user mode
36 
37 
38 --*/
39 
40 
41 #ifndef FTD2XX_H
42 #define FTD2XX_H
43 
44 // The following ifdef block is the standard way of creating macros
45 // which make exporting from a DLL simpler. All files within this DLL
46 // are compiled with the FTD2XX_EXPORTS symbol defined on the command line.
47 // This symbol should not be defined on any project that uses this DLL.
48 // This way any other project whose source files include this file see
49 // FTD2XX_API functions as being imported from a DLL, whereas this DLL
50 // sees symbols defined with this macro as being exported.
51 
52 #ifdef FTD2XX_EXPORTS
53 #define FTD2XX_API __declspec(dllexport)
54 #else
55 #define FTD2XX_API __declspec(dllimport)
56 #endif
57 
58 #ifndef _WINDOWS
59 #include <pthread.h>
60 #include "WinTypes.h"
62 typedef struct _EVENT_HANDLE{
63  pthread_cond_t eCondVar;
64  pthread_mutex_t eMutex;
65  int iVar;
66 } EVENT_HANDLE;
67 #ifdef FTD2XX_API
68 #undef FTD2XX_API
69 #define FTD2XX_API
70 #endif /* FTD2XX_API */
71 #endif /* _WINDOWS */
72 
73 typedef PVOID FT_HANDLE;
74 typedef ULONG FT_STATUS;
75 
76 //
77 // Device status
78 //
79 enum {
88 
101 };
102 
103 
104 #define FT_SUCCESS(status) ((status) == FT_OK)
105 
106 //
107 // FT_OpenEx Flags
108 //
109 
110 #define FT_OPEN_BY_SERIAL_NUMBER 1
111 #define FT_OPEN_BY_DESCRIPTION 2
112 #define FT_OPEN_BY_LOCATION 4
113 
114 #define FT_OPEN_MASK (FT_OPEN_BY_SERIAL_NUMBER | \
115  FT_OPEN_BY_DESCRIPTION | \
116  FT_OPEN_BY_LOCATION)
117 
118 //
119 // FT_ListDevices Flags (used in conjunction with FT_OpenEx Flags
120 //
121 
122 #define FT_LIST_NUMBER_ONLY 0x80000000
123 #define FT_LIST_BY_INDEX 0x40000000
124 #define FT_LIST_ALL 0x20000000
125 
126 #define FT_LIST_MASK (FT_LIST_NUMBER_ONLY|FT_LIST_BY_INDEX|FT_LIST_ALL)
127 
128 //
129 // Baud Rates
130 //
131 
132 #define FT_BAUD_300 300
133 #define FT_BAUD_600 600
134 #define FT_BAUD_1200 1200
135 #define FT_BAUD_2400 2400
136 #define FT_BAUD_4800 4800
137 #define FT_BAUD_9600 9600
138 #define FT_BAUD_14400 14400
139 #define FT_BAUD_19200 19200
140 #define FT_BAUD_38400 38400
141 #define FT_BAUD_57600 57600
142 #define FT_BAUD_115200 115200
143 #define FT_BAUD_230400 230400
144 #define FT_BAUD_460800 460800
145 #define FT_BAUD_921600 921600
146 
147 //
148 // Word Lengths
149 //
150 
151 #define FT_BITS_8 (UCHAR) 8
152 #define FT_BITS_7 (UCHAR) 7
153 
154 //
155 // Stop Bits
156 //
157 
158 #define FT_STOP_BITS_1 (UCHAR) 0
159 #define FT_STOP_BITS_2 (UCHAR) 2
160 
161 //
162 // Parity
163 //
164 
165 #define FT_PARITY_NONE (UCHAR) 0
166 #define FT_PARITY_ODD (UCHAR) 1
167 #define FT_PARITY_EVEN (UCHAR) 2
168 #define FT_PARITY_MARK (UCHAR) 3
169 #define FT_PARITY_SPACE (UCHAR) 4
170 
171 //
172 // Flow Control
173 //
174 
175 #define FT_FLOW_NONE 0x0000
176 #define FT_FLOW_RTS_CTS 0x0100
177 #define FT_FLOW_DTR_DSR 0x0200
178 #define FT_FLOW_XON_XOFF 0x0400
179 
180 //
181 // Purge rx and tx buffers
182 //
183 #define FT_PURGE_RX 1
184 #define FT_PURGE_TX 2
185 
186 //
187 // Events
188 //
189 
190 typedef void (*PFT_EVENT_HANDLER)(DWORD,DWORD);
191 
192 #define FT_EVENT_RXCHAR 1
193 #define FT_EVENT_MODEM_STATUS 2
194 #define FT_EVENT_LINE_STATUS 4
195 
196 //
197 // Timeouts
198 //
199 
200 #define FT_DEFAULT_RX_TIMEOUT 300
201 #define FT_DEFAULT_TX_TIMEOUT 300
202 
203 //
204 // Device types
205 //
206 
207 typedef ULONG FT_DEVICE;
208 
209 enum {
220 };
221 
222 //
223 // Bit Modes
224 //
225 
226 #define FT_BITMODE_RESET 0x00
227 #define FT_BITMODE_ASYNC_BITBANG 0x01
228 #define FT_BITMODE_MPSSE 0x02
229 #define FT_BITMODE_SYNC_BITBANG 0x04
230 #define FT_BITMODE_MCU_HOST 0x08
231 #define FT_BITMODE_FAST_SERIAL 0x10
232 #define FT_BITMODE_CBUS_BITBANG 0x20
233 #define FT_BITMODE_SYNC_FIFO 0x40
234 
235 //
236 // FT232R CBUS Options EEPROM values
237 //
238 
239 #define FT_232R_CBUS_TXDEN 0x00 // Tx Data Enable
240 #define FT_232R_CBUS_PWRON 0x01 // Power On
241 #define FT_232R_CBUS_RXLED 0x02 // Rx LED
242 #define FT_232R_CBUS_TXLED 0x03 // Tx LED
243 #define FT_232R_CBUS_TXRXLED 0x04 // Tx and Rx LED
244 #define FT_232R_CBUS_SLEEP 0x05 // Sleep
245 #define FT_232R_CBUS_CLK48 0x06 // 48MHz clock
246 #define FT_232R_CBUS_CLK24 0x07 // 24MHz clock
247 #define FT_232R_CBUS_CLK12 0x08 // 12MHz clock
248 #define FT_232R_CBUS_CLK6 0x09 // 6MHz clock
249 #define FT_232R_CBUS_IOMODE 0x0A // IO Mode for CBUS bit-bang
250 #define FT_232R_CBUS_BITBANG_WR 0x0B // Bit-bang write strobe
251 #define FT_232R_CBUS_BITBANG_RD 0x0C // Bit-bang read strobe
252 
253 //
254 // FT232H CBUS Options EEPROM values
255 //
256 
257 #define FT_232H_CBUS_TRISTATE 0x00 // Tristate
258 #define FT_232H_CBUS_TXLED 0x01 // Tx LED
259 #define FT_232H_CBUS_RXLED 0x02 // Rx LED
260 #define FT_232H_CBUS_TXRXLED 0x03 // Tx and Rx LED
261 #define FT_232H_CBUS_PWREN 0x04 // Power Enable
262 #define FT_232H_CBUS_SLEEP 0x05 // Sleep
263 #define FT_232H_CBUS_DRIVE_0 0x06 // Drive pin to logic 0
264 #define FT_232H_CBUS_DRIVE_1 0x07 // Drive pin to logic 1
265 #define FT_232H_CBUS_IOMODE 0x08 // IO Mode for CBUS bit-bang
266 #define FT_232H_CBUS_TXDEN 0x09 // Tx Data Enable
267 #define FT_232H_CBUS_CLK30 0x0A // 30MHz clock
268 #define FT_232H_CBUS_CLK15 0x0B // 15MHz clock
269 #define FT_232H_CBUS_CLK7_5 0x0C // 7.5MHz clock
270 
271 //
272 // FT X Series CBUS Options EEPROM values
273 //
274 
275 #define FT_X_SERIES_CBUS_TRISTATE 0x00 // Tristate
276 #define FT_X_SERIES_CBUS_RXLED 0x01 // Tx LED
277 #define FT_X_SERIES_CBUS_TXLED 0x02 // Rx LED
278 #define FT_X_SERIES_CBUS_TXRXLED 0x03 // Tx and Rx LED
279 #define FT_X_SERIES_CBUS_PWREN 0x04 // Power Enable
280 #define FT_X_SERIES_CBUS_SLEEP 0x05 // Sleep
281 #define FT_X_SERIES_CBUS_DRIVE_0 0x06 // Drive pin to logic 0
282 #define FT_X_SERIES_CBUS_DRIVE_1 0x07 // Drive pin to logic 1
283 #define FT_X_SERIES_CBUS_IOMODE 0x08 // IO Mode for CBUS bit-bang
284 #define FT_X_SERIES_CBUS_TXDEN 0x09 // Tx Data Enable
285 #define FT_X_SERIES_CBUS_CLK24 0x0A // 24MHz clock
286 #define FT_X_SERIES_CBUS_CLK12 0x0B // 12MHz clock
287 #define FT_X_SERIES_CBUS_CLK6 0x0C // 6MHz clock
288 #define FT_X_SERIES_CBUS_BCD_CHARGER 0x0D // Battery charger detected
289 #define FT_X_SERIES_CBUS_BCD_CHARGER_N 0x0E // Battery charger detected inverted
290 #define FT_X_SERIES_CBUS_I2C_TXE 0x0F // I2C Tx empty
291 #define FT_X_SERIES_CBUS_I2C_RXF 0x10 // I2C Rx full
292 #define FT_X_SERIES_CBUS_VBUS_SENSE 0x11 // Detect VBUS
293 #define FT_X_SERIES_CBUS_BITBANG_WR 0x12 // Bit-bang write strobe
294 #define FT_X_SERIES_CBUS_BITBANG_RD 0x13 // Bit-bang read strobe
295 #define FT_X_SERIES_CBUS_TIMESTAMP 0x14 // Toggle output when a USB SOF token is received
296 #define FT_X_SERIES_CBUS_KEEP_AWAKE 0x15 //
297 
298 
299 // Driver types
300 #define FT_DRIVER_TYPE_D2XX 0
301 #define FT_DRIVER_TYPE_VCP 1
302 
303 
304 
305 #ifdef __cplusplus
306 extern "C" {
307 #endif
308 
309 
310  FTD2XX_API
312  int deviceNumber,
313  FT_HANDLE *pHandle
314  );
315 
316  FTD2XX_API
318  PVOID pArg1,
319  DWORD Flags,
320  FT_HANDLE *pHandle
321  );
322 
323  FTD2XX_API
325  PVOID pArg1,
326  PVOID pArg2,
327  DWORD Flags
328  );
329 
330  FTD2XX_API
332  FT_HANDLE ftHandle
333  );
334 
335  FTD2XX_API
337  FT_HANDLE ftHandle,
338  LPVOID lpBuffer,
339  DWORD dwBytesToRead,
340  LPDWORD lpBytesReturned
341  );
342 
343  FTD2XX_API
345  FT_HANDLE ftHandle,
346  LPVOID lpBuffer,
347  DWORD dwBytesToWrite,
348  LPDWORD lpBytesWritten
349  );
350 
351  FTD2XX_API
353  FT_HANDLE ftHandle,
354  DWORD dwIoControlCode,
355  LPVOID lpInBuf,
356  DWORD nInBufSize,
357  LPVOID lpOutBuf,
358  DWORD nOutBufSize,
359  LPDWORD lpBytesReturned,
360  LPOVERLAPPED lpOverlapped
361  );
362 
363  FTD2XX_API
365  FT_HANDLE ftHandle,
366  ULONG BaudRate
367  );
368 
369  FTD2XX_API
371  FT_HANDLE ftHandle,
372  USHORT Divisor
373  );
374 
375  FTD2XX_API
377  FT_HANDLE ftHandle,
378  UCHAR WordLength,
379  UCHAR StopBits,
380  UCHAR Parity
381  );
382 
383  FTD2XX_API
385  FT_HANDLE ftHandle,
386  USHORT FlowControl,
387  UCHAR XonChar,
388  UCHAR XoffChar
389  );
390 
391  FTD2XX_API
393  FT_HANDLE ftHandle
394  );
395 
396  FTD2XX_API
398  FT_HANDLE ftHandle
399  );
400 
401  FTD2XX_API
403  FT_HANDLE ftHandle
404  );
405 
406  FTD2XX_API
408  FT_HANDLE ftHandle
409  );
410 
411  FTD2XX_API
413  FT_HANDLE ftHandle
414  );
415 
416  FTD2XX_API
418  FT_HANDLE ftHandle,
419  ULONG *pModemStatus
420  );
421 
422  FTD2XX_API
424  FT_HANDLE ftHandle,
425  UCHAR EventChar,
426  UCHAR EventCharEnabled,
427  UCHAR ErrorChar,
428  UCHAR ErrorCharEnabled
429  );
430 
431  FTD2XX_API
433  FT_HANDLE ftHandle,
434  ULONG Mask
435  );
436 
437  FTD2XX_API
439  FT_HANDLE ftHandle,
440  ULONG ReadTimeout,
441  ULONG WriteTimeout
442  );
443 
444  FTD2XX_API
446  FT_HANDLE ftHandle,
447  DWORD *dwRxBytes
448  );
449 
450  FTD2XX_API
452  FT_HANDLE ftHandle,
453  DWORD Mask,
454  PVOID Param
455  );
456 
457  FTD2XX_API
459  FT_HANDLE ftHandle,
460  DWORD *dwRxBytes,
461  DWORD *dwTxBytes,
462  DWORD *dwEventDWord
463  );
464 
465  FTD2XX_API
467  FT_HANDLE ftHandle
468  );
469 
470  FTD2XX_API
472  FT_HANDLE ftHandle
473  );
474 
475  FTD2XX_API
477  FT_HANDLE ftHandle,
478  DWORD Mask
479  );
480 
481  FTD2XX_API
483  FT_HANDLE ftHandle,
484  DWORD *Mask
485  );
486 
487  FTD2XX_API
489  FT_HANDLE ftHandle,
490  DWORD *dwEventDWord
491  );
492 
493  FTD2XX_API
495  FT_HANDLE ftHandle,
496  DWORD dwWordOffset,
497  LPWORD lpwValue
498  );
499 
500  FTD2XX_API
502  FT_HANDLE ftHandle,
503  DWORD dwWordOffset,
504  WORD wValue
505  );
506 
507  FTD2XX_API
509  FT_HANDLE ftHandle
510  );
511 
512  //
513  // structure to hold program data for FT_EE_Program, FT_EE_ProgramEx, FT_EE_Read
514  // and FT_EE_ReadEx functions
515  //
516  typedef struct ft_program_data {
517 
518  DWORD Signature1; // Header - must be 0x00000000
519  DWORD Signature2; // Header - must be 0xffffffff
520  DWORD Version; // Header - FT_PROGRAM_DATA version
521  // 0 = original
522  // 1 = FT2232 extensions
523  // 2 = FT232R extensions
524  // 3 = FT2232H extensions
525  // 4 = FT4232H extensions
526  // 5 = FT232H extensions
527 
528  WORD VendorId; // 0x0403
529  WORD ProductId; // 0x6001
530  char *Manufacturer; // "FTDI"
531  char *ManufacturerId; // "FT"
532  char *Description; // "USB HS Serial Converter"
533  char *SerialNumber; // "FT000001" if fixed, or NULL
534  WORD MaxPower; // 0 < MaxPower <= 500
535  WORD PnP; // 0 = disabled, 1 = enabled
536  WORD SelfPowered; // 0 = bus powered, 1 = self powered
537  WORD RemoteWakeup; // 0 = not capable, 1 = capable
538  //
539  // Rev4 (FT232B) extensions
540  //
541  UCHAR Rev4; // non-zero if Rev4 chip, zero otherwise
542  UCHAR IsoIn; // non-zero if in endpoint is isochronous
543  UCHAR IsoOut; // non-zero if out endpoint is isochronous
544  UCHAR PullDownEnable; // non-zero if pull down enabled
545  UCHAR SerNumEnable; // non-zero if serial number to be used
546  UCHAR USBVersionEnable; // non-zero if chip uses USBVersion
547  WORD USBVersion; // BCD (0x0200 => USB2)
548  //
549  // Rev 5 (FT2232) extensions
550  //
551  UCHAR Rev5; // non-zero if Rev5 chip, zero otherwise
552  UCHAR IsoInA; // non-zero if in endpoint is isochronous
553  UCHAR IsoInB; // non-zero if in endpoint is isochronous
554  UCHAR IsoOutA; // non-zero if out endpoint is isochronous
555  UCHAR IsoOutB; // non-zero if out endpoint is isochronous
556  UCHAR PullDownEnable5; // non-zero if pull down enabled
557  UCHAR SerNumEnable5; // non-zero if serial number to be used
558  UCHAR USBVersionEnable5; // non-zero if chip uses USBVersion
559  WORD USBVersion5; // BCD (0x0200 => USB2)
560  UCHAR AIsHighCurrent; // non-zero if interface is high current
561  UCHAR BIsHighCurrent; // non-zero if interface is high current
562  UCHAR IFAIsFifo; // non-zero if interface is 245 FIFO
563  UCHAR IFAIsFifoTar; // non-zero if interface is 245 FIFO CPU target
564  UCHAR IFAIsFastSer; // non-zero if interface is Fast serial
565  UCHAR AIsVCP; // non-zero if interface is to use VCP drivers
566  UCHAR IFBIsFifo; // non-zero if interface is 245 FIFO
567  UCHAR IFBIsFifoTar; // non-zero if interface is 245 FIFO CPU target
568  UCHAR IFBIsFastSer; // non-zero if interface is Fast serial
569  UCHAR BIsVCP; // non-zero if interface is to use VCP drivers
570  //
571  // Rev 6 (FT232R) extensions
572  //
573  UCHAR UseExtOsc; // Use External Oscillator
574  UCHAR HighDriveIOs; // High Drive I/Os
575  UCHAR EndpointSize; // Endpoint size
576  UCHAR PullDownEnableR; // non-zero if pull down enabled
577  UCHAR SerNumEnableR; // non-zero if serial number to be used
578  UCHAR InvertTXD; // non-zero if invert TXD
579  UCHAR InvertRXD; // non-zero if invert RXD
580  UCHAR InvertRTS; // non-zero if invert RTS
581  UCHAR InvertCTS; // non-zero if invert CTS
582  UCHAR InvertDTR; // non-zero if invert DTR
583  UCHAR InvertDSR; // non-zero if invert DSR
584  UCHAR InvertDCD; // non-zero if invert DCD
585  UCHAR InvertRI; // non-zero if invert RI
586  UCHAR Cbus0; // Cbus Mux control
587  UCHAR Cbus1; // Cbus Mux control
588  UCHAR Cbus2; // Cbus Mux control
589  UCHAR Cbus3; // Cbus Mux control
590  UCHAR Cbus4; // Cbus Mux control
591  UCHAR RIsD2XX; // non-zero if using D2XX driver
592  //
593  // Rev 7 (FT2232H) Extensions
594  //
595  UCHAR PullDownEnable7; // non-zero if pull down enabled
596  UCHAR SerNumEnable7; // non-zero if serial number to be used
597  UCHAR ALSlowSlew; // non-zero if AL pins have slow slew
598  UCHAR ALSchmittInput; // non-zero if AL pins are Schmitt input
599  UCHAR ALDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
600  UCHAR AHSlowSlew; // non-zero if AH pins have slow slew
601  UCHAR AHSchmittInput; // non-zero if AH pins are Schmitt input
602  UCHAR AHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
603  UCHAR BLSlowSlew; // non-zero if BL pins have slow slew
604  UCHAR BLSchmittInput; // non-zero if BL pins are Schmitt input
605  UCHAR BLDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
606  UCHAR BHSlowSlew; // non-zero if BH pins have slow slew
607  UCHAR BHSchmittInput; // non-zero if BH pins are Schmitt input
608  UCHAR BHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
609  UCHAR IFAIsFifo7; // non-zero if interface is 245 FIFO
610  UCHAR IFAIsFifoTar7; // non-zero if interface is 245 FIFO CPU target
611  UCHAR IFAIsFastSer7; // non-zero if interface is Fast serial
612  UCHAR AIsVCP7; // non-zero if interface is to use VCP drivers
613  UCHAR IFBIsFifo7; // non-zero if interface is 245 FIFO
614  UCHAR IFBIsFifoTar7; // non-zero if interface is 245 FIFO CPU target
615  UCHAR IFBIsFastSer7; // non-zero if interface is Fast serial
616  UCHAR BIsVCP7; // non-zero if interface is to use VCP drivers
617  UCHAR PowerSaveEnable; // non-zero if using BCBUS7 to save power for self-powered designs
618  //
619  // Rev 8 (FT4232H) Extensions
620  //
621  UCHAR PullDownEnable8; // non-zero if pull down enabled
622  UCHAR SerNumEnable8; // non-zero if serial number to be used
623  UCHAR ASlowSlew; // non-zero if A pins have slow slew
624  UCHAR ASchmittInput; // non-zero if A pins are Schmitt input
625  UCHAR ADriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
626  UCHAR BSlowSlew; // non-zero if B pins have slow slew
627  UCHAR BSchmittInput; // non-zero if B pins are Schmitt input
628  UCHAR BDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
629  UCHAR CSlowSlew; // non-zero if C pins have slow slew
630  UCHAR CSchmittInput; // non-zero if C pins are Schmitt input
631  UCHAR CDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
632  UCHAR DSlowSlew; // non-zero if D pins have slow slew
633  UCHAR DSchmittInput; // non-zero if D pins are Schmitt input
634  UCHAR DDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
635  UCHAR ARIIsTXDEN; // non-zero if port A uses RI as RS485 TXDEN
636  UCHAR BRIIsTXDEN; // non-zero if port B uses RI as RS485 TXDEN
637  UCHAR CRIIsTXDEN; // non-zero if port C uses RI as RS485 TXDEN
638  UCHAR DRIIsTXDEN; // non-zero if port D uses RI as RS485 TXDEN
639  UCHAR AIsVCP8; // non-zero if interface is to use VCP drivers
640  UCHAR BIsVCP8; // non-zero if interface is to use VCP drivers
641  UCHAR CIsVCP8; // non-zero if interface is to use VCP drivers
642  UCHAR DIsVCP8; // non-zero if interface is to use VCP drivers
643  //
644  // Rev 9 (FT232H) Extensions
645  //
646  UCHAR PullDownEnableH; // non-zero if pull down enabled
647  UCHAR SerNumEnableH; // non-zero if serial number to be used
648  UCHAR ACSlowSlewH; // non-zero if AC pins have slow slew
649  UCHAR ACSchmittInputH; // non-zero if AC pins are Schmitt input
650  UCHAR ACDriveCurrentH; // valid values are 4mA, 8mA, 12mA, 16mA
651  UCHAR ADSlowSlewH; // non-zero if AD pins have slow slew
652  UCHAR ADSchmittInputH; // non-zero if AD pins are Schmitt input
653  UCHAR ADDriveCurrentH; // valid values are 4mA, 8mA, 12mA, 16mA
654  UCHAR Cbus0H; // Cbus Mux control
655  UCHAR Cbus1H; // Cbus Mux control
656  UCHAR Cbus2H; // Cbus Mux control
657  UCHAR Cbus3H; // Cbus Mux control
658  UCHAR Cbus4H; // Cbus Mux control
659  UCHAR Cbus5H; // Cbus Mux control
660  UCHAR Cbus6H; // Cbus Mux control
661  UCHAR Cbus7H; // Cbus Mux control
662  UCHAR Cbus8H; // Cbus Mux control
663  UCHAR Cbus9H; // Cbus Mux control
664  UCHAR IsFifoH; // non-zero if interface is 245 FIFO
665  UCHAR IsFifoTarH; // non-zero if interface is 245 FIFO CPU target
666  UCHAR IsFastSerH; // non-zero if interface is Fast serial
667  UCHAR IsFT1248H; // non-zero if interface is FT1248
668  UCHAR FT1248CpolH; // FT1248 clock polarity - clock idle high (1) or clock idle low (0)
669  UCHAR FT1248LsbH; // FT1248 data is LSB (1) or MSB (0)
670  UCHAR FT1248FlowControlH; // FT1248 flow control enable
671  UCHAR IsVCPH; // non-zero if interface is to use VCP drivers
672  UCHAR PowerSaveEnableH; // non-zero if using ACBUS7 to save power for self-powered designs
673 
675 
676  FTD2XX_API
678  FT_HANDLE ftHandle,
679  PFT_PROGRAM_DATA pData
680  );
681 
682  FTD2XX_API
684  FT_HANDLE ftHandle,
685  PFT_PROGRAM_DATA pData,
686  char *Manufacturer,
687  char *ManufacturerId,
688  char *Description,
689  char *SerialNumber
690  );
691 
692  FTD2XX_API
694  FT_HANDLE ftHandle,
695  PFT_PROGRAM_DATA pData
696  );
697 
698  FTD2XX_API
700  FT_HANDLE ftHandle,
701  PFT_PROGRAM_DATA pData,
702  char *Manufacturer,
703  char *ManufacturerId,
704  char *Description,
705  char *SerialNumber
706  );
707 
708  FTD2XX_API
710  FT_HANDLE ftHandle,
711  LPDWORD lpdwSize
712  );
713 
714  FTD2XX_API
716  FT_HANDLE ftHandle,
717  PUCHAR pucData,
718  DWORD dwDataLen
719  );
720 
721  FTD2XX_API
723  FT_HANDLE ftHandle,
724  PUCHAR pucData,
725  DWORD dwDataLen,
726  LPDWORD lpdwBytesRead
727  );
728 
729 
730  typedef struct ft_eeprom_header {
731  FT_DEVICE deviceType; // FTxxxx device type to be programmed
732  // Device descriptor options
733  WORD VendorId; // 0x0403
734  WORD ProductId; // 0x6001
735  UCHAR SerNumEnable; // non-zero if serial number to be used
736  // Config descriptor options
737  WORD MaxPower; // 0 < MaxPower <= 500
738  UCHAR SelfPowered; // 0 = bus powered, 1 = self powered
739  UCHAR RemoteWakeup; // 0 = not capable, 1 = capable
740  // Hardware options
741  UCHAR PullDownEnable; // non-zero if pull down in suspend enabled
743 
744 
745  // FT232B EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program
746  typedef struct ft_eeprom_232b {
747  // Common header
748  FT_EEPROM_HEADER common; // common elements for all device EEPROMs
750 
751 
752  // FT2232 EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program
753  typedef struct ft_eeprom_2232 {
754  // Common header
755  FT_EEPROM_HEADER common; // common elements for all device EEPROMs
756  // Drive options
757  UCHAR AIsHighCurrent; // non-zero if interface is high current
758  UCHAR BIsHighCurrent; // non-zero if interface is high current
759  // Hardware options
760  UCHAR AIsFifo; // non-zero if interface is 245 FIFO
761  UCHAR AIsFifoTar; // non-zero if interface is 245 FIFO CPU target
762  UCHAR AIsFastSer; // non-zero if interface is Fast serial
763  UCHAR BIsFifo; // non-zero if interface is 245 FIFO
764  UCHAR BIsFifoTar; // non-zero if interface is 245 FIFO CPU target
765  UCHAR BIsFastSer; // non-zero if interface is Fast serial
766  // Driver option
770 
771 
772  // FT232R EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program
773  typedef struct ft_eeprom_232r {
774  // Common header
775  FT_EEPROM_HEADER common; // common elements for all device EEPROMs
776  // Drive options
777  UCHAR IsHighCurrent; // non-zero if interface is high current
778  // Hardware options
779  UCHAR UseExtOsc; // Use External Oscillator
780  UCHAR InvertTXD; // non-zero if invert TXD
781  UCHAR InvertRXD; // non-zero if invert RXD
782  UCHAR InvertRTS; // non-zero if invert RTS
783  UCHAR InvertCTS; // non-zero if invert CTS
784  UCHAR InvertDTR; // non-zero if invert DTR
785  UCHAR InvertDSR; // non-zero if invert DSR
786  UCHAR InvertDCD; // non-zero if invert DCD
787  UCHAR InvertRI; // non-zero if invert RI
788  UCHAR Cbus0; // Cbus Mux control
789  UCHAR Cbus1; // Cbus Mux control
790  UCHAR Cbus2; // Cbus Mux control
791  UCHAR Cbus3; // Cbus Mux control
792  UCHAR Cbus4; // Cbus Mux control
793  // Driver option
796 
797 
798  // FT2232H EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program
799  typedef struct ft_eeprom_2232h {
800  // Common header
801  FT_EEPROM_HEADER common; // common elements for all device EEPROMs
802  // Drive options
803  UCHAR ALSlowSlew; // non-zero if AL pins have slow slew
804  UCHAR ALSchmittInput; // non-zero if AL pins are Schmitt input
805  UCHAR ALDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
806  UCHAR AHSlowSlew; // non-zero if AH pins have slow slew
807  UCHAR AHSchmittInput; // non-zero if AH pins are Schmitt input
808  UCHAR AHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
809  UCHAR BLSlowSlew; // non-zero if BL pins have slow slew
810  UCHAR BLSchmittInput; // non-zero if BL pins are Schmitt input
811  UCHAR BLDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
812  UCHAR BHSlowSlew; // non-zero if BH pins have slow slew
813  UCHAR BHSchmittInput; // non-zero if BH pins are Schmitt input
814  UCHAR BHDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
815  // Hardware options
816  UCHAR AIsFifo; // non-zero if interface is 245 FIFO
817  UCHAR AIsFifoTar; // non-zero if interface is 245 FIFO CPU target
818  UCHAR AIsFastSer; // non-zero if interface is Fast serial
819  UCHAR BIsFifo; // non-zero if interface is 245 FIFO
820  UCHAR BIsFifoTar; // non-zero if interface is 245 FIFO CPU target
821  UCHAR BIsFastSer; // non-zero if interface is Fast serial
822  UCHAR PowerSaveEnable; // non-zero if using BCBUS7 to save power for self-powered designs
823  // Driver option
827 
828 
829  // FT4232H EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program
830  typedef struct ft_eeprom_4232h {
831  // Common header
832  FT_EEPROM_HEADER common; // common elements for all device EEPROMs
833  // Drive options
834  UCHAR ASlowSlew; // non-zero if A pins have slow slew
835  UCHAR ASchmittInput; // non-zero if A pins are Schmitt input
836  UCHAR ADriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
837  UCHAR BSlowSlew; // non-zero if B pins have slow slew
838  UCHAR BSchmittInput; // non-zero if B pins are Schmitt input
839  UCHAR BDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
840  UCHAR CSlowSlew; // non-zero if C pins have slow slew
841  UCHAR CSchmittInput; // non-zero if C pins are Schmitt input
842  UCHAR CDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
843  UCHAR DSlowSlew; // non-zero if D pins have slow slew
844  UCHAR DSchmittInput; // non-zero if D pins are Schmitt input
845  UCHAR DDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
846  // Hardware options
847  UCHAR ARIIsTXDEN; // non-zero if port A uses RI as RS485 TXDEN
848  UCHAR BRIIsTXDEN; // non-zero if port B uses RI as RS485 TXDEN
849  UCHAR CRIIsTXDEN; // non-zero if port C uses RI as RS485 TXDEN
850  UCHAR DRIIsTXDEN; // non-zero if port D uses RI as RS485 TXDEN
851  // Driver option
857 
858 
859  // FT232H EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program
860  typedef struct ft_eeprom_232h {
861  // Common header
862  FT_EEPROM_HEADER common; // common elements for all device EEPROMs
863  // Drive options
864  UCHAR ACSlowSlew; // non-zero if AC bus pins have slow slew
865  UCHAR ACSchmittInput; // non-zero if AC bus pins are Schmitt input
866  UCHAR ACDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
867  UCHAR ADSlowSlew; // non-zero if AD bus pins have slow slew
868  UCHAR ADSchmittInput; // non-zero if AD bus pins are Schmitt input
869  UCHAR ADDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
870  // CBUS options
871  UCHAR Cbus0; // Cbus Mux control
872  UCHAR Cbus1; // Cbus Mux control
873  UCHAR Cbus2; // Cbus Mux control
874  UCHAR Cbus3; // Cbus Mux control
875  UCHAR Cbus4; // Cbus Mux control
876  UCHAR Cbus5; // Cbus Mux control
877  UCHAR Cbus6; // Cbus Mux control
878  UCHAR Cbus7; // Cbus Mux control
879  UCHAR Cbus8; // Cbus Mux control
880  UCHAR Cbus9; // Cbus Mux control
881  // FT1248 options
882  UCHAR FT1248Cpol; // FT1248 clock polarity - clock idle high (1) or clock idle low (0)
883  UCHAR FT1248Lsb; // FT1248 data is LSB (1) or MSB (0)
884  UCHAR FT1248FlowControl; // FT1248 flow control enable
885  // Hardware options
886  UCHAR IsFifo; // non-zero if interface is 245 FIFO
887  UCHAR IsFifoTar; // non-zero if interface is 245 FIFO CPU target
888  UCHAR IsFastSer; // non-zero if interface is Fast serial
889  UCHAR IsFT1248 ; // non-zero if interface is FT1248
891  // Driver option
894 
895 
896  // FT X Series EEPROM structure for use with FT_EEPROM_Read and FT_EEPROM_Program
897  typedef struct ft_eeprom_x_series {
898  // Common header
899  FT_EEPROM_HEADER common; // common elements for all device EEPROMs
900  // Drive options
901  UCHAR ACSlowSlew; // non-zero if AC bus pins have slow slew
902  UCHAR ACSchmittInput; // non-zero if AC bus pins are Schmitt input
903  UCHAR ACDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
904  UCHAR ADSlowSlew; // non-zero if AD bus pins have slow slew
905  UCHAR ADSchmittInput; // non-zero if AD bus pins are Schmitt input
906  UCHAR ADDriveCurrent; // valid values are 4mA, 8mA, 12mA, 16mA
907  // CBUS options
908  UCHAR Cbus0; // Cbus Mux control
909  UCHAR Cbus1; // Cbus Mux control
910  UCHAR Cbus2; // Cbus Mux control
911  UCHAR Cbus3; // Cbus Mux control
912  UCHAR Cbus4; // Cbus Mux control
913  UCHAR Cbus5; // Cbus Mux control
914  UCHAR Cbus6; // Cbus Mux control
915  // UART signal options
916  UCHAR InvertTXD; // non-zero if invert TXD
917  UCHAR InvertRXD; // non-zero if invert RXD
918  UCHAR InvertRTS; // non-zero if invert RTS
919  UCHAR InvertCTS; // non-zero if invert CTS
920  UCHAR InvertDTR; // non-zero if invert DTR
921  UCHAR InvertDSR; // non-zero if invert DSR
922  UCHAR InvertDCD; // non-zero if invert DCD
923  UCHAR InvertRI; // non-zero if invert RI
924  // Battery Charge Detect options
925  UCHAR BCDEnable; // Enable Battery Charger Detection
926  UCHAR BCDForceCbusPWREN; // asserts the power enable signal on CBUS when charging port detected
927  UCHAR BCDDisableSleep; // forces the device never to go into sleep mode
928  // I2C options
929  WORD I2CSlaveAddress; // I2C slave device address
930  DWORD I2CDeviceId; // I2C device ID
931  UCHAR I2CDisableSchmitt; // Disable I2C Schmitt trigger
932  // FT1248 options
933  UCHAR FT1248Cpol; // FT1248 clock polarity - clock idle high (1) or clock idle low (0)
934  UCHAR FT1248Lsb; // FT1248 data is LSB (1) or MSB (0)
935  UCHAR FT1248FlowControl; // FT1248 flow control enable
936  // Hardware options
939  // Driver option
942 
943 
944  FTD2XX_API
946  FT_HANDLE ftHandle,
947  void *eepromData,
948  DWORD eepromDataSize,
949  char *Manufacturer,
950  char *ManufacturerId,
951  char *Description,
952  char *SerialNumber
953  );
954 
955 
956  FTD2XX_API
958  FT_HANDLE ftHandle,
959  void *eepromData,
960  DWORD eepromDataSize,
961  char *Manufacturer,
962  char *ManufacturerId,
963  char *Description,
964  char *SerialNumber
965  );
966 
967 
968  FTD2XX_API
970  FT_HANDLE ftHandle,
971  UCHAR ucLatency
972  );
973 
974  FTD2XX_API
976  FT_HANDLE ftHandle,
977  PUCHAR pucLatency
978  );
979 
980  FTD2XX_API
982  FT_HANDLE ftHandle,
983  UCHAR ucMask,
984  UCHAR ucEnable
985  );
986 
987  FTD2XX_API
989  FT_HANDLE ftHandle,
990  PUCHAR pucMode
991  );
992 
993  FTD2XX_API
995  FT_HANDLE ftHandle,
996  ULONG ulInTransferSize,
997  ULONG ulOutTransferSize
998  );
999 
1000 #ifdef _WINDOWS
1001  FTD2XX_API
1002  FT_STATUS WINAPI FT_SetDeadmanTimeout(
1003  FT_HANDLE ftHandle,
1004  ULONG ulDeadmanTimeout
1005  );
1006 #else
1007  /* Linux, Mac etc. define FT_SetDeadmanTimeout differently elsewhere. */
1008 
1009  /* Linux etc. offer extra functions to compensate for lack of .INF file
1010  * to specify VID+PID combinations.
1011  */
1012  FTD2XX_API
1014  DWORD dwVID,
1015  DWORD dwPID
1016  );
1017 
1018  FTD2XX_API
1020  DWORD * pdwVID,
1021  DWORD * pdwPID
1022  );
1023 
1024  FTD2XX_API
1026  FT_HANDLE ftHandle,
1027  LPDWORD lpdwLocId
1028  );
1029 #endif /* _WINDOWS */
1030 
1031  FTD2XX_API
1033  FT_HANDLE ftHandle,
1034  FT_DEVICE *lpftDevice,
1035  LPDWORD lpdwID,
1036  PCHAR SerialNumber,
1037  PCHAR Description,
1038  LPVOID Dummy
1039  );
1040 
1041  FTD2XX_API
1043  FT_HANDLE ftHandle
1044  );
1045 
1046  FTD2XX_API
1048  FT_HANDLE ftHandle
1049  );
1050 
1051  FTD2XX_API
1053  FT_HANDLE ftHandle,
1054  DWORD dwCount
1055  );
1056 
1057  FTD2XX_API
1059  FT_HANDLE ftHandle
1060  );
1061 
1062  FTD2XX_API
1064  FT_HANDLE ftHandle
1065  );
1066 
1067 
1068  //
1069  // Win32-type functions
1070  //
1071 
1072  FTD2XX_API
1074  LPCTSTR lpszName,
1075  DWORD dwAccess,
1076  DWORD dwShareMode,
1077  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
1078  DWORD dwCreate,
1079  DWORD dwAttrsAndFlags,
1080  HANDLE hTemplate
1081  );
1082 
1083  FTD2XX_API
1085  FT_HANDLE ftHandle
1086  );
1087 
1088  FTD2XX_API
1090  FT_HANDLE ftHandle,
1091  LPVOID lpBuffer,
1092  DWORD nBufferSize,
1093  LPDWORD lpBytesReturned,
1094  LPOVERLAPPED lpOverlapped
1095  );
1096 
1097  FTD2XX_API
1099  FT_HANDLE ftHandle,
1100  LPVOID lpBuffer,
1101  DWORD nBufferSize,
1102  LPDWORD lpBytesWritten,
1103  LPOVERLAPPED lpOverlapped
1104  );
1105 
1106  FTD2XX_API
1108  FT_HANDLE ftHandle
1109  );
1110 
1111  FTD2XX_API
1113  FT_HANDLE ftHandle,
1114  LPOVERLAPPED lpOverlapped,
1115  LPDWORD lpdwBytesTransferred,
1116  BOOL bWait
1117  );
1118 
1119  FTD2XX_API
1121  FT_HANDLE ftHandle
1122  );
1123 
1124 
1125  //
1126  // Win32 COMM API type functions
1127  //
1128  typedef struct _FTCOMSTAT {
1129  DWORD fCtsHold : 1;
1130  DWORD fDsrHold : 1;
1131  DWORD fRlsdHold : 1;
1132  DWORD fXoffHold : 1;
1133  DWORD fXoffSent : 1;
1134  DWORD fEof : 1;
1135  DWORD fTxim : 1;
1136  DWORD fReserved : 25;
1139  } FTCOMSTAT, *LPFTCOMSTAT;
1140 
1141  typedef struct _FTDCB {
1142  DWORD DCBlength; /* sizeof(FTDCB) */
1143  DWORD BaudRate; /* Baudrate at which running */
1144  DWORD fBinary: 1; /* Binary Mode (skip EOF check) */
1145  DWORD fParity: 1; /* Enable parity checking */
1146  DWORD fOutxCtsFlow:1; /* CTS handshaking on output */
1147  DWORD fOutxDsrFlow:1; /* DSR handshaking on output */
1148  DWORD fDtrControl:2; /* DTR Flow control */
1149  DWORD fDsrSensitivity:1; /* DSR Sensitivity */
1150  DWORD fTXContinueOnXoff: 1; /* Continue TX when Xoff sent */
1151  DWORD fOutX: 1; /* Enable output X-ON/X-OFF */
1152  DWORD fInX: 1; /* Enable input X-ON/X-OFF */
1153  DWORD fErrorChar: 1; /* Enable Err Replacement */
1154  DWORD fNull: 1; /* Enable Null stripping */
1155  DWORD fRtsControl:2; /* Rts Flow control */
1156  DWORD fAbortOnError:1; /* Abort all reads and writes on Error */
1157  DWORD fDummy2:17; /* Reserved */
1158  WORD wReserved; /* Not currently used */
1159  WORD XonLim; /* Transmit X-ON threshold */
1160  WORD XoffLim; /* Transmit X-OFF threshold */
1161  BYTE ByteSize; /* Number of bits/byte, 4-8 */
1162  BYTE Parity; /* 0-4=None,Odd,Even,Mark,Space */
1163  BYTE StopBits; /* 0,1,2 = 1, 1.5, 2 */
1164  char XonChar; /* Tx and Rx X-ON character */
1165  char XoffChar; /* Tx and Rx X-OFF character */
1166  char ErrorChar; /* Error replacement char */
1167  char EofChar; /* End of Input character */
1168  char EvtChar; /* Received Event character */
1169  WORD wReserved1; /* Fill for now. */
1170  } FTDCB, *LPFTDCB;
1171 
1172  typedef struct _FTTIMEOUTS {
1173  DWORD ReadIntervalTimeout; /* Maximum time between read chars. */
1174  DWORD ReadTotalTimeoutMultiplier; /* Multiplier of characters. */
1175  DWORD ReadTotalTimeoutConstant; /* Constant in milliseconds. */
1176  DWORD WriteTotalTimeoutMultiplier; /* Multiplier of characters. */
1177  DWORD WriteTotalTimeoutConstant; /* Constant in milliseconds. */
1179 
1180 
1181  FTD2XX_API
1183  FT_HANDLE ftHandle
1184  );
1185 
1186  FTD2XX_API
1188  FT_HANDLE ftHandle,
1189  LPDWORD lpdwErrors,
1190  LPFTCOMSTAT lpftComstat
1191  );
1192 
1193  FTD2XX_API
1195  FT_HANDLE ftHandle,
1196  DWORD dwFunc
1197  );
1198 
1199  FTD2XX_API
1201  FT_HANDLE ftHandle,
1202  LPDWORD lpdwModemStatus
1203  );
1204 
1205  FTD2XX_API
1207  FT_HANDLE ftHandle,
1208  LPFTDCB lpftDcb
1209  );
1210 
1211  FTD2XX_API
1213  FT_HANDLE ftHandle,
1214  FTTIMEOUTS *pTimeouts
1215  );
1216 
1217  FTD2XX_API
1219  FT_HANDLE ftHandle,
1220  DWORD dwMask
1221  );
1222 
1223  FTD2XX_API
1225  FT_HANDLE ftHandle
1226  );
1227 
1228  FTD2XX_API
1230  FT_HANDLE ftHandle,
1231  ULONG ulEventMask
1232  );
1233 
1234  FTD2XX_API
1236  FT_HANDLE ftHandle,
1237  LPDWORD lpdwEventMask
1238  );
1239 
1240  FTD2XX_API
1242  FT_HANDLE ftHandle,
1243  LPFTDCB lpftDcb
1244  );
1245 
1246  FTD2XX_API
1248  FT_HANDLE ftHandle,
1249  FTTIMEOUTS *pTimeouts
1250  );
1251 
1252  FTD2XX_API
1254  FT_HANDLE ftHandle,
1255  DWORD dwReadBufferSize,
1256  DWORD dwWriteBufferSize
1257  );
1258 
1259  FTD2XX_API
1261  FT_HANDLE ftHandle,
1262  PULONG pulEvent,
1263  LPOVERLAPPED lpOverlapped
1264  );
1265 
1266 
1267  //
1268  // Device information
1269  //
1270 
1271  typedef struct _ft_device_list_info_node {
1276  char SerialNumber[16];
1277  char Description[64];
1280 
1281  // Device information flags
1282  enum {
1285  };
1286 
1287 
1288  FTD2XX_API
1290  LPDWORD lpdwNumDevs
1291  );
1292 
1293  FTD2XX_API
1295  FT_DEVICE_LIST_INFO_NODE *pDest,
1296  LPDWORD lpdwNumDevs
1297  );
1298 
1299  FTD2XX_API
1301  DWORD dwIndex,
1302  LPDWORD lpdwFlags,
1303  LPDWORD lpdwType,
1304  LPDWORD lpdwID,
1305  LPDWORD lpdwLocId,
1306  LPVOID lpSerialNumber,
1307  LPVOID lpDescription,
1308  FT_HANDLE *pftHandle
1309  );
1310 
1311 
1312  //
1313  // Version information
1314  //
1315 
1316  FTD2XX_API
1318  FT_HANDLE ftHandle,
1319  LPDWORD lpdwVersion
1320  );
1321 
1322  FTD2XX_API
1324  LPDWORD lpdwVersion
1325  );
1326 
1327 
1328  FTD2XX_API
1330  void
1331  );
1332 
1333  FTD2XX_API
1335  WORD wVid,
1336  WORD wPid
1337  );
1338 
1339  FTD2XX_API
1341  FT_HANDLE ftHandle,
1342  LPLONG lpdwComPortNumber
1343  );
1344 
1345 
1346  //
1347  // FT232H additional EEPROM functions
1348  //
1349 
1350  FTD2XX_API
1352  FT_HANDLE ftHandle,
1353  UCHAR ucAddress,
1354  PUCHAR pucValue
1355  );
1356 
1357  FTD2XX_API
1359  FT_HANDLE ftHandle,
1360  UCHAR ucAddress,
1361  UCHAR ucValue
1362  );
1363 
1364  FTD2XX_API
1366  FT_HANDLE ftHandle,
1367  UCHAR ucOption,
1368  LPWORD lpwValue
1369  );
1370 
1371  FTD2XX_API
1373  FT_HANDLE ftHandle,
1374  DWORD *dwRxBytes
1375  );
1376 
1377 
1378 #ifdef __cplusplus
1379 }
1380 #endif
1381 
1382 
1383 #endif /* FTD2XX_H */
1384 
UCHAR RS485EchoSuppress
Definition: ftd2xx.h:937
UCHAR BHSlowSlew
Definition: ftd2xx.h:812
UCHAR AIsFifo
Definition: ftd2xx.h:760
FTD2XX_API FT_STATUS WINAPI FT_EE_WriteConfig(FT_HANDLE ftHandle, UCHAR ucAddress, UCHAR ucValue)
FTD2XX_API BOOL WINAPI FT_W32_SetCommMask(FT_HANDLE ftHandle, ULONG ulEventMask)
struct _FTTIMEOUTS FTTIMEOUTS
UCHAR AIsFifoTar
Definition: ftd2xx.h:817
FTD2XX_API FT_STATUS WINAPI FT_EE_Read(FT_HANDLE ftHandle, PFT_PROGRAM_DATA pData)
UCHAR ALDriveCurrent
Definition: ftd2xx.h:599
UCHAR PullDownEnableR
Definition: ftd2xx.h:576
FTD2XX_API FT_STATUS WINAPI FT_EE_ProgramEx(FT_HANDLE ftHandle, PFT_PROGRAM_DATA pData, char *Manufacturer, char *ManufacturerId, char *Description, char *SerialNumber)
UCHAR DSlowSlew
Definition: ftd2xx.h:632
UCHAR PowerSaveEnable
Definition: ftd2xx.h:890
BYTE Parity
Definition: ftd2xx.h:1162
FTD2XX_API FT_STATUS WINAPI FT_WriteEE(FT_HANDLE ftHandle, DWORD dwWordOffset, WORD wValue)
UCHAR IsFastSerH
Definition: ftd2xx.h:666
UCHAR BDriverType
Definition: ftd2xx.h:853
UCHAR IsoOutB
Definition: ftd2xx.h:555
ULONG FT_DEVICE
Definition: ftd2xx.h:207
UCHAR DriverType
Definition: ftd2xx.h:892
UCHAR RIsD2XX
Definition: ftd2xx.h:591
UCHAR BLSlowSlew
Definition: ftd2xx.h:603
WORD SelfPowered
Definition: ftd2xx.h:536
UCHAR IFBIsFifo7
Definition: ftd2xx.h:613
UCHAR DriverType
Definition: ftd2xx.h:794
UCHAR ADSlowSlew
Definition: ftd2xx.h:904
UCHAR BDriveCurrent
Definition: ftd2xx.h:839
UCHAR ASchmittInput
Definition: ftd2xx.h:835
UCHAR InvertCTS
Definition: ftd2xx.h:783
UCHAR DDriverType
Definition: ftd2xx.h:855
void * HANDLE
Definition: WinTypes.h:25
FTD2XX_API FT_STATUS WINAPI FT_GetLatencyTimer(FT_HANDLE ftHandle, PUCHAR pucLatency)
UCHAR BSchmittInput
Definition: ftd2xx.h:627
struct ft_eeprom_2232 * PFT_EEPROM_2232
UCHAR DriverType
Definition: ftd2xx.h:940
UCHAR DSchmittInput
Definition: ftd2xx.h:844
struct ft_eeprom_4232h * PFT_EEPROM_4232H
struct _EVENT_HANDLE EVENT_HANDLE
UCHAR InvertRTS
Definition: ftd2xx.h:782
UCHAR BIsFastSer
Definition: ftd2xx.h:765
struct ft_eeprom_2232h FT_EEPROM_2232H
UCHAR IsFifoTar
Definition: ftd2xx.h:887
UCHAR SerNumEnable7
Definition: ftd2xx.h:596
UCHAR UseExtOsc
Definition: ftd2xx.h:779
UCHAR PullDownEnableH
Definition: ftd2xx.h:646
UCHAR IFBIsFastSer
Definition: ftd2xx.h:568
UCHAR AIsFifoTar
Definition: ftd2xx.h:761
unsigned short WORD
Definition: WinTypes.h:14
UCHAR ACSchmittInput
Definition: ftd2xx.h:865
ULONG FT_STATUS
Definition: ftd2xx.h:74
UCHAR BDriveCurrent
Definition: ftd2xx.h:628
struct ft_eeprom_232h * PFT_EEPROM_232H
UCHAR BDriverType
Definition: ftd2xx.h:768
char * ManufacturerId
Definition: ftd2xx.h:531
FT_EEPROM_HEADER common
Definition: ftd2xx.h:775
FTD2XX_API FT_STATUS WINAPI FT_SetDtr(FT_HANDLE ftHandle)
#define WINAPI
Definition: WinTypes.h:4
UCHAR ALSlowSlew
Definition: ftd2xx.h:803
struct ft_program_data FT_PROGRAM_DATA
UCHAR IsHighCurrent
Definition: ftd2xx.h:777
struct _FTTIMEOUTS * LPFTTIMEOUTS
UCHAR IsoInA
Definition: ftd2xx.h:552
FT_EEPROM_HEADER common
Definition: ftd2xx.h:899
UCHAR AHSlowSlew
Definition: ftd2xx.h:806
FTD2XX_API BOOL WINAPI FT_W32_SetCommBreak(FT_HANDLE ftHandle)
FTD2XX_API BOOL WINAPI FT_W32_PurgeComm(FT_HANDLE ftHandle, DWORD dwMask)
UCHAR Cbus2
Definition: ftd2xx.h:873
FTD2XX_API BOOL WINAPI FT_W32_EscapeCommFunction(FT_HANDLE ftHandle, DWORD dwFunc)
DWORD cbInQue
Definition: ftd2xx.h:1137
UCHAR ADSchmittInputH
Definition: ftd2xx.h:652
WORD MaxPower
Definition: ftd2xx.h:534
UCHAR CRIIsTXDEN
Definition: ftd2xx.h:849
UCHAR ACSlowSlewH
Definition: ftd2xx.h:648
UCHAR HighDriveIOs
Definition: ftd2xx.h:574
#define FTD2XX_API
Definition: ftd2xx.h:69
UCHAR Cbus2H
Definition: ftd2xx.h:656
UCHAR Cbus0H
Definition: ftd2xx.h:654
UCHAR ASlowSlew
Definition: ftd2xx.h:623
FTD2XX_API FT_STATUS WINAPI FT_EEPROM_Read(FT_HANDLE ftHandle, void *eepromData, DWORD eepromDataSize, char *Manufacturer, char *ManufacturerId, char *Description, char *SerialNumber)
UCHAR IFAIsFifo
Definition: ftd2xx.h:562
UCHAR Cbus4
Definition: ftd2xx.h:792
UCHAR Cbus3
Definition: ftd2xx.h:791
UCHAR PullDownEnable7
Definition: ftd2xx.h:595
DWORD ReadTotalTimeoutConstant
Definition: ftd2xx.h:1175
FTD2XX_API FT_STATUS WINAPI FT_SetDivisor(FT_HANDLE ftHandle, USHORT Divisor)
UCHAR BIsFifo
Definition: ftd2xx.h:763
UCHAR PullDownEnable
Definition: ftd2xx.h:544
UCHAR AHDriveCurrent
Definition: ftd2xx.h:602
FTD2XX_API FT_STATUS WINAPI FT_GetDriverVersion(FT_HANDLE ftHandle, LPDWORD lpdwVersion)
UCHAR Cbus4
Definition: ftd2xx.h:590
UCHAR ADDriveCurrent
Definition: ftd2xx.h:869
UCHAR FT1248Lsb
Definition: ftd2xx.h:883
UCHAR CDriverType
Definition: ftd2xx.h:854
UCHAR IFAIsFastSer
Definition: ftd2xx.h:564
UCHAR BIsHighCurrent
Definition: ftd2xx.h:758
UCHAR Cbus7
Definition: ftd2xx.h:878
FTD2XX_API BOOL WINAPI FT_W32_CancelIo(FT_HANDLE ftHandle)
FTD2XX_API FT_STATUS WINAPI FT_IoCtl(FT_HANDLE ftHandle, DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
FTD2XX_API BOOL WINAPI FT_W32_ClearCommError(FT_HANDLE ftHandle, LPDWORD lpdwErrors, LPFTCOMSTAT lpftComstat)
UCHAR BLSchmittInput
Definition: ftd2xx.h:604
FT_DEVICE deviceType
Definition: ftd2xx.h:731
UCHAR USBVersionEnable5
Definition: ftd2xx.h:558
struct ft_eeprom_header * PFT_EEPROM_HEADER
UCHAR ACSchmittInput
Definition: ftd2xx.h:902
UCHAR AIsFastSer
Definition: ftd2xx.h:818
UCHAR ADDriveCurrent
Definition: ftd2xx.h:906
UCHAR Cbus4H
Definition: ftd2xx.h:658
UCHAR DSchmittInput
Definition: ftd2xx.h:633
FTD2XX_API FT_STATUS WINAPI FT_GetComPortNumber(FT_HANDLE ftHandle, LPLONG lpdwComPortNumber)
struct ft_program_data * PFT_PROGRAM_DATA
UCHAR ADSchmittInput
Definition: ftd2xx.h:868
char * SerialNumber
Definition: ftd2xx.h:533
UCHAR CRIIsTXDEN
Definition: ftd2xx.h:637
UCHAR ASchmittInput
Definition: ftd2xx.h:624
UCHAR IsoOut
Definition: ftd2xx.h:543
UCHAR BLSchmittInput
Definition: ftd2xx.h:810
char EvtChar
Definition: ftd2xx.h:1168
UCHAR Cbus9
Definition: ftd2xx.h:880
WORD wReserved1
Definition: ftd2xx.h:1169
UCHAR UseExtOsc
Definition: ftd2xx.h:573
WORD XoffLim
Definition: ftd2xx.h:1160
WORD ProductId
Definition: ftd2xx.h:529
UCHAR FT1248CpolH
Definition: ftd2xx.h:668
UCHAR SerNumEnableH
Definition: ftd2xx.h:647
FTD2XX_API FT_STATUS WINAPI FT_Rescan(void)
UCHAR BCDForceCbusPWREN
Definition: ftd2xx.h:926
UCHAR BRIIsTXDEN
Definition: ftd2xx.h:848
UCHAR FT1248Cpol
Definition: ftd2xx.h:933
UCHAR ADriveCurrent
Definition: ftd2xx.h:625
UCHAR Cbus3H
Definition: ftd2xx.h:657
FTD2XX_API FT_STATUS WINAPI FT_Open(int deviceNumber, FT_HANDLE *pHandle)
UCHAR Cbus1
Definition: ftd2xx.h:789
FTD2XX_API BOOL WINAPI FT_W32_SetCommState(FT_HANDLE ftHandle, LPFTDCB lpftDcb)
UCHAR Cbus2
Definition: ftd2xx.h:790
FTD2XX_API FT_STATUS WINAPI FT_GetModemStatus(FT_HANDLE ftHandle, ULONG *pModemStatus)
UCHAR ADriveCurrent
Definition: ftd2xx.h:836
UCHAR FT1248FlowControl
Definition: ftd2xx.h:884
UCHAR ACDriveCurrent
Definition: ftd2xx.h:903
UCHAR Cbus0
Definition: ftd2xx.h:586
unsigned short USHORT
Definition: WinTypes.h:11
UCHAR BIsFastSer
Definition: ftd2xx.h:821
UCHAR ARIIsTXDEN
Definition: ftd2xx.h:847
UCHAR USBVersionEnable
Definition: ftd2xx.h:546
UCHAR Cbus9H
Definition: ftd2xx.h:663
void * PVOID
Definition: WinTypes.h:24
FTD2XX_API FT_STATUS WINAPI FT_ClrDtr(FT_HANDLE ftHandle)
struct _FTCOMSTAT FTCOMSTAT
char ErrorChar
Definition: ftd2xx.h:1166
UCHAR InvertRXD
Definition: ftd2xx.h:781
UCHAR FT1248LsbH
Definition: ftd2xx.h:669
FTD2XX_API FT_STATUS WINAPI FT_SetWaitMask(FT_HANDLE ftHandle, DWORD Mask)
UCHAR IsFastSer
Definition: ftd2xx.h:888
UCHAR BHSchmittInput
Definition: ftd2xx.h:607
UCHAR PullDownEnable
Definition: ftd2xx.h:741
char EofChar
Definition: ftd2xx.h:1167
UCHAR BHDriveCurrent
Definition: ftd2xx.h:814
struct ft_eeprom_232r FT_EEPROM_232R
UCHAR IsFT1248
Definition: ftd2xx.h:889
UCHAR BHDriveCurrent
Definition: ftd2xx.h:608
UCHAR AHSchmittInput
Definition: ftd2xx.h:601
UCHAR Cbus3
Definition: ftd2xx.h:589
UCHAR ACSchmittInputH
Definition: ftd2xx.h:649
UCHAR IFBIsFifo
Definition: ftd2xx.h:566
ULONG * PULONG
Definition: WinTypes.h:34
UCHAR InvertTXD
Definition: ftd2xx.h:578
char * PCHAR
Definition: WinTypes.h:23
FTD2XX_API FT_STATUS FT_SetVIDPID(DWORD dwVID, DWORD dwPID)
UCHAR BHSlowSlew
Definition: ftd2xx.h:606
UCHAR AHSchmittInput
Definition: ftd2xx.h:807
WORD USBVersion5
Definition: ftd2xx.h:559
UCHAR Cbus6H
Definition: ftd2xx.h:660
struct ft_eeprom_x_series * PFT_EEPROM_X_SERIES
UCHAR Cbus5
Definition: ftd2xx.h:876
UCHAR I2CDisableSchmitt
Definition: ftd2xx.h:931
FTD2XX_API BOOL WINAPI FT_W32_GetCommModemStatus(FT_HANDLE ftHandle, LPDWORD lpdwModemStatus)
WORD ProductId
Definition: ftd2xx.h:734
FTD2XX_API FT_STATUS WINAPI FT_ReadEE(FT_HANDLE ftHandle, DWORD dwWordOffset, LPWORD lpwValue)
FTD2XX_API FT_STATUS WINAPI FT_SetBaudRate(FT_HANDLE ftHandle, ULONG BaudRate)
UCHAR DSlowSlew
Definition: ftd2xx.h:843
UCHAR PowerSaveEnableH
Definition: ftd2xx.h:672
struct ft_eeprom_header FT_EEPROM_HEADER
UCHAR Cbus2
Definition: ftd2xx.h:588
UCHAR BRIIsTXDEN
Definition: ftd2xx.h:636
FTD2XX_API FT_STATUS WINAPI FT_SetDataCharacteristics(FT_HANDLE ftHandle, UCHAR WordLength, UCHAR StopBits, UCHAR Parity)
WORD USBVersion
Definition: ftd2xx.h:547
UCHAR DRIIsTXDEN
Definition: ftd2xx.h:638
UCHAR BIsVCP8
Definition: ftd2xx.h:640
struct _FTDCB * LPFTDCB
UCHAR AIsHighCurrent
Definition: ftd2xx.h:757
UCHAR SerNumEnableR
Definition: ftd2xx.h:577
FTD2XX_API FT_STATUS WINAPI FT_ResetPort(FT_HANDLE ftHandle)
DWORD DCBlength
Definition: ftd2xx.h:1142
UCHAR SerNumEnable
Definition: ftd2xx.h:545
UCHAR InvertRI
Definition: ftd2xx.h:585
UCHAR ALSlowSlew
Definition: ftd2xx.h:597
UCHAR ADDriveCurrentH
Definition: ftd2xx.h:653
FTD2XX_API FT_STATUS WINAPI FT_EraseEE(FT_HANDLE ftHandle)
FTD2XX_API BOOL WINAPI FT_W32_GetCommTimeouts(FT_HANDLE ftHandle, FTTIMEOUTS *pTimeouts)
FTD2XX_API FT_STATUS WINAPI FT_GetLibraryVersion(LPDWORD lpdwVersion)
struct ft_eeprom_4232h FT_EEPROM_4232H
UCHAR Cbus8H
Definition: ftd2xx.h:662
UCHAR IsoOutA
Definition: ftd2xx.h:554
UCHAR PowerSaveEnable
Definition: ftd2xx.h:617
UCHAR IsoInB
Definition: ftd2xx.h:553
FTD2XX_API FT_STATUS WINAPI FT_CyclePort(FT_HANDLE ftHandle)
FTD2XX_API FT_STATUS WINAPI FT_EE_ReadEx(FT_HANDLE ftHandle, PFT_PROGRAM_DATA pData, char *Manufacturer, char *ManufacturerId, char *Description, char *SerialNumber)
FTD2XX_API FT_STATUS WINAPI FT_Reload(WORD wVid, WORD wPid)
UCHAR Rev5
Definition: ftd2xx.h:551
DWORD cbOutQue
Definition: ftd2xx.h:1138
FTD2XX_API FT_STATUS WINAPI FT_GetStatus(FT_HANDLE ftHandle, DWORD *dwRxBytes, DWORD *dwTxBytes, DWORD *dwEventDWord)
UCHAR IsoIn
Definition: ftd2xx.h:542
UCHAR BIsFifo
Definition: ftd2xx.h:819
struct ft_eeprom_232b FT_EEPROM_232B
PVOID FT_HANDLE
Definition: ftd2xx.h:73
Definition: ftd2xx.h:80
UCHAR BDriverType
Definition: ftd2xx.h:825
UCHAR ADriverType
Definition: ftd2xx.h:824
DWORD I2CDeviceId
Definition: ftd2xx.h:930
UCHAR SerNumEnable
Definition: ftd2xx.h:735
struct _FTDCB FTDCB
char XonChar
Definition: ftd2xx.h:1164
UCHAR DRIIsTXDEN
Definition: ftd2xx.h:850
LONG * LPLONG
Definition: WinTypes.h:35
FT_EEPROM_HEADER common
Definition: ftd2xx.h:832
DWORD Signature1
Definition: ftd2xx.h:518
FTD2XX_API FT_STATUS WINAPI FT_ResetDevice(FT_HANDLE ftHandle)
UCHAR ALSchmittInput
Definition: ftd2xx.h:598
FTD2XX_API FT_STATUS WINAPI FT_EE_UARead(FT_HANDLE ftHandle, PUCHAR pucData, DWORD dwDataLen, LPDWORD lpdwBytesRead)
int iVar
Definition: ftd2xx.h:65
UCHAR ADriverType
Definition: ftd2xx.h:852
FTD2XX_API BOOL WINAPI FT_W32_SetupComm(FT_HANDLE ftHandle, DWORD dwReadBufferSize, DWORD dwWriteBufferSize)
FTD2XX_API BOOL WINAPI FT_W32_GetCommState(FT_HANDLE ftHandle, LPFTDCB lpftDcb)
UCHAR InvertDSR
Definition: ftd2xx.h:785
UCHAR InvertDCD
Definition: ftd2xx.h:786
UCHAR IFBIsFastSer7
Definition: ftd2xx.h:615
FTD2XX_API FT_STATUS WINAPI FT_SetTimeouts(FT_HANDLE ftHandle, ULONG ReadTimeout, ULONG WriteTimeout)
DWORD BaudRate
Definition: ftd2xx.h:1143
UCHAR Cbus1H
Definition: ftd2xx.h:655
UCHAR SelfPowered
Definition: ftd2xx.h:738
FTD2XX_API FT_STATUS WINAPI FT_Purge(FT_HANDLE ftHandle, ULONG Mask)
UCHAR IsFT1248H
Definition: ftd2xx.h:667
struct ft_eeprom_2232h * PFT_EEPROM_2232H
UCHAR BIsVCP7
Definition: ftd2xx.h:616
FTD2XX_API FT_STATUS WINAPI FT_CreateDeviceInfoList(LPDWORD lpdwNumDevs)
FTD2XX_API FT_STATUS WINAPI FT_RestartInTask(FT_HANDLE ftHandle)
UCHAR InvertDTR
Definition: ftd2xx.h:582
UCHAR AIsHighCurrent
Definition: ftd2xx.h:560
UCHAR ALDriveCurrent
Definition: ftd2xx.h:805
FTD2XX_API FT_STATUS WINAPI FT_Close(FT_HANDLE ftHandle)
UCHAR FT1248FlowControlH
Definition: ftd2xx.h:670
char XoffChar
Definition: ftd2xx.h:1165
FTD2XX_API FT_STATUS WINAPI FT_GetDeviceInfoDetail(DWORD dwIndex, LPDWORD lpdwFlags, LPDWORD lpdwType, LPDWORD lpdwID, LPDWORD lpdwLocId, LPVOID lpSerialNumber, LPVOID lpDescription, FT_HANDLE *pftHandle)
WORD wReserved
Definition: ftd2xx.h:1158
UCHAR BLDriveCurrent
Definition: ftd2xx.h:605
FTD2XX_API FT_STATUS WINAPI FT_SetFlowControl(FT_HANDLE ftHandle, USHORT FlowControl, UCHAR XonChar, UCHAR XoffChar)
FTD2XX_API FT_STATUS WINAPI FT_EE_Program(FT_HANDLE ftHandle, PFT_PROGRAM_DATA pData)
UCHAR InvertDSR
Definition: ftd2xx.h:583
UCHAR IFBIsFifoTar7
Definition: ftd2xx.h:614
UCHAR ACSlowSlew
Definition: ftd2xx.h:901
UCHAR BCDDisableSleep
Definition: ftd2xx.h:927
UCHAR BLDriveCurrent
Definition: ftd2xx.h:811
DWORD Signature2
Definition: ftd2xx.h:519
UCHAR CSchmittInput
Definition: ftd2xx.h:630
UCHAR CSlowSlew
Definition: ftd2xx.h:840
UCHAR InvertRI
Definition: ftd2xx.h:787
UCHAR BIsVCP
Definition: ftd2xx.h:569
struct ft_eeprom_2232 FT_EEPROM_2232
UCHAR RemoteWakeup
Definition: ftd2xx.h:739
FTD2XX_API FT_STATUS WINAPI FT_GetDeviceLocId(FT_HANDLE ftHandle, LPDWORD lpdwLocId)
WORD * LPWORD
Definition: WinTypes.h:33
unsigned char UCHAR
Definition: WinTypes.h:13
UCHAR BIsFifoTar
Definition: ftd2xx.h:764
UCHAR IFBIsFifoTar
Definition: ftd2xx.h:567
FTD2XX_API FT_STATUS WINAPI FT_WaitOnMask(FT_HANDLE ftHandle, DWORD *Mask)
FTD2XX_API BOOL WINAPI FT_W32_ClearCommBreak(FT_HANDLE ftHandle)
UCHAR DDriveCurrent
Definition: ftd2xx.h:845
UCHAR PullDownEnable8
Definition: ftd2xx.h:621
FTD2XX_API FT_STATUS WINAPI FT_EE_UASize(FT_HANDLE ftHandle, LPDWORD lpdwSize)
FTD2XX_API FT_STATUS FT_GetVIDPID(DWORD *pdwVID, DWORD *pdwPID)
FTD2XX_API BOOL WINAPI FT_W32_ReadFile(FT_HANDLE ftHandle, LPVOID lpBuffer, DWORD nBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped)
UCHAR IsFifo
Definition: ftd2xx.h:886
struct _FTCOMSTAT * LPFTCOMSTAT
FTD2XX_API FT_STATUS WINAPI FT_SetResetPipeRetryCount(FT_HANDLE ftHandle, DWORD dwCount)
FTD2XX_API FT_STATUS WINAPI FT_GetQueueStatusEx(FT_HANDLE ftHandle, DWORD *dwRxBytes)
FT_EEPROM_HEADER common
Definition: ftd2xx.h:862
UCHAR PullDownEnable5
Definition: ftd2xx.h:556
FTD2XX_API FT_STATUS WINAPI FT_SetLatencyTimer(FT_HANDLE ftHandle, UCHAR ucLatency)
FTD2XX_API FT_STATUS WINAPI FT_Read(FT_HANDLE ftHandle, LPVOID lpBuffer, DWORD dwBytesToRead, LPDWORD lpBytesReturned)
UCHAR AIsFifo
Definition: ftd2xx.h:816
UCHAR FT1248Cpol
Definition: ftd2xx.h:882
UCHAR ADSlowSlewH
Definition: ftd2xx.h:651
UCHAR BIsFifoTar
Definition: ftd2xx.h:820
DWORD WriteTotalTimeoutConstant
Definition: ftd2xx.h:1177
UCHAR InvertRTS
Definition: ftd2xx.h:580
UCHAR ACDriveCurrentH
Definition: ftd2xx.h:650
UCHAR ALSchmittInput
Definition: ftd2xx.h:804
UCHAR CDriveCurrent
Definition: ftd2xx.h:631
FTD2XX_API BOOL WINAPI FT_W32_CloseHandle(FT_HANDLE ftHandle)
UCHAR BIsHighCurrent
Definition: ftd2xx.h:561
struct ft_eeprom_232r * PFT_EEPROM_232R
UCHAR CSlowSlew
Definition: ftd2xx.h:629
FTD2XX_API BOOL WINAPI FT_W32_WriteFile(FT_HANDLE ftHandle, LPVOID lpBuffer, DWORD nBufferSize, LPDWORD lpBytesWritten, LPOVERLAPPED lpOverlapped)
FTD2XX_API FT_STATUS WINAPI FT_SetRts(FT_HANDLE ftHandle)
UCHAR AIsVCP7
Definition: ftd2xx.h:612
UCHAR SerNumEnable5
Definition: ftd2xx.h:557
UCHAR ACDriveCurrent
Definition: ftd2xx.h:866
UCHAR AHDriveCurrent
Definition: ftd2xx.h:808
UCHAR ASlowSlew
Definition: ftd2xx.h:834
FTD2XX_API FT_STATUS WINAPI FT_EE_UAWrite(FT_HANDLE ftHandle, PUCHAR pucData, DWORD dwDataLen)
FTD2XX_API FT_STATUS WINAPI FT_OpenEx(PVOID pArg1, DWORD Flags, FT_HANDLE *pHandle)
struct ft_eeprom_x_series FT_EEPROM_X_SERIES
UCHAR InvertDCD
Definition: ftd2xx.h:584
const char * LPCTSTR
Definition: WinTypes.h:31
FTD2XX_API FT_HANDLE WINAPI FT_W32_CreateFile(LPCTSTR lpszName, DWORD dwAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreate, DWORD dwAttrsAndFlags, HANDLE hTemplate)
UCHAR InvertCTS
Definition: ftd2xx.h:581
UCHAR CDriveCurrent
Definition: ftd2xx.h:842
FTD2XX_API FT_STATUS WINAPI FT_EEPROM_Program(FT_HANDLE ftHandle, void *eepromData, DWORD eepromDataSize, char *Manufacturer, char *ManufacturerId, char *Description, char *SerialNumber)
char * Manufacturer
Definition: ftd2xx.h:530
DWORD WriteTotalTimeoutMultiplier
Definition: ftd2xx.h:1176
char * Description
Definition: ftd2xx.h:532
FTD2XX_API FT_STATUS WINAPI FT_StopInTask(FT_HANDLE ftHandle)
UCHAR IFAIsFifo7
Definition: ftd2xx.h:609
UCHAR ARIIsTXDEN
Definition: ftd2xx.h:635
UCHAR InvertRXD
Definition: ftd2xx.h:579
FTD2XX_API BOOL WINAPI FT_W32_GetOverlappedResult(FT_HANDLE ftHandle, LPOVERLAPPED lpOverlapped, LPDWORD lpdwBytesTransferred, BOOL bWait)
unsigned int BOOL
Definition: WinTypes.h:17
WORD VendorId
Definition: ftd2xx.h:528
UCHAR Cbus6
Definition: ftd2xx.h:877
UCHAR BHSchmittInput
Definition: ftd2xx.h:813
UCHAR ADSchmittInput
Definition: ftd2xx.h:905
UCHAR PowerSaveEnable
Definition: ftd2xx.h:938
struct ft_eeprom_232h FT_EEPROM_232H
UCHAR Rev4
Definition: ftd2xx.h:541
UCHAR DDriveCurrent
Definition: ftd2xx.h:634
WORD I2CSlaveAddress
Definition: ftd2xx.h:929
UCHAR PowerSaveEnable
Definition: ftd2xx.h:822
DWORD * LPDWORD
Definition: WinTypes.h:32
FTD2XX_API BOOL WINAPI FT_W32_SetCommTimeouts(FT_HANDLE ftHandle, FTTIMEOUTS *pTimeouts)
FTD2XX_API FT_STATUS WINAPI FT_EE_ReadECC(FT_HANDLE ftHandle, UCHAR ucOption, LPWORD lpwValue)
FTD2XX_API FT_STATUS WINAPI FT_SetChars(FT_HANDLE ftHandle, UCHAR EventChar, UCHAR EventCharEnabled, UCHAR ErrorChar, UCHAR ErrorCharEnabled)
UCHAR Cbus1
Definition: ftd2xx.h:587
FTD2XX_API FT_STATUS WINAPI FT_SetUSBParameters(FT_HANDLE ftHandle, ULONG ulInTransferSize, ULONG ulOutTransferSize)
UCHAR IsVCPH
Definition: ftd2xx.h:671
FTD2XX_API BOOL WINAPI FT_W32_WaitCommEvent(FT_HANDLE ftHandle, PULONG pulEvent, LPOVERLAPPED lpOverlapped)
UCHAR AIsVCP
Definition: ftd2xx.h:565
unsigned int DWORD
Definition: WinTypes.h:9
FTD2XX_API FT_STATUS WINAPI FT_SetBitMode(FT_HANDLE ftHandle, UCHAR ucMask, UCHAR ucEnable)
FT_EEPROM_HEADER common
Definition: ftd2xx.h:801
FT_EEPROM_HEADER common
Definition: ftd2xx.h:755
UCHAR IsFifoTarH
Definition: ftd2xx.h:665
UCHAR CIsVCP8
Definition: ftd2xx.h:641
UCHAR FT1248FlowControl
Definition: ftd2xx.h:935
FTD2XX_API DWORD WINAPI FT_W32_GetLastError(FT_HANDLE ftHandle)
void(* PFT_EVENT_HANDLER)(DWORD, DWORD)
Definition: ftd2xx.h:190
UCHAR BSchmittInput
Definition: ftd2xx.h:838
unsigned int ULONG
Definition: WinTypes.h:10
UCHAR Cbus0
Definition: ftd2xx.h:788
UCHAR Cbus5H
Definition: ftd2xx.h:659
UCHAR Cbus7H
Definition: ftd2xx.h:661
struct ft_eeprom_232b * PFT_EEPROM_232B
unsigned char BYTE
Definition: WinTypes.h:15
UCHAR AIsVCP8
Definition: ftd2xx.h:639
UCHAR IFAIsFifoTar7
Definition: ftd2xx.h:610
UCHAR SerNumEnable8
Definition: ftd2xx.h:622
WORD XonLim
Definition: ftd2xx.h:1159
UCHAR CSchmittInput
Definition: ftd2xx.h:841
WORD RemoteWakeup
Definition: ftd2xx.h:537
UCHAR Cbus1
Definition: ftd2xx.h:872
PVOID LPVOID
Definition: WinTypes.h:36
UCHAR AIsFastSer
Definition: ftd2xx.h:762
DWORD ReadIntervalTimeout
Definition: ftd2xx.h:1173
BYTE StopBits
Definition: ftd2xx.h:1163
UCHAR BSlowSlew
Definition: ftd2xx.h:837
UCHAR Cbus3
Definition: ftd2xx.h:874
UCHAR Cbus0
Definition: ftd2xx.h:871
FTD2XX_API FT_STATUS WINAPI FT_ClrRts(FT_HANDLE ftHandle)
struct _ft_device_list_info_node FT_DEVICE_LIST_INFO_NODE
FTD2XX_API FT_STATUS WINAPI FT_GetQueueStatus(FT_HANDLE ftHandle, DWORD *dwRxBytes)
UCHAR ADSlowSlew
Definition: ftd2xx.h:867
FTD2XX_API FT_STATUS WINAPI FT_SetBreakOn(FT_HANDLE ftHandle)
FTD2XX_API BOOL WINAPI FT_W32_GetCommMask(FT_HANDLE ftHandle, LPDWORD lpdwEventMask)
UCHAR ADriverType
Definition: ftd2xx.h:767
UCHAR * PUCHAR
Definition: WinTypes.h:21
BYTE ByteSize
Definition: ftd2xx.h:1161
pthread_mutex_t eMutex
Definition: ftd2xx.h:64
UCHAR IFAIsFastSer7
Definition: ftd2xx.h:611
UCHAR Cbus8
Definition: ftd2xx.h:879
UCHAR BSlowSlew
Definition: ftd2xx.h:626
FTD2XX_API FT_STATUS WINAPI FT_GetEventStatus(FT_HANDLE ftHandle, DWORD *dwEventDWord)
UCHAR IsFifoH
Definition: ftd2xx.h:664
FT_EEPROM_HEADER common
Definition: ftd2xx.h:748
FTD2XX_API FT_STATUS WINAPI FT_Write(FT_HANDLE ftHandle, LPVOID lpBuffer, DWORD dwBytesToWrite, LPDWORD lpBytesWritten)
UCHAR AHSlowSlew
Definition: ftd2xx.h:600
FTD2XX_API FT_STATUS WINAPI FT_SetBreakOff(FT_HANDLE ftHandle)
DWORD Version
Definition: ftd2xx.h:520
FTD2XX_API FT_STATUS WINAPI FT_ListDevices(PVOID pArg1, PVOID pArg2, DWORD Flags)
FTD2XX_API FT_STATUS WINAPI FT_GetBitMode(FT_HANDLE ftHandle, PUCHAR pucMode)
FTD2XX_API FT_STATUS WINAPI FT_GetDeviceInfo(FT_HANDLE ftHandle, FT_DEVICE *lpftDevice, LPDWORD lpdwID, PCHAR SerialNumber, PCHAR Description, LPVOID Dummy)
FTD2XX_API FT_STATUS WINAPI FT_GetDeviceInfoList(FT_DEVICE_LIST_INFO_NODE *pDest, LPDWORD lpdwNumDevs)
UCHAR InvertTXD
Definition: ftd2xx.h:780
UCHAR IFAIsFifoTar
Definition: ftd2xx.h:563
UCHAR EndpointSize
Definition: ftd2xx.h:575
UCHAR ACSlowSlew
Definition: ftd2xx.h:864
FTD2XX_API FT_STATUS WINAPI FT_EE_ReadConfig(FT_HANDLE ftHandle, UCHAR ucAddress, PUCHAR pucValue)
UCHAR Cbus4
Definition: ftd2xx.h:875
pthread_cond_t eCondVar
Definition: ftd2xx.h:63
UCHAR BLSlowSlew
Definition: ftd2xx.h:809
FTD2XX_API FT_STATUS WINAPI FT_SetEventNotification(FT_HANDLE ftHandle, DWORD Mask, PVOID Param)
UCHAR DIsVCP8
Definition: ftd2xx.h:642
UCHAR InvertDTR
Definition: ftd2xx.h:784
DWORD ReadTotalTimeoutMultiplier
Definition: ftd2xx.h:1174


libsegwayrmp
Author(s): William Woodall
autogenerated on Mon Jun 10 2019 13:46:49