For Visual C++ applications, these values are pre-declared in the header file (FTCJTAG.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_INVALID_FREQUENCY_VALUE = 29
FTC_NULL_INPUT_OUTPUT_BUFFER_POINTER = 30
FTC_INVALID_NUMBER_BITS = 31
FTC_NULL_WRITE_DATA_BUFFER_POINTER = 32
FTC_INVALID_NUMBER_BYTES = 33
FTC_NUMBER_BYTES_TOO_SMALL = 34
FTC_INVALID_TAP_CONTROLLER_STATE = 35
FTC_NULL_READ_DATA_BUFFER_POINTER = 36
FTC_NULL_DLL_VERSION_BUFFER_POINTER = 37
FTC_DLL_VERSION_BUFFER_TOO_SMALL = 38
FTC_NULL_LANGUAGE_CODE_BUFFER_POINTER = 39
FTC_NULL_ERROR_MESSAGE_BUFFER_POINTER = 40
FTC_ERROR_MESSAGE_BUFFER_TOO_SMALL = 41
FTC_INVALID_LANGUAGE_CODE = 42
FTC_INVALID_STATUS_CODE = 43
TAP CONTROLLER STATES (DWORD)
TEST_LOGIC_STATE = 1
RUN_TEST_IDLE_STATE = 2
PAUSE_TEST_DATA_REGISTER_STATE = 3
PAUSE_INSTRUCTION_REGISTER_STATE = 4
SHIFT_TEST_DATA_REGISTER_STATE = 5
SHIFT_INSTRUCTION_REGISTER_STATE = 6
FTC_INPUT_OUTPUT_PINS
typedef struct Ft_Input_Output_Pins{
BOOL bPin1InputOutputState;
BOOL bPin1LowHighState;
BOOL bPin2InputOutputState;
BOOL bPin2LowHighState;
BOOL bPin3InputOutputState;
BOOL bPin3LowHighState;
BOOL bPin4InputOutputState;
BOOL bPin4LowHighState;
}FTC_INPUT_OUTPUT_PINS, *PFTC_INPUT_OUTPUT_PINS;
FTC_LOW_HIGH_PINS
typedef struct Ft_Low_High_Pins{
BOOL bPin1LowHighState;
BOOL bPin2LowHighState;
BOOL bPin3LowHighState;
BOOL bPin4LowHighState;
}FTC_LOW_HIGH_PINS, *PFTC_LOW_HIGH_PINS
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;
READ COMMAND SEQUENCE DATA BYTE BUFFER
#define MAX_READ_CMDS_DATA_BYTES_BUFFER_SIZE 131071 // 128K bytes
typedef BYTE ReadCmdSequenceDataByteBuffer[MAX_READ_CMDS_DATA_BYTES_BUFFER_SIZE];
typedef ReadCmdSequenceDataByteBuffer *PReadCmdSequenceDataByteBuffer;