But the FTDI.bi header isn't complete. So I used
to generate a full translation of the current (certified) version 2.08.02. But I cannot test it because I have no hardware.
Code: Select all
' This is file ftd2xx-2.08.02_TJF.bi
' (FreeBasic binding for ftd2xx library version 2.08.02)
'
' translated with help of h_2_bi.bas by
' Thomas[ dot ]Freiherr[ at ]gmx[ dot ]net.
'
' Licence:
' (C) 2011 Thomas[ dot ]Freiherr[ at ]gmx[ dot ]net
'
' This library binding is free software; you can redistribute it
' and/or modify it under the terms of the GNU Lesser General Public
' License as published by the Free Software Foundation; either
' version 2 of the License, or (at your option) ANY later version.
'
' This binding is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
' Lesser General Public License for more details, refer to:
' http://www.gnu.org/licenses/lgpl.html
'
'
' Original license text:
'
'/*++
'Copyright © 2001-2010 Future Technology Devices International Limited
'THIS SOFTWARE IS PROVIDED BY FUTURE TECHNOLOGY DEVICES INTERNATIONAL LIMITED "AS IS"
'AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
'OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
'FUTURE TECHNOLOGY DEVICES INTERNATIONAL LIMITED BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
'SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
'OF SUBSTITUTE GOODS OR SERVICES LOSS OF USE, DATA, OR PROFITS OR BUSINESS INTERRUPTION)
'HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
'TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
'EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
'FTDI DRIVERS MAY BE USED ONLY IN CONJUNCTION WITH PRODUCTS BASED ON FTDI PARTS.
'FTDI DRIVERS MAY BE DISTRIBUTED IN ANY FORM AS LONG AS LICENSE INFORMATION IS NOT MODIFIED.
'IF A CUSTOM VENDOR ID AND/OR PRODUCT ID OR DESCRIPTION STRING ARE USED, IT IS THE
'RESPONSIBILITY OF THE PRODUCT MANUFACTURER TO MAINTAIN ANY CHANGES AND SUBSEQUENT WHQL
'RE-CERTIFICATION AS A RESULT OF MAKING THESE CHANGES.
'Module Name:
'ftd2xx.h
'Abstract:
'Native USB device driver for FTDI FT232x, FT245x, FT2232x and FT4232x devices
'FTD2XX library definitions
'Environment:
'kernel & user mode
'Revision History:
'13/03/01 awm Created.
'13/01/03 awm Added device information support.
'19/03/03 awm Added FT_W32_CancelIo.
'12/06/03 awm Added FT_StopInTask and FT_RestartInTask.
'18/09/03 awm Added FT_SetResetPipeRetryCount.
'10/10/03 awm Added FT_ResetPort.
'23/01/04 awm Added support for open-by-location.
'16/03/04 awm Added support for FT2232C.
'23/09/04 awm Added support for FT232R.
'20/10/04 awm Added FT_CyclePort.
'18/01/05 awm Added FT_DEVICE_LIST_INFO_NODE type.
'11/02/05 awm Added LocId to FT_DEVICE_LIST_INFO_NODE.
'25/08/05 awm Added FT_SetDeadmanTimeout.
'02/12/05 awm Removed obsolete references.
'05/12/05 awm Added FT_GetVersion, FT_GetVersionEx.
'08/09/06 awm Added FT_W32_GetCommMask.
'11/09/06 awm Added FT_Rescan.
'11/07/07 awm Added support for FT2232H and FT4232H.
'10/08/07 awm Added flags definitions.
'21/11/07 mja Added FT_GetComPortNumber.
'05/06/08 mja Added EEPROM extensions for FT2232H.
'--*/
#IFNDEF FTD2XX_H_TJF
#DEFINE FTD2XX_H_TJF
#IFDEF __FB_WIN32__
#PRAGMA push(msbitfields)
#ENDIF
#INCLUDE ONCE "windows.bi"
#INCLIB "ftd2xx"
TYPE AS ULONG ULONG_TJF
TYPE AS USHORT USHORT_TJF
TYPE AS BYTE BYTE_TJF
#LANG "fb"
EXTERN "C" ' (h_2_bi -P_oCD option)
' 001 start from: ftd2xx.h2bi ==> ftd2xx.h
#IFNDEF FTD2XX_H
#DEFINE FTD2XX_H
TYPE FT_HANDLE AS PVOID
TYPE FT_STATUS AS ULONG_TJF
ENUM
FT_OK
FT_INVALID_HANDLE
FT_DEVICE_NOT_FOUND
FT_DEVICE_NOT_OPENED
FT_IO_ERROR
FT_INSUFFICIENT_RESOURCES
FT_INVALID_PARAMETER
FT_INVALID_BAUD_RATE
FT_DEVICE_NOT_OPENED_FOR_ERASE
FT_DEVICE_NOT_OPENED_FOR_WRITE
FT_FAILED_TO_WRITE_DEVICE
FT_EEPROM_READ_FAILED
FT_EEPROM_WRITE_FAILED
FT_EEPROM_ERASE_FAILED
FT_EEPROM_NOT_PRESENT
FT_EEPROM_NOT_PROGRAMMED
FT_INVALID_ARGS
FT_NOT_SUPPORTED
FT_OTHER_ERROR
FT_DEVICE_LIST_NOT_READY
END ENUM
#DEFINE FT_SUCCESS(status) ((status)= FT_OK)
#DEFINE FT_OPEN_BY_SERIAL_NUMBER 1
#DEFINE FT_OPEN_BY_DESCRIPTION 2
#DEFINE FT_OPEN_BY_LOCATION 4
#DEFINE FT_LIST_NUMBER_ONLY &h80000000
#DEFINE FT_LIST_BY_INDEX &h40000000
#DEFINE FT_LIST_ALL &h20000000
#DEFINE FT_LIST_MASK (FT_LIST_NUMBER_ONLYOR FT_LIST_BY_INDEXOR FT_LIST_ALL)
#DEFINE FT_BAUD_300 300
#DEFINE FT_BAUD_600 600
#DEFINE FT_BAUD_1200 1200
#DEFINE FT_BAUD_2400 2400
#DEFINE FT_BAUD_4800 4800
#DEFINE FT_BAUD_9600 9600
#DEFINE FT_BAUD_14400 14400
#DEFINE FT_BAUD_19200 19200
#DEFINE FT_BAUD_38400 38400
#DEFINE FT_BAUD_57600 57600
#DEFINE FT_BAUD_115200 115200
#DEFINE FT_BAUD_230400 230400
#DEFINE FT_BAUD_460800 460800
#DEFINE FT_BAUD_921600 921600
#DEFINE FT_BITS_8 (UCHAR) 8
#DEFINE FT_BITS_7 (UCHAR) 7
#DEFINE FT_STOP_BITS_1 (UCHAR) 0
#DEFINE FT_STOP_BITS_2 (UCHAR) 1
#DEFINE FT_PARITY_NONE (UCHAR) 0
#DEFINE FT_PARITY_ODD (UCHAR) 1
#DEFINE FT_PARITY_EVEN (UCHAR) 2
#DEFINE FT_PARITY_MARK (UCHAR) 3
#DEFINE FT_PARITY_SPACE (UCHAR) 4
#DEFINE FT_FLOW_NONE &h0000
#DEFINE FT_FLOW_RTS_CTS &h0100
#DEFINE FT_FLOW_DTR_DSR &h0200
#DEFINE FT_FLOW_XON_XOFF &h0400
#DEFINE FT_PURGE_RX 1
#DEFINE FT_PURGE_TX 2
TYPE PFT_EVENT_HANDLER AS SUB(BYVAL AS DWORD, BYVAL AS DWORD)
#DEFINE FT_EVENT_RXCHAR 1
#DEFINE FT_EVENT_MODEM_STATUS 2
#DEFINE FT_EVENT_LINE_STATUS 4
#DEFINE FT_DEFAULT_RX_TIMEOUT 300
#DEFINE FT_DEFAULT_TX_TIMEOUT 300
TYPE FT_DEVICE AS ULONG_TJF
ENUM
FT_DEVICE_BM
FT_DEVICE_AM
FT_DEVICE_100AX
FT_DEVICE_UNKNOWN
FT_DEVICE_2232C
FT_DEVICE_232R
FT_DEVICE_2232H
FT_DEVICE_4232H
END ENUM
#IFDEF __cplusplus
#ENDIF ' __cplusplus
DECLARE FUNCTION FT_Open(BYVAL AS INTEGER, BYVAL AS FT_HANDLE PTR) AS FT_STATUS
DECLARE FUNCTION FT_OpenEx(BYVAL AS PVOID, BYVAL AS DWORD, BYVAL AS FT_HANDLE PTR) AS FT_STATUS
DECLARE FUNCTION FT_ListDevices(BYVAL AS PVOID, BYVAL AS PVOID, BYVAL AS DWORD) AS FT_STATUS
DECLARE FUNCTION FT_Close(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_Read(BYVAL AS FT_HANDLE, BYVAL AS LPVOID, BYVAL AS DWORD, BYVAL AS LPDWORD) AS FT_STATUS
DECLARE FUNCTION FT_Write(BYVAL AS FT_HANDLE, BYVAL AS LPVOID, BYVAL AS DWORD, BYVAL AS LPDWORD) AS FT_STATUS
DECLARE FUNCTION FT_IoCtl(BYVAL AS FT_HANDLE, BYVAL AS DWORD, BYVAL AS LPVOID, BYVAL AS DWORD, BYVAL AS LPVOID, BYVAL AS DWORD, BYVAL AS LPDWORD, BYVAL AS LPOVERLAPPED) AS FT_STATUS
DECLARE FUNCTION FT_SetBaudRate(BYVAL AS FT_HANDLE, BYVAL AS ULONG_TJF) AS FT_STATUS
DECLARE FUNCTION FT_SetDivisor(BYVAL AS FT_HANDLE, BYVAL AS USHORT_TJF) AS FT_STATUS
DECLARE FUNCTION FT_SetDataCharacteristics(BYVAL AS FT_HANDLE, BYVAL AS UCHAR, BYVAL AS UCHAR, BYVAL AS UCHAR) AS FT_STATUS
DECLARE FUNCTION FT_SetFlowControl(BYVAL AS FT_HANDLE, BYVAL AS USHORT_TJF, BYVAL AS UCHAR, BYVAL AS UCHAR) AS FT_STATUS
DECLARE FUNCTION FT_ResetDevice(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_SetDtr(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_ClrDtr(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_SetRts(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_ClrRts(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_GetModemStatus(BYVAL AS FT_HANDLE, BYVAL AS ULONG_TJF PTR) AS FT_STATUS
DECLARE FUNCTION FT_SetChars(BYVAL AS FT_HANDLE, BYVAL AS UCHAR, BYVAL AS UCHAR, BYVAL AS UCHAR, BYVAL AS UCHAR) AS FT_STATUS
DECLARE FUNCTION FT_Purge(BYVAL AS FT_HANDLE, BYVAL AS ULONG_TJF) AS FT_STATUS
DECLARE FUNCTION FT_SetTimeouts(BYVAL AS FT_HANDLE, BYVAL AS ULONG_TJF, BYVAL AS ULONG_TJF) AS FT_STATUS
DECLARE FUNCTION FT_GetQueueStatus(BYVAL AS FT_HANDLE, BYVAL AS DWORD PTR) AS FT_STATUS
DECLARE FUNCTION FT_SetEventNotification(BYVAL AS FT_HANDLE, BYVAL AS DWORD, BYVAL AS PVOID) AS FT_STATUS
DECLARE FUNCTION FT_GetStatus(BYVAL AS FT_HANDLE, BYVAL AS DWORD PTR, BYVAL AS DWORD PTR, BYVAL AS DWORD PTR) AS FT_STATUS
DECLARE FUNCTION FT_SetBreakOn(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_SetBreakOff(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_SetWaitMask(BYVAL AS FT_HANDLE, BYVAL AS DWORD) AS FT_STATUS
DECLARE FUNCTION FT_WaitOnMask(BYVAL AS FT_HANDLE, BYVAL AS DWORD PTR) AS FT_STATUS
DECLARE FUNCTION FT_GetEventStatus(BYVAL AS FT_HANDLE, BYVAL AS DWORD PTR) AS FT_STATUS
DECLARE FUNCTION FT_ReadEE(BYVAL AS FT_HANDLE, BYVAL AS DWORD, BYVAL AS LPWORD) AS FT_STATUS
DECLARE FUNCTION FT_WriteEE(BYVAL AS FT_HANDLE, BYVAL AS DWORD, BYVAL AS WORD) AS FT_STATUS
DECLARE FUNCTION FT_EraseEE(BYVAL AS FT_HANDLE) AS FT_STATUS
TYPE ft_program_data
AS DWORD Signature1
AS DWORD Signature2
AS DWORD Version
AS WORD VendorId
AS WORD ProductId
AS ZSTRING PTR Manufacturer
AS ZSTRING PTR ManufacturerId
AS ZSTRING PTR Description
AS ZSTRING PTR SerialNumber
AS WORD MaxPower
AS WORD PnP
AS WORD SelfPowered
AS WORD RemoteWakeup
AS UCHAR Rev4
AS UCHAR IsoIn
AS UCHAR IsoOut
AS UCHAR PullDownEnable
AS UCHAR SerNumEnable
AS UCHAR USBVersionEnable
AS WORD USBVersion
AS UCHAR Rev5
AS UCHAR IsoInA
AS UCHAR IsoInB
AS UCHAR IsoOutA
AS UCHAR IsoOutB
AS UCHAR PullDownEnable5
AS UCHAR SerNumEnable5
AS UCHAR USBVersionEnable5
AS WORD USBVersion5
AS UCHAR AIsHighCurrent
AS UCHAR BIsHighCurrent
AS UCHAR IFAIsFifo
AS UCHAR IFAIsFifoTar
AS UCHAR IFAIsFastSer
AS UCHAR AIsVCP
AS UCHAR IFBIsFifo
AS UCHAR IFBIsFifoTar
AS UCHAR IFBIsFastSer
AS UCHAR BIsVCP
AS UCHAR UseExtOsc
AS UCHAR HighDriveIOs
AS UCHAR EndpointSize
AS UCHAR PullDownEnableR
AS UCHAR SerNumEnableR
AS UCHAR InvertTXD
AS UCHAR InvertRXD
AS UCHAR InvertRTS
AS UCHAR InvertCTS
AS UCHAR InvertDTR
AS UCHAR InvertDSR
AS UCHAR InvertDCD
AS UCHAR InvertRI
AS UCHAR Cbus0
AS UCHAR Cbus1
AS UCHAR Cbus2
AS UCHAR Cbus3
AS UCHAR Cbus4
AS UCHAR RIsD2XX
AS UCHAR PullDownEnable7
AS UCHAR SerNumEnable7
AS UCHAR ALSlowSlew
AS UCHAR ALSchmittInput
AS UCHAR ALDriveCurrent
AS UCHAR AHSlowSlew
AS UCHAR AHSchmittInput
AS UCHAR AHDriveCurrent
AS UCHAR BLSlowSlew
AS UCHAR BLSchmittInput
AS UCHAR BLDriveCurrent
AS UCHAR BHSlowSlew
AS UCHAR BHSchmittInput
AS UCHAR BHDriveCurrent
AS UCHAR IFAIsFifo7
AS UCHAR IFAIsFifoTar7
AS UCHAR IFAIsFastSer7
AS UCHAR AIsVCP7
AS UCHAR IFBIsFifo7
AS UCHAR IFBIsFifoTar7
AS UCHAR IFBIsFastSer7
AS UCHAR BIsVCP7
AS UCHAR PowerSaveEnable
AS UCHAR PullDownEnable8
AS UCHAR SerNumEnable8
AS UCHAR ASlowSlew
AS UCHAR ASchmittInput
AS UCHAR ADriveCurrent
AS UCHAR BSlowSlew
AS UCHAR BSchmittInput
AS UCHAR BDriveCurrent
AS UCHAR CSlowSlew
AS UCHAR CSchmittInput
AS UCHAR CDriveCurrent
AS UCHAR DSlowSlew
AS UCHAR DSchmittInput
AS UCHAR DDriveCurrent
AS UCHAR ARIIsTXDEN
AS UCHAR BRIIsTXDEN
AS UCHAR CRIIsTXDEN
AS UCHAR DRIIsTXDEN
AS UCHAR AIsVCP8
AS UCHAR BIsVCP8
AS UCHAR CIsVCP8
AS UCHAR DIsVCP8
END TYPE
DIM AS ft_program_data FT_PROGRAM_DATA
TYPE AS ft_program_data PTR PFT_PROGRAM_DATA
DECLARE FUNCTION FT_EE_Program(BYVAL AS FT_HANDLE, BYVAL AS PFT_PROGRAM_DATA) AS FT_STATUS
DECLARE FUNCTION FT_EE_ProgramEx(BYVAL AS FT_HANDLE, BYVAL AS PFT_PROGRAM_DATA, BYVAL AS ZSTRING PTR, BYVAL AS ZSTRING PTR, BYVAL AS ZSTRING PTR, BYVAL AS ZSTRING PTR) AS FT_STATUS
DECLARE FUNCTION FT_EE_Read(BYVAL AS FT_HANDLE, BYVAL AS PFT_PROGRAM_DATA) AS FT_STATUS
DECLARE FUNCTION FT_EE_ReadEx(BYVAL AS FT_HANDLE, BYVAL AS PFT_PROGRAM_DATA, BYVAL AS ZSTRING PTR, BYVAL AS ZSTRING PTR, BYVAL AS ZSTRING PTR, BYVAL AS ZSTRING PTR) AS FT_STATUS
DECLARE FUNCTION FT_EE_UASize(BYVAL AS FT_HANDLE, BYVAL AS LPDWORD) AS FT_STATUS
DECLARE FUNCTION FT_EE_UAWrite(BYVAL AS FT_HANDLE, BYVAL AS PUCHAR, BYVAL AS DWORD) AS FT_STATUS
DECLARE FUNCTION FT_EE_UARead(BYVAL AS FT_HANDLE, BYVAL AS PUCHAR, BYVAL AS DWORD, BYVAL AS LPDWORD) AS FT_STATUS
DECLARE FUNCTION FT_SetLatencyTimer(BYVAL AS FT_HANDLE, BYVAL AS UCHAR) AS FT_STATUS
DECLARE FUNCTION FT_GetLatencyTimer(BYVAL AS FT_HANDLE, BYVAL AS PUCHAR) AS FT_STATUS
DECLARE FUNCTION FT_SetBitMode(BYVAL AS FT_HANDLE, BYVAL AS UCHAR, BYVAL AS UCHAR) AS FT_STATUS
DECLARE FUNCTION FT_GetBitMode(BYVAL AS FT_HANDLE, BYVAL AS PUCHAR) AS FT_STATUS
DECLARE FUNCTION FT_SetUSBParameters(BYVAL AS FT_HANDLE, BYVAL AS ULONG_TJF, BYVAL AS ULONG_TJF) AS FT_STATUS
DECLARE FUNCTION FT_SetDeadmanTimeout(BYVAL AS FT_HANDLE, BYVAL AS ULONG_TJF) AS FT_STATUS
DECLARE FUNCTION FT_GetDeviceInfo(BYVAL AS FT_HANDLE, BYVAL AS FT_DEVICE PTR, BYVAL AS LPDWORD, BYVAL AS PCHAR, BYVAL AS PCHAR, BYVAL AS LPVOID) AS FT_STATUS
DECLARE FUNCTION FT_StopInTask(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_RestartInTask(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_SetResetPipeRetryCount(BYVAL AS FT_HANDLE, BYVAL AS DWORD) AS FT_STATUS
DECLARE FUNCTION FT_ResetPort(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_CyclePort(BYVAL AS FT_HANDLE) AS FT_STATUS
DECLARE FUNCTION FT_W32_CreateFile(BYVAL AS LPCTSTR, BYVAL AS DWORD, BYVAL AS DWORD, BYVAL AS LPSECURITY_ATTRIBUTES, BYVAL AS DWORD, BYVAL AS DWORD, BYVAL AS HANDLE) AS FT_HANDLE
DECLARE FUNCTION FT_W32_CloseHandle(BYVAL AS FT_HANDLE) AS BOOL
DECLARE FUNCTION FT_W32_ReadFile(BYVAL AS FT_HANDLE, BYVAL AS LPVOID, BYVAL AS DWORD, BYVAL AS LPDWORD, BYVAL AS LPOVERLAPPED) AS BOOL
DECLARE FUNCTION FT_W32_WriteFile(BYVAL AS FT_HANDLE, BYVAL AS LPVOID, BYVAL AS DWORD, BYVAL AS LPDWORD, BYVAL AS LPOVERLAPPED) AS BOOL
DECLARE FUNCTION FT_W32_GetLastError(BYVAL AS FT_HANDLE) AS DWORD
DECLARE FUNCTION FT_W32_GetOverlappedResult(BYVAL AS FT_HANDLE, BYVAL AS LPOVERLAPPED, BYVAL AS LPDWORD, BYVAL AS BOOL) AS BOOL
DECLARE FUNCTION FT_W32_CancelIo(BYVAL AS FT_HANDLE) AS BOOL
TYPE _FTCOMSTAT
AS DWORD fCtsHold : 1
AS DWORD fDsrHold : 1
AS DWORD fRlsdHold : 1
AS DWORD fXoffHold : 1
AS DWORD fXoffSent : 1
AS DWORD fEof : 1
AS DWORD fTxim : 1
AS DWORD fReserved : 25
AS DWORD cbInQue
AS DWORD cbOutQue
END TYPE
TYPE AS _FTCOMSTAT FTCOMSTAT, LPFTCOMSTAT
TYPE _FTDCB
AS DWORD DCBlength
AS DWORD BaudRate
AS DWORD fBinary : 1
AS DWORD fParity : 1
AS DWORD fOutxCtsFlow : 1
AS DWORD fOutxDsrFlow : 1
AS DWORD fDtrControl : 2
AS DWORD fDsrSensitivity : 1
AS DWORD fTXContinueOnXoff : 1
AS DWORD fOutX : 1
AS DWORD fInX : 1
AS DWORD fErrorChar : 1
AS DWORD fNull : 1
AS DWORD fRtsControl : 2
AS DWORD fAbortOnError : 1
AS DWORD fDummy2 : 17
AS WORD wReserved
AS WORD XonLim
AS WORD XoffLim
AS BYTE_TJF ByteSize
AS BYTE_TJF Parity
AS BYTE_TJF StopBits
AS UBYTE XonChar
AS UBYTE XoffChar
AS UBYTE ErrorChar
AS UBYTE EofChar
AS UBYTE EvtChar
AS WORD wReserved1
END TYPE
TYPE AS _FTDCB FTDCB, LPFTDCB
TYPE _FTTIMEOUTS
AS DWORD ReadIntervalTimeout
AS DWORD ReadTotalTimeoutMultiplier
AS DWORD ReadTotalTimeoutConstant
AS DWORD WriteTotalTimeoutMultiplier
AS DWORD WriteTotalTimeoutConstant
END TYPE
TYPE AS _FTTIMEOUTS FTTIMEOUTS, LPFTTIMEOUTS
DECLARE FUNCTION FT_W32_ClearCommBreak(BYVAL AS FT_HANDLE) AS BOOL
DECLARE FUNCTION FT_W32_ClearCommError(BYVAL AS FT_HANDLE, BYVAL AS LPDWORD, BYVAL AS LPFTCOMSTAT) AS BOOL
DECLARE FUNCTION FT_W32_EscapeCommFunction(BYVAL AS FT_HANDLE, BYVAL AS DWORD) AS BOOL
DECLARE FUNCTION FT_W32_GetCommModemStatus(BYVAL AS FT_HANDLE, BYVAL AS LPDWORD) AS BOOL
DECLARE FUNCTION FT_W32_GetCommState(BYVAL AS FT_HANDLE, BYVAL AS LPFTDCB) AS BOOL
DECLARE FUNCTION FT_W32_GetCommTimeouts(BYVAL AS FT_HANDLE, BYVAL AS FTTIMEOUTS PTR) AS BOOL
DECLARE FUNCTION FT_W32_PurgeComm(BYVAL AS FT_HANDLE, BYVAL AS DWORD) AS BOOL
DECLARE FUNCTION FT_W32_SetCommBreak(BYVAL AS FT_HANDLE) AS BOOL
DECLARE FUNCTION FT_W32_SetCommMask(BYVAL AS FT_HANDLE, BYVAL AS ULONG_TJF) AS BOOL
DECLARE FUNCTION FT_W32_GetCommMask(BYVAL AS FT_HANDLE, BYVAL AS LPDWORD) AS BOOL
DECLARE FUNCTION FT_W32_SetCommState(BYVAL AS FT_HANDLE, BYVAL AS LPFTDCB) AS BOOL
DECLARE FUNCTION FT_W32_SetCommTimeouts(BYVAL AS FT_HANDLE, BYVAL AS FTTIMEOUTS PTR) AS BOOL
DECLARE FUNCTION FT_W32_SetupComm(BYVAL AS FT_HANDLE, BYVAL AS DWORD, BYVAL AS DWORD) AS BOOL
DECLARE FUNCTION FT_W32_WaitCommEvent(BYVAL AS FT_HANDLE, BYVAL AS PULONG, BYVAL AS LPOVERLAPPED) AS BOOL
TYPE _ft_device_list_info_node
AS ULONG_TJF Flags
AS ULONG_TJF Type
AS ULONG_TJF ID
AS DWORD LocId
AS ZSTRING*16 SerialNumber
AS ZSTRING*64 Description
AS FT_HANDLE ftHandle
END TYPE
TYPE AS _ft_device_list_info_node FT_DEVICE_LIST_INFO_NODE
ENUM
FT_FLAGS_OPENED = 1
FT_FLAGS_HISPEED = 2
END ENUM
DECLARE FUNCTION FT_CreateDeviceInfoList(BYVAL AS LPDWORD) AS FT_STATUS
DECLARE FUNCTION FT_GetDeviceInfoList(BYVAL AS FT_DEVICE_LIST_INFO_NODE PTR, BYVAL AS LPDWORD) AS FT_STATUS
DECLARE FUNCTION FT_GetDeviceInfoDetail(BYVAL AS DWORD, BYVAL AS LPDWORD, BYVAL AS LPDWORD, BYVAL AS LPDWORD, BYVAL AS LPDWORD, BYVAL AS LPVOID, BYVAL AS LPVOID, BYVAL AS FT_HANDLE PTR) AS FT_STATUS
DECLARE FUNCTION FT_GetDriverVersion(BYVAL AS FT_HANDLE, BYVAL AS LPDWORD) AS FT_STATUS
DECLARE FUNCTION FT_GetLibraryVersion(BYVAL AS LPDWORD) AS FT_STATUS
DECLARE FUNCTION FT_Rescan() AS FT_STATUS
DECLARE FUNCTION FT_Reload(BYVAL AS WORD, BYVAL AS WORD) AS FT_STATUS
DECLARE FUNCTION FT_GetComPortNumber(BYVAL AS FT_HANDLE, BYVAL AS LPLONG) AS FT_STATUS
#IFDEF __cplusplus
#ENDIF ' __cplusplus
#ENDIF ' FTD2XX_H
' 001 back from ftd2xx.h ==> ftd2xx.h2bi
END EXTERN ' (h_2_bi -P_oCD option)
' 000 start from: ftd2xx.h2bi, section __END_BI__
#IFDEF __FB_WIN32__
#PRAGMA pop(msbitfields)
#ENDIF
#ENDIF ' FTD2XX_H_TJF
' Translated at 11-02-23 20:20:53, by h_2_bi (version 0.2.0.1,
' released under GPLv3 by Thomas[ dot ]Freiherr[ at ]gmx[ dot ]net)
' Protocol: ftd2xx.bi
' Parameters:
' Process time [s]: 0.08117903512902558
' Bytes translated: 13861
' Maximum deep: 1
' SUB/FUNCTION names: 80
' PFT_EVENT_HANDLER
' FT_Open
' FT_OpenEx
' FT_ListDevices
' FT_Close
' FT_Read
' FT_Write
' FT_IoCtl
' FT_SetBaudRate
' FT_SetDivisor
' FT_SetDataCharacteristics
' FT_SetFlowControl
' FT_ResetDevice
' FT_SetDtr
' FT_ClrDtr
' FT_SetRts
' FT_ClrRts
' FT_GetModemStatus
' FT_SetChars
' FT_Purge
' FT_SetTimeouts
' FT_GetQueueStatus
' FT_SetEventNotification
' FT_GetStatus
' FT_SetBreakOn
' FT_SetBreakOff
' FT_SetWaitMask
' FT_WaitOnMask
' FT_GetEventStatus
' FT_ReadEE
' FT_WriteEE
' FT_EraseEE
' FT_EE_Program
' FT_EE_ProgramEx
' FT_EE_Read
' FT_EE_ReadEx
' FT_EE_UASize
' FT_EE_UAWrite
' FT_EE_UARead
' FT_SetLatencyTimer
' FT_GetLatencyTimer
' FT_SetBitMode
' FT_GetBitMode
' FT_SetUSBParameters
' FT_SetDeadmanTimeout
' FT_GetDeviceInfo
' FT_StopInTask
' FT_RestartInTask
' FT_SetResetPipeRetryCount
' FT_ResetPort
' FT_CyclePort
' FT_W32_CreateFile
' FT_W32_CloseHandle
' FT_W32_ReadFile
' FT_W32_WriteFile
' FT_W32_GetLastError
' FT_W32_GetOverlappedResult
' FT_W32_CancelIo
' FT_W32_ClearCommBreak
' FT_W32_ClearCommError
' FT_W32_EscapeCommFunction
' FT_W32_GetCommModemStatus
' FT_W32_GetCommState
' FT_W32_GetCommTimeouts
' FT_W32_PurgeComm
' FT_W32_SetCommBreak
' FT_W32_SetCommMask
' FT_W32_GetCommMask
' FT_W32_SetCommState
' FT_W32_SetCommTimeouts
' FT_W32_SetupComm
' FT_W32_WaitCommEvent
' FT_CreateDeviceInfoList
' FT_GetDeviceInfoList
' FT_GetDeviceInfoDetail
' FT_GetDriverVersion
' FT_GetLibraryVersion
' FT_Rescan
' FT_Reload
' FT_GetComPortNumber
' mangled TYPE names: 0
' files done: 0
' files missed: 0
' __FOLDERS__: 0
' __MACROS__: 2
' 79: #define FTD2XX_API
' 79: #define WINAPI
' __HEADERS__: 0
' __TYPES__: 0
' __POST_REPS__: 0