Your browser does not allow scripts
Please click here to view a static table of contents without scripts
Type Definitions
Return to Introduction  Previous page  Next page
For Visual C++ applications, these values are pre-declared in the header file (FTCI2C.H), which is included in the driver release. For other languages, these definitions will have to be converted to use equivalent types and may have to be defined in an include file or within the body of the code.



DWORD       Unsigned long (4 bytes)
LPDWORD      Long pointer to a DWORD value
BOOL         Boolean value (4 bytes)
LPSTR         Long pointer to a NULL terminated string
FTC_HANDLE      
DWORD



FTC_STATUS (DWORD)
   FTC_SUCCESS = 0
   FTC_INVALID_HANDLE = 1
   FTC_DEVICE_NOT_FOUND = 2
   FTC_DEVICE_NOT_OPENED = 3
   FTC_IO_ERROR = 4
   FTC_INSUFFICIENT_RESOURCES = 5

   FTC_FAILED_TO_COMPLETE_COMMAND = 20
   FTC_FAILED_TO_SYNCHRONIZE_DEVICE_MPSSE = 21
   FTC_INVALID_DEVICE_NAME_INDEX = 22
   FTC_NULL_DEVICE_NAME_BUFFER_POINTER = 23
   FTC_DEVICE_NAME_BUFFER_TOO_SMALL = 24
   FTC_INVALID_DEVICE_NAME = 25
   FTC_INVALID_LOCATION_ID = 26
   FTC_DEVICE_IN_USE = 27
   FTC_TOO_MANY_DEVICES = 28
   FTC_EXTERNAL_DEVICE_NOT_FOUND = 29
   FTC_INVALID_CLOCK_DIVISOR = 30
   FTC_NULL_CONTROL_DATA_BUFFER_POINTER = 31
   FTC_INVALID_NUMBER_CONTROL_BYTES = 32
   FTC_CONTROL_ACKNOWLEDGE_TIMEOUT = 33
   FTC_NULL_WRITE_DATA_BUFFER_POINTER = 34
   FTC_INVALID_NUMBER_DATA_BYTES_WRITE = 35
   FTC_DATA_ACKNOWLEDGE_TIMEOUT = 36
   FTC_INVALID_WRITE_TYPE = 37
   FTC_NUMBER_BYTES_TOO_SMALL_PAGE_WRITE = 38
   FTC_NULL_PAGE_WRITE_BUFFER_POINTER = 39
   FTC_NULL_READ_DATA_BUFFER_POINTER = 40
   FTC_INVALID_NUMBER_DATA_BYTES_READ = 41
   FTC_INVALID_READ_TYPE = 42
   FTC_NULL_DLL_VERSION_BUFFER_POINTER = 43
   FTC_DLL_VERSION_BUFFER_TOO_SMALL = 44
   FTC_NULL_LANGUAGE_CODE_BUFFER_POINTER = 45
   FTC_NULL_ERROR_MESSAGE_BUFFER_POINTER = 46
   FTC_ERROR_MESSAGE_BUFFER_TOO_SMALL = 47
   FTC_INVALID_LANGUAGE_CODE = 48
   FTC_INVALID_STATUS_CODE = 49



FTC_PAGE_WRITE_DATA
typedef struct FTC_Page_Write_Data{
   DWORD dwNumPages;
   DWORD dwNumBytesPerPage;
}FTC_PAGE_WRITE_DATA, *PFTC_PAGE_WRITE_DATA;



WRITE CONTROL BYTE BUFFER
#define MAX_WRITE_CONTROL_BYTES_BUFFER_SIZE 256 // 256 bytes
typedef BYTE WriteControlByteBuffer[MAX_WRITE_CONTROL_BYTES_BUFFER_SIZE];
typedef WriteControlByteBuffer *PWriteControlByteBuffer;




WRITE DATA BYTE BUFFER
#define MAX_WRITE_DATA_BYTES_BUFFER_SIZE 65536 // 64k bytes
typedef BYTE WriteDataByteBuffer[MAX_WRITE_DATA_BYTES_BUFFER_SIZE];
typedef WriteDataByteBuffer *PWriteDataByteBuffer;



READ DATA BYTE BUFFER
#define MAX_READ_DATA_BYTES_BUFFER_SIZE 65536 // 64k bytes
typedef BYTE ReadDataByteBuffer[MAX_READ_DATA_BYTES_BUFFER_SIZE];
typedef ReadDataByteBuffer *PReadDataByteBuffer;