IBM Sync Client C-API data types

ǥ 119 lists the new data types defined by the IBM Sync Client C-API. When calling the C-API functions, make sure that the argument type complies with the prototype of the functions.


ǥ 119. Data types for IBM Sync Client C-API

Data type Description
isy_VOID Void type
isy_INT Integer
isy_UINT Unsigned integer
isy_INT16 Two-byte integer
isy_UINT16 Two-byte unsigned integer
isy_INT32 Four-byte integer
isy_UINT32 Four-byte unsigned integer
isy_ULONG Unsigned long integer
isy_BYTE One-byte type
isy_WORD One-word type
isy_DWORD Two-word type
isy_TCHAR Character type
isy_BOOL Boolean type
HISCSERV Data type of the service handle
HISCCONF Data type of the config handle
HISCENG Data type of the synchronization engine handle
HISCCSR Data type of an iterating cursor for subscription sets
ISCEVT Data type of a listener event:
typedef struct {  
    isy_INT32       code; 
    isy_UINT32      type; 
    isy_INT32       retry; 
    ISCSTATE        state; 
    ISCLISTENARG   *info;  
} ISCEVT;
ISCSTATE Data type of the event state:
typedef struct {
    isy_TCHAR      currSubsSet[ISCLEN_SubsSetName];
    isy_TCHAR      currSubs[ISCLEN_SubsName];
    isy_UINT32     subsType;
    isy_INT32      syncProg;
} ISCSTATE;
ISCLISTENARG Data type of information for the sync listener and consists of a list of string arguments (argc, argv):
typedef struct {
    isy_INT32       argc;
    isy_TCHAR     **argv;
} ISCLISTENARG;
 
ISCLISTENCOLUMN Data type of information for the sync listener and consists of a table column that contains the column position, primary key sequence, column type, data size, and the actual column data:
typedef struct {
    isy_INT32       pos;
    isy_INT32       pkseq;
    isy_INT32       type;
    isy_INT32       size;
    isy_BYTE       *data;
} ISCLISTENCOLUMN;

Various column type constants for the column type are defined in a DB2 Everyplace header file, sqlcli.h. The column data is represented as a null-terminated text string. This is true except for the blob column type where the actual column data (the data field) is represented as a plain byte string and is NOT null-terminated. In addition, its size ( # of bytes) is given in the size field.

ISCLISTENCONFLICT Data type of information for the sync listener and consists of a table record that contains the table name, operation, the number of columns, and an array of column information (ISCLISTENCOLUMN):
typedef struct {
    isy_TCHAR        table[ISCLEN_Table];
    isy_INT32        op;
    isy_INT32        colc;
    ISCLISTENCOLUMN *colv;
} ISCLISTENCONFLICT;

The op field indicates the rejected operation, which is one of the following operation constants(with actual values in the parenthesis):

  • ISCCONST_OpDelete (1)
  • ISCCONST_OpInsert (2)
  • ISCCONST_OpUpdate (3)

Related concepts

Related tasks

Related reference