Suffix-W API function syntax

Db2 for z/OS® supports function prototypes for suffix-W APIs, which have slight differences from generic APIs.

The following table compares the function prototypes for suffix-W APIs that Db2 for z/OS supports with the function prototypes of their generic counterparts. The differences of the suffix-W function prototypes from the generic function prototypes are highlighted in bold.
Table 1. Comparison of suffix-W APIs to equivalent generic APIs
Generic APIs Suffix-W APIs
SQLRETURN SQLBindFileToCol (
SQLHSTMT          hstmt,
SQLUSMALLINT      icol,
SQLCHAR           *FileName,
SQLSMALLINT       *FileNameLength,
SQLUINTEGER       *FileOptions,
SQLSMALLINT       MaxFileNameLength,
SQLINTEGER        *StringLength,
SQLINTEGER        *IndicatorValue);
SQLRETURN SQLBindFileToColW (
SQLHSTMT          hstmt,
SQLUSMALLINT      icol,
SQLWCHAR          *FileName,
SQLSMALLINT       *FileNameLength,
SQLUINTEGER       *FileOptions,
SQLSMALLINT       MaxFileNameLength,
SQLINTEGER        *StringLength,
SQLINTEGER        *IndicatorValue);
SQLRETURN SQLBindFileToParam (
SQLHSTMT          hstmt,
SQLUSMALLINT      TargetType,
SQLSMALLINT       DataType,
SQLCHAR           *FileName,              
SQLSMALLINT       *FileNameLength,              
SQLUINTEGER       *FileOptions,              
SQLSMALLINT       MaxFileNameLength,              
SQLINTEGER        *IndicatorValue);
SQLRETURN SQLBindFileToParamW (
SQLHSTMT hstmt,
SQLUSMALLINT TargetType,
SQLSMALLINT DataType,
SQLWCHAR *FileName, 
SQLSMALLINT *FileNameLength, 
SQLUINTEGER *FileOptions, 
SQLSMALLINT MaxFileNameLength, 
SQLINTEGER *IndicatorValue);
SQLRETURN SQLColAttributes (
SQLHSTMT hstmt,
SQLUSMALLINT icol,
SQLUSMALLINT fDescType,
SQLPOINTER rgbDesc,
SQLSMALLINT cbDescMax,
SQLSMALLINT *pcbDesc,
SQLINTEGER *pfDesc );
SQLRETURN SQLColAttributesW (
SQLHSTMT hstmt,
SQLUSMALLINT icol,
SQLUSMALLINT fDescType,
SQLPOINTER rgbDesc,
SQLSMALLINT cbDescMax,
SQLSMALLINT *pcbDesc,
SQLINTEGER *pfDesc );
SQLRETURN SQLColumns (
SQLHSTMT hstmt
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLCHAR *szColumnsName,
SQLSMALLINT cbColumnName )
SQLRETURN SQLColumnsW (
SQLHSTMT hstmt
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR*szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLWCHAR *szColumnsName,
SQLSMALLINT cbColumnName );
SQLRETURN SQLColumnPrivileges (
SQLHSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLCHAR *szColumnsName,
SQLSMALLINT cbColumnName );
SQLRETURN SQLColumnPrivilegesW (
SQLHSTMT hstmt
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLWCHAR *szColumnsName,
SQLSMALLINT cbColumnName );
SQLRETURN SQLConnect (
SQLHDBC hdbc,
SQLCHAR *szDSN,
SQLSMALLINT cbDSN,
SQLCHAR *szUID,
SQLSMALLINT cbUID,
SQLCHAR *szAuthStr,
SQLSMALLINT cbAuthStr );
SQLRETURN SQLConnectW (
SQLHDBC hdbc,
SQLWCHAR *szDSN,
SQLSMALLINT cbDSN,
SQLWCHAR *szUID,
SQLSMALLINT cbUID,
SQLWCHAR *szAuthStr,
SQLSMALLINT cbAuthStr );
SQLRETURN SQLDataSources (
SQLHENV henv,
SQLUSMALLINT fDirection,
SQLCHAR *szDSN,
SQLSMALLINT cbDSNMax,
SQLSMALLINT *pcbDSN,
SQLCHAR *szDescription,
SQLSMALLINT cbDescriptionMax,
SQLSMALLINT *pcbDescription );
SQLRETURN SQLDataSourcesW (
SQLHENV henv,
SQLUSMALLINT fDirection,
SQLWCHAR *szDSN,
SQLSMALLINT cbDSNMax,
SQLSMALLINT *pcbDSN,
SQLWCHAR *szDescription,
SQLSMALLINT cbDescriptionMax,
SQLSMALLINT *pcbDescription );
SQLRETURN SQLDescribeCol (
SQLHSTMT hstmt,
SQLUSMALLINT icol,
SQLCHAR *szColName,
SQLSMALLINT cbColNameMax,
SQLSMALLINT *pcbColName,
SQLSMALLINT *pfSqlType,
SQLUINTEGER *pcbColDef,
SQLSMALLINT *pibScale,
SQLSMALLINT *pfNullable );
SQLRETURN SQLDescribeColW (
SQLHSTMT hstmt,
SQLUSMALLINT icol,
SQLWCHAR *szColName,
SQLSMALLINT cbColNameMax,
SQLSMALLINT *pcbColName,
SQLSMALLINT *pfSqlType,
SQLUINTEGER *pcbColDef,
SQLSMALLINT *pibScale,
SQLSMALLINT *pfNullable );
SQLRETURN SQLDriverConnect (
SQLHDBC hdbc,
SQLHWND hwnd,
SQLCHAR *szConnStrIn,
SQLSMALLINT cbConnStrIn,
SQLCHAR *szConnStrOut,
SQLSMALLINT cbConnStrOutMax,
SQLSMALLINT pcbConnStrOut,
SQLUSMALLINT fDriverCompletion );
SQLRETURN SQLDriverConnectW (
SQLHDBC hdbc,
SQLHWND hwnd,
SQLWCHAR *szConnStrIn,
SQLSMALLINT cbConnStrIn,
SQLWCHAR *szConnStrOut,
SQLSMALLINT cbConnStrOutMax,
SQLSMALLINT pcbConnStrOut,
SQLUSMALLINT fDriverCompletion );
SQLRETURN SQLError (
SQLHENV henv,
SQLHDBC hdbc,
SQLHSTMT hstmt,
SQLCHAR *szSqlState,
SQLINTEGER *pfNativeError,
SQLCHAR *szErrorMsg,
SQLSMALLINT cbErrorMsgMax,
SQLSMALLINT *pcbErrorMsg );
SQLRETURN SQLErrorW (
SQLHENV henv,
SQLHDBC hdbc,
SQLHSTMT hstmt,
SQLWCHAR *szSqlState,
SQLINTEGER *pfNativeError,
SQLWCHAR *szErrorMsg,
SQLSMALLINT cbErrorMsgMax,
SQLSMALLINT *pcbErrorMsg );
SQLRETURN SQLExecDirect (
SQLHSTMT hstmt,
SQLCHAR *szSqlStr,
SQLINTEGER cbSqlStr );
SQLRETURN SQLExecDirectW (
SQLHSTMT hstmt,
SQLWCHAR *szSqlStr,
SQLINTEGER cbSqlStr );
SQLRETURN SQLForeignKeys (
SQLHSTMT hstmt,|
SQLCHAR *szPkCatalogName,
SQLSMALLINT :cbPkCatalogName,
SQLCHAR *szPkSchemaName,
SQLSMALLINT :cbPkSchemaName,
SQLCHAR *szPkTableName,
SQLSMALLINT :cbPkTableName,
SQLCHAR *szFkCatalogName,
SQLSMALLINT :cbFkCatalogName,
SQLCHAR *szFkSchemaName,
SQLSMALLINT :cbFkSchemaName,
SQLCHAR *szFkTableName,
SQLSMALLINT :cbFkTableName );
SQLRETURN SQLForeignKeysW (
SQLHSTMT hstmt,|
SQLWCHAR *szPkCatalogName,
SQLSMALLINT :cbPkCatalogName,
SQLWCHAR *szPkSchemaName,
SQLSMALLINT :cbPkSchemaName,
SQLWCHAR *szPkTableName,
SQLSMALLINT :cbPkTableName,
SQLWCHAR *szFkCatalogName,
SQLSMALLINT :cbFkCatalogName,
SQLWCHAR *szFkSchemaName,
SQLSMALLINT :cbFkSchemaName,
SQLWCHAR *szFkTableName,
SQLSMALLINT :cbFkTableName );
SQLRETURN SQLGetConnectOption (
SQLHDBC hdbc,
SQLUSMALLINT fOption,
SQLUINTEGER pvParam );
SQLRETURN SQLGetConnectOptionW (
SQLHDBC hdbc,
SQLUSMALLINT fOption,
SQLUINTEGER pvParam );
SQLRETURN SQLGetCursorName (
SQLHSTMT hstmt,
SQLCHAR *szCursor,
SQLSMALLINT cbCursorMax,
SQLSMALLINT *pcbCursor );
SQLRETURN SQLGetCursorNameW (
SQLHSTMT hstmt,
SQLWCHAR *szCursor,
SQLSMALLINT cbCursorMax,
SQLSMALLINT *pcbCursor );
SQLRETURN SQLGetDiagRec (
SQLSMALLINT      HandleType,
SQLHANDLE        Handle,
SQLSMALLINT      RecNumber,
SQLCHAR          *SQLState,
SQLINTEGER       *NativeErrorPtr,
SQLCHAR          *MessageText,
SQLSMALLINT      BufferLength,
SQLSMALLINT      *TextLengthPtr );
SQLRETURN SQLGetDiagRecW (
SQLSMALLINT      HandleType,
SQLHANDLE        Handle,
SQLSMALLINT      RecNumber,
SQLWCHAR         *SQLState,
SQLINTEGER       *NativeErrorPtr,
SQLWCHAR         *MessageText,
SQLSMALLINT      BufferLength,
SQLSMALLINT      *TextLengthPtr );
SQLRETURN SQLGetInfo (
SQLHDBC hdbc,
SQLUSMALLINT fInfoType,
SQLPOINTER rgbInfoValue,
SQLSMALLINT cbInfoValueMax,
SQLSMALLINT *pcbInfoValue );
SQLRETURN SQLGetInfoW (
SQLHDBC hdbc,
SQLUSMALLINT fInfoType,
SQLPOINTER rgbInfoValue,
SQLSMALLINT cbInfoValueMax,
SQLSMALLINT *pcbInfoValue );
SQLRETURN SQLGetStmtOption (
SQLHSTMT hstmt,
SQLUSMALLINT fOption,
SQLPOINTER pvParam );
SQLRETURN SQLGetStmtOptionW(
SQLHSTMT hstmt,
SQLUSMALLINT fOption,
SQLPOINTER pvParam );
SQLRETURN SQLGetTypeInfo (
SQLHSTMT hstmt,
SQLSMALLINT fSqlType );
SQLRETURN SQLGetTypeInfoW (
SQLHSTMT hstmt,
SQLSMALLINT fSqlType );
SQLRETURN SQLNativeSql (
SQLHDBC hdbc,
SQLCHAR *szSqlStrIn,
SQLINTEGER cbSqlStrIn,
SQLCHAR *szSqlStr,
SQLINTEGER cbSqlStrMax,
SQLINTEGER *pcbSqlStr );
SQLRETURN SQLNativeSqlW (
SQLHDBC hdbc,
SQLWCHAR *szSqlStrIn,
SQLINTEGER cbSqlStrIn,
SQLWCHAR *szSqlStr,
SQLINTEGER cbSqlStrMax,
SQLINTEGER *pcbSqlStr );
SQLRETURN SQLPrepare (
SQLHSTMT hstmt,
SQLCHAR *szSqlStr,
SQLINTEGER cbSqlStr );
SQLRETURN SQLPrepareW (
SQLHSTMT hstmt,
SQLWCHAR *szSqlStr,
SQLINTEGER cbSqlStr );
SQLRETURN SQLPrimaryKeys (
SQLHSTMT hstmt,
SQLCHAR *szCatalogName,
SQLSMALLINT :cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT :cbSchemaName,
SQLCHAR *szTableName,
SQLSMALLINT :cbTableName );
SQLRETURN SQLPrimaryKeysW (
SQLHSTMT hstmt,
SQLWCHAR *szCatalogName,
SQLSMALLINT :cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT :cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT :cbTableName );
SQLRETURN SQLProcedureColumns (
SQLHSTMT hstmt,
SQLCHAR *szProcCatalog,
SQLSMALLINT cbProcCatalog,
SQLCHAR *szProcSchema,
SQLSMALLINT cbProcSchema,
SQLCHAR *szProcName,
SQLSMALLINT cbProcName,
SQLCHAR *szColumnName,
SQLSMALLINT cbColumnName );
SQLRETURN SQLProcedureColumnsW (
SQLHSTMT hstmt,
SQLWCHAR *szProcCatalog,
SQLSMALLINT cbProcCatalog,
SQLWCHAR *szProcSchema,
SQLSMALLINT cbProcSchema,
SQLWCHAR *szProcName,
SQLSMALLINT cbProcName,
SQLWCHAR *szColumnName,
SQLSMALLINT cbColumnName );
SQLRETURN SQLProcedures (
SQLHSTMT hstmt,
SQLCHAR *szProcCatalog,
SQLSMALLINT cbProcCatalog,
SQLCHAR *szProcSchema,
SQLSMALLINT cbProcSchema,
SQLCHAR *szProcName,
SQLSMALLINT cbProcName );
SQLRETURN SQLProceduresW (
SQLHSTMT hstmt,
SQLWCHAR *szProcCatalog,
SQLSMALLINT cbProcCatalog,
SQLWCHAR *szProcSchema,
SQLSMALLINT cbProcSchema,
SQLWCHAR *szProcName,
SQLSMALLINT cbProcName );
SQLRETURN SQLSetConnectOption (
SQLHDBC hdbc,
SQLUSMALLINT fOption,
SQLPOINTER pvParam );
SQLRETURN SQLSetConnectOptionW (
SQLHDBC hdbc,
SQLUSMALLINT fOption,
SQLPOINTER pvParam );
SQLRETURN SQLSetCursorName (
SQLHSTMT hstmt,
SQLCHAR *szCursor,
SQLSMALLINT cbCursor );
SQLRETURN SQLSetCursorNameW (
SQLHSTMT hstmt,
SQLWCHAR *szCursor,
SQLSMALLINT cbCursor );
SQLRETURN SQLSetStmtOption (
SQLHSTMT hstmt,
SQLUSMALLINT fOption
SQLUINTEGER pvParam );
SQLRETURN SQLSetStmtOptionW (
SQLHSTMT hstmt,
SQLUSMALLINT fOption
SQLUINTEGER pvParam );
SQLRETURN SQLSpecialColumns (
SQLHSTMT hstmt
SQLUSMALLINT fColType,
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLUSMALLINT fScope,
SQLUSMALLINT fNullable );
SQLRETURN SQLSpecialColumnsW (
SQLHSTMT hstmt
SQLUSMALLINT fColType,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLUSMALLINT fScope,
SQLUSMALLINT fNullable );
SQLRETURN SQLStatistics(
SQLHSTMT hstmt
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLUSMALLINT fUnique,
SQLUSMALLINT fAccuracy );
SQLRETURN SQLStatisticsW (
SQLHSTMT hstmt
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLUSMALLINT fUnique,
SQLUSMALLINT fAccuracy );
SQLRETURN SQLTablePrivileges (
SQLHSTMT hstmt
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLCHAR *szTableName,
SQLSMALLINT cbTableName );
SQLRETURN SQLTablePrivilegesW (
SQLHSTMT hstmt
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName );
SQLRETURN SQLTables (
SQLHSTMT hstmt
SQLCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLCHAR *szTableType,
SQLSMALLINT cbTableType );
SQLRETURN SQLTablesW (
SQLHSTMT hstmt
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLWCHAR *szTableType,
SQLSMALLINT cbTableType );