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 (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 Read
CmdSequenceDataByteBuffer[MAX_READ_CMDS_DATA_BYTES_BUFFER_SIZE];
typedef Read
CmdSequenceDataByteBuffer *PReadCmdSequenceDataByteBuffer;