123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639 |
- /*
- * odbcinst.h
- *
- * $Id$
- *
- * iODBC Installer defines
- *
- * The iODBC driver manager.
- *
- * Copyright (C) 1996-2021 OpenLink Software <[email protected]>
- * All Rights Reserved.
- *
- * This software is released under the terms of either of the following
- * licenses:
- *
- * - GNU Library General Public License (see LICENSE.LGPL)
- * - The BSD License (see LICENSE.BSD).
- *
- * Note that the only valid version of the LGPL license as far as this
- * project is concerned is the original GNU Library General Public License
- * Version 2, dated June 1991.
- *
- * While not mandated by the BSD license, any patches you make to the
- * iODBC source code may be contributed back into the iODBC project
- * at your discretion. Contributions will benefit the Open Source and
- * Data Access community as a whole. Submissions may be made at:
- *
- * http://www.iodbc.org
- *
- *
- * GNU Library Generic Public License Version 2
- * ============================================
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; only
- * Version 2 of the License dated June 1991.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- *
- * The BSD License
- * ===============
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name of OpenLink Software Inc. nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- #ifndef _ODBCINST_H
- #define _ODBCINST_H
- /*
- * Set default specification to ODBC 3.51
- */
- #ifndef ODBCVER
- #define ODBCVER 0x0351
- #endif
- #ifndef _SQL_H
- #include <sql.h>
- #endif
- #ifndef _SQLEXT_H
- #include <sqlext.h>
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #ifndef EXPORT
- #define EXPORT
- #endif
- #ifndef SYS_ODBCINST_INI
- # if defined(__BEOS__)
- # define SYS_ODBCINST_INI "/boot/beos/etc/odbcinst.ini"
- # endif
- # if defined(macintosh)
- # ifdef __POWERPC__
- # define SYS_ODBCINST_INI "Boot:System Folder:Preferences:ODBC Installer Preferences PPC"
- # else
- # define SYS_ODBCINST_INI "Boot:System Folder:Preferences:ODBC Installer Preferences"
- # endif
- # else
- # define SYS_ODBCINST_INI "/etc/odbcinst.ini"
- # endif
- #endif
- #ifndef SYS_ODBC_INI
- # if defined(__BEOS__)
- # define SYS_ODBC_INI "/boot/beos/etc/odbc.ini"
- # endif
- # if defined(macintosh)
- # ifdef __POWERPC__
- # define SYS_ODBC_INI "Boot:System Folder:Preferences:ODBC Preferences PPC"
- # else
- # define SYS_ODBC_INI "Boot:System Folder:Preferences:ODBC Preferences"
- # endif
- # else
- # define SYS_ODBC_INI "/etc/odbc.ini"
- # endif
- #endif
- #ifndef DEFAULT_FILEDSNPATH
- # if defined(__BEOS__)
- # define DEFAULT_FILEDSNPATH "/boot/beos/etc/ODBCDataSources"
- # elif defined(macintosh)
- # ifdef __POWERPC__
- # define DEFAULT_FILEDSNPATH "Boot:System Folder:Preferences:ODBC Preferences PPC:ODBCDataSources"
- # else
- # define DEFAULT_FILEDSNPATH "Boot:System Folder:Preferences:ODBC Preferences:ODBCDataSources"
- # endif
- # elif defined (__APPLE__)
- # define DEFAULT_FILEDSNPATH "/Library/ODBC/ODBCDataSources"
- # else
- # define DEFAULT_FILEDSNPATH "/etc/ODBCDataSources"
- # endif
- #endif
- #define USERDSN_ONLY 0
- #define SYSTEMDSN_ONLY 1
- #ifdef WIN32
- #define INSTAPI __stdcall
- #else
- #define INSTAPI
- #endif
- /*
- * SQLConfigDataSource
- */
- #define ODBC_ADD_DSN 1
- #define ODBC_CONFIG_DSN 2
- #define ODBC_REMOVE_DSN 3
- #if (ODBCVER >= 0x0250)
- #define ODBC_ADD_SYS_DSN 4
- #define ODBC_CONFIG_SYS_DSN 5
- #define ODBC_REMOVE_SYS_DSN 6
- #if (ODBCVER >= 0x0300)
- #define ODBC_REMOVE_DEFAULT_DSN 7
- #endif /* ODBCVER >= 0x0300 */
- /* install request flags */
- #define ODBC_INSTALL_INQUIRY 1
- #define ODBC_INSTALL_COMPLETE 2
- /* config driver flags */
- #define ODBC_INSTALL_DRIVER 1
- #define ODBC_REMOVE_DRIVER 2
- #define ODBC_CONFIG_DRIVER 3
- #define ODBC_CONFIG_DRIVER_MAX 100
- #endif
- /* SQLGetConfigMode and SQLSetConfigMode flags */
- #if (ODBCVER >= 0x0300)
- #define ODBC_BOTH_DSN 0
- #define ODBC_USER_DSN 1
- #define ODBC_SYSTEM_DSN 2
- #endif /* ODBCVER >= 0x0300 */
- /* SQLInstallerError code */
- #if (ODBCVER >= 0x0300)
- #define ODBC_ERROR_GENERAL_ERR 1
- #define ODBC_ERROR_INVALID_BUFF_LEN 2
- #define ODBC_ERROR_INVALID_HWND 3
- #define ODBC_ERROR_INVALID_STR 4
- #define ODBC_ERROR_INVALID_REQUEST_TYPE 5
- #define ODBC_ERROR_COMPONENT_NOT_FOUND 6
- #define ODBC_ERROR_INVALID_NAME 7
- #define ODBC_ERROR_INVALID_KEYWORD_VALUE 8
- #define ODBC_ERROR_INVALID_DSN 9
- #define ODBC_ERROR_INVALID_INF 10
- #define ODBC_ERROR_REQUEST_FAILED 11
- #define ODBC_ERROR_INVALID_PATH 12
- #define ODBC_ERROR_LOAD_LIB_FAILED 13
- #define ODBC_ERROR_INVALID_PARAM_SEQUENCE 14
- #define ODBC_ERROR_INVALID_LOG_FILE 15
- #define ODBC_ERROR_USER_CANCELED 16
- #define ODBC_ERROR_USAGE_UPDATE_FAILED 17
- #define ODBC_ERROR_CREATE_DSN_FAILED 18
- #define ODBC_ERROR_WRITING_SYSINFO_FAILED 19
- #define ODBC_ERROR_REMOVE_DSN_FAILED 20
- #define ODBC_ERROR_OUT_OF_MEM 21
- #define ODBC_ERROR_OUTPUT_STRING_TRUNCATED 22
- #define ODBC_ERROR_DRIVER_SPECIFIC 23
- #endif /* ODBCVER >= 0x0300 */
- /*
- * Function Prototypes
- */
- BOOL INSTAPI
- SQLGetConfigMode (
- UWORD* pwConfigMode);
- BOOL INSTAPI
- SQLInstallDriverEx (
- LPCSTR lpszDriver,
- LPCSTR lpszPathIn,
- LPSTR lpszPathOut,
- WORD cbPathOutMax,
- WORD* pcbPathOut,
- WORD fRequest,
- LPDWORD lpdwUsageCount);
- BOOL INSTAPI
- SQLInstallDriverExW (
- LPCWSTR lpszDriver,
- LPCWSTR lpszPathIn,
- LPWSTR lpszPathOut,
- WORD cbPathOutMax,
- WORD* pcbPathOut,
- WORD fRequest,
- LPDWORD lpdwUsageCount);
- RETCODE INSTAPI
- SQLInstallerError (
- WORD iError,
- DWORD* pfErrorCode,
- LPSTR lpszErrorMsg,
- WORD cbErrorMsgMax,
- WORD* pcbErrorMsg);
- RETCODE INSTAPI
- SQLInstallerErrorW (
- WORD iError,
- DWORD* pfErrorCode,
- LPWSTR lpszErrorMsg,
- WORD cbErrorMsgMax,
- WORD* pcbErrorMsg);
- RETCODE INSTAPI
- SQLPostInstallerError (
- DWORD fErrorCode,
- LPSTR szErrorMsg);
- RETCODE INSTAPI
- SQLPostInstallerErrorW (
- DWORD fErrorCode,
- LPWSTR szErrorMsg);
- BOOL INSTAPI
- SQLInstallTranslatorEx (
- LPCSTR lpszTranslator,
- LPCSTR lpszPathIn,
- LPSTR lpszPathOut,
- WORD cbPathOutMax,
- WORD* pcbPathOut,
- WORD fRequest,
- LPDWORD lpdwUsageCount);
- BOOL INSTAPI
- SQLInstallTranslatorExW (
- LPCWSTR lpszTranslator,
- LPCWSTR lpszPathIn,
- LPWSTR lpszPathOut,
- WORD cbPathOutMax,
- WORD* pcbPathOut,
- WORD fRequest,
- LPDWORD lpdwUsageCount);
- BOOL INSTAPI
- SQLReadFileDSN (
- LPCSTR lpszFileName,
- LPCSTR lpszAppName,
- LPCSTR lpszKeyName,
- LPSTR lpszString,
- WORD cbString,
- WORD* pcbString);
- BOOL INSTAPI
- SQLReadFileDSNW (
- LPCWSTR lpszFileName,
- LPCWSTR lpszAppName,
- LPCWSTR lpszKeyName,
- LPWSTR lpszString,
- WORD cbString,
- WORD* pcbString);
- BOOL INSTAPI
- SQLWriteFileDSN (
- LPCSTR lpszFileName,
- LPCSTR lpszAppName,
- LPCSTR lpszKeyName,
- LPSTR lpszString);
- BOOL INSTAPI
- SQLWriteFileDSNW (
- LPCWSTR lpszFileName,
- LPCWSTR lpszAppName,
- LPCWSTR lpszKeyName,
- LPWSTR lpszString);
- BOOL INSTAPI
- SQLSetConfigMode (
- UWORD wConfigMode);
- BOOL INSTAPI SQLInstallODBC (
- HWND hwndParent,
- LPCSTR lpszInfFile,
- LPCSTR lpszSrcPath,
- LPCSTR lpszDrivers);
- BOOL INSTAPI SQLInstallODBCW (
- HWND hwndParent,
- LPCWSTR lpszInfFile,
- LPCWSTR lpszSrcPath,
- LPCWSTR lpszDrivers);
- BOOL INSTAPI SQLManageDataSources (HWND hwndParent);
- BOOL INSTAPI SQLCreateDataSource (
- HWND hwndParent,
- LPCSTR lpszDSN);
- BOOL INSTAPI SQLCreateDataSourceW (
- HWND hwndParent,
- LPCWSTR lpszDSN);
- BOOL INSTAPI SQLGetTranslator (
- HWND hwnd,
- LPSTR lpszName,
- WORD cbNameMax,
- WORD * pcbNameOut,
- LPSTR lpszPath,
- WORD cbPathMax,
- WORD * pcbPathOut,
- DWORD * pvOption);
- BOOL INSTAPI SQLGetTranslatorW (
- HWND hwnd,
- LPWSTR lpszName,
- WORD cbNameMax,
- WORD * pcbNameOut,
- LPWSTR lpszPath,
- WORD cbPathMax,
- WORD * pcbPathOut,
- DWORD * pvOption);
- /* Low level APIs
- * NOTE: The high-level APIs should always be used. These APIs
- * have been left for compatibility.
- */
- BOOL INSTAPI SQLInstallDriver (
- LPCSTR lpszInfFile,
- LPCSTR lpszDriver,
- LPSTR lpszPath,
- WORD cbPathMax,
- WORD * pcbPathOut);
- BOOL INSTAPI SQLInstallDriverW (
- LPCWSTR lpszInfFile,
- LPCWSTR lpszDriver,
- LPWSTR lpszPath,
- WORD cbPathMax,
- WORD * pcbPathOut);
- BOOL INSTAPI SQLInstallDriverManager (
- LPSTR lpszPath,
- WORD cbPathMax,
- WORD * pcbPathOut);
- BOOL INSTAPI SQLInstallDriverManagerW (
- LPWSTR lpszPath,
- WORD cbPathMax,
- WORD * pcbPathOut);
- BOOL INSTAPI SQLGetInstalledDrivers (
- LPSTR lpszBuf,
- WORD cbBufMax,
- WORD * pcbBufOut);
- BOOL INSTAPI SQLGetInstalledDriversW (
- LPWSTR lpszBuf,
- WORD cbBufMax,
- WORD * pcbBufOut);
- BOOL INSTAPI SQLGetAvailableDrivers (
- LPCSTR lpszInfFile,
- LPSTR lpszBuf,
- WORD cbBufMax,
- WORD * pcbBufOut);
- BOOL INSTAPI SQLGetAvailableDriversW (
- LPCWSTR lpszInfFile,
- LPWSTR lpszBuf,
- WORD cbBufMax,
- WORD * pcbBufOut);
- BOOL INSTAPI SQLConfigDataSource (
- HWND hwndParent,
- WORD fRequest,
- LPCSTR lpszDriver,
- LPCSTR lpszAttributes);
- BOOL INSTAPI SQLConfigDataSourceW (
- HWND hwndParent,
- WORD fRequest,
- LPCWSTR lpszDriver,
- LPCWSTR lpszAttributes);
- BOOL INSTAPI SQLRemoveDefaultDataSource (void);
- BOOL INSTAPI SQLWriteDSNToIni (
- LPCSTR lpszDSN,
- LPCSTR lpszDriver);
- BOOL INSTAPI SQLWriteDSNToIniW (
- LPCWSTR lpszDSN,
- LPCWSTR lpszDriver);
- BOOL INSTAPI SQLRemoveDSNFromIni (LPCSTR lpszDSN);
- BOOL INSTAPI SQLRemoveDSNFromIniW (LPCWSTR lpszDSN);
- BOOL INSTAPI SQLValidDSN (LPCSTR lpszDSN);
- BOOL INSTAPI SQLValidDSNW (LPCWSTR lpszDSN);
- BOOL INSTAPI SQLWritePrivateProfileString (
- LPCSTR lpszSection,
- LPCSTR lpszEntry,
- LPCSTR lpszString,
- LPCSTR lpszFilename);
- BOOL INSTAPI SQLWritePrivateProfileStringW (
- LPCWSTR lpszSection,
- LPCWSTR lpszEntry,
- LPCWSTR lpszString,
- LPCWSTR lpszFilename);
- int INSTAPI SQLGetPrivateProfileString (
- LPCSTR lpszSection,
- LPCSTR lpszEntry,
- LPCSTR lpszDefault,
- LPSTR lpszRetBuffer,
- int cbRetBuffer,
- LPCSTR lpszFilename);
- int INSTAPI SQLGetPrivateProfileStringW (
- LPCWSTR lpszSection,
- LPCWSTR lpszEntry,
- LPCWSTR lpszDefault,
- LPWSTR lpszRetBuffer,
- int cbRetBuffer,
- LPCWSTR lpszFilename);
- BOOL INSTAPI SQLRemoveDriverManager (LPDWORD lpdwUsageCount);
- BOOL INSTAPI SQLInstallTranslator (
- LPCSTR lpszInfFile,
- LPCSTR lpszTranslator,
- LPCSTR lpszPathIn,
- LPSTR lpszPathOut,
- WORD cbPathOutMax,
- WORD * pcbPathOut,
- WORD fRequest,
- LPDWORD lpdwUsageCount);
- BOOL INSTAPI SQLInstallTranslatorW (
- LPCWSTR lpszInfFile,
- LPCWSTR lpszTranslator,
- LPCWSTR lpszPathIn,
- LPWSTR lpszPathOut,
- WORD cbPathOutMax,
- WORD * pcbPathOut,
- WORD fRequest,
- LPDWORD lpdwUsageCount);
- BOOL INSTAPI SQLRemoveTranslator (
- LPCSTR lpszTranslator,
- LPDWORD lpdwUsageCount);
- BOOL INSTAPI SQLRemoveTranslatorW (
- LPCWSTR lpszTranslator,
- LPDWORD lpdwUsageCount);
- BOOL INSTAPI SQLRemoveDriver (
- LPCSTR lpszDriver,
- BOOL fRemoveDSN,
- LPDWORD lpdwUsageCount);
- BOOL INSTAPI SQLRemoveDriverW (
- LPCWSTR lpszDriver,
- BOOL fRemoveDSN,
- LPDWORD lpdwUsageCount);
- BOOL INSTAPI SQLConfigDriver (
- HWND hwndParent,
- WORD fRequest,
- LPCSTR lpszDriver,
- LPCSTR lpszArgs,
- LPSTR lpszMsg,
- WORD cbMsgMax,
- WORD * pcbMsgOut);
- BOOL INSTAPI SQLConfigDriverW (
- HWND hwndParent,
- WORD fRequest,
- LPCWSTR lpszDriver,
- LPCWSTR lpszArgs,
- LPWSTR lpszMsg,
- WORD cbMsgMax,
- WORD * pcbMsgOut);
- /* Driver specific Setup APIs called by installer */
- typedef BOOL INSTAPI (*pConfigDSNFunc) (
- HWND hwndParent,
- WORD fRequest,
- LPCSTR lpszDriver,
- LPCSTR lpszAttributes);
- typedef BOOL INSTAPI (*pConfigDSNWFunc) (
- HWND hwndParent,
- WORD fRequest,
- LPCWSTR lpszDriver,
- LPCWSTR lpszAttributes);
- typedef BOOL INSTAPI (*pConfigDriverFunc) (
- HWND hwndParent,
- WORD fRequest,
- LPCSTR lpszDriver,
- LPCSTR lpszArgs,
- LPSTR lpszMsg,
- WORD cbMsgMax,
- WORD * pcbMsgOut);
- typedef BOOL INSTAPI (*pConfigDriverWFunc) (
- HWND hwndParent,
- WORD fRequest,
- LPCWSTR lpszDriver,
- LPCWSTR lpszArgs,
- LPWSTR lpszMsg,
- WORD cbMsgMax,
- WORD * pcbMsgOut);
- typedef BOOL INSTAPI (*pConfigTranslatorFunc) (
- HWND hwndParent,
- DWORD *pvOption);
- BOOL INSTAPI ConfigDSN (
- HWND hwndParent,
- WORD fRequest,
- LPCSTR lpszDriver,
- LPCSTR lpszAttributes);
- BOOL INSTAPI ConfigDSNW (
- HWND hwndParent,
- WORD fRequest,
- LPCWSTR lpszDriver,
- LPCWSTR lpszAttributes);
- BOOL INSTAPI ConfigTranslator (HWND hwndParent,
- DWORD * pvOption);
- BOOL INSTAPI ConfigDriver (
- HWND hwndParent,
- WORD fRequest,
- LPCSTR lpszDriver,
- LPCSTR lpszArgs,
- LPSTR lpszMsg,
- WORD cbMsgMax,
- WORD * pcbMsgOut);
- BOOL INSTAPI ConfigDriverW (
- HWND hwndParent,
- WORD fRequest,
- LPCWSTR lpszDriver,
- LPCWSTR lpszArgs,
- LPWSTR lpszMsg,
- WORD cbMsgMax,
- WORD * pcbMsgOut);
- #ifndef SQL_NOUNICODEMAP
- #ifdef UNICODE
- #define SQLInstallODBC SQLInstallODBCW
- #define SQLCreateDataSource SQLCreateDataSourceW
- #define SQLGetTranslator SQLGetTranslatorW
- #define SQLInstallDriver SQLInstallDriverW
- #define SQLInstallDriverManager SQLInstallDriverManagerW
- #define SQLGetInstalledDrivers SQLGetInstalledDriversW
- #define SQLGetAvailableDrivers SQLGetAvailableDriversW
- #define SQLConfigDataSource SQLConfigDataSourceW
- #define SQLWriteDSNToIni SQLWriteDSNToIniW
- #define SQLRemoveDSNFromIni SQLRemoveDSNFromIniW
- #define SQLValidDSN SQLValidDSNW
- #define SQLWritePrivateProfileString SQLWritePrivateProfileStringW
- #define SQLGetPrivateProfileString SQLGetPrivateProfileStringW
- #define SQLInstallTranslator SQLInstallTranslatorW
- #define SQLRemoveTranslator SQLRemoveTranslatorW
- #define SQLRemoveDriver SQLRemoveDriverW
- #define SQLConfigDriver SQLConfigDriverW
- #define SQLInstallerError SQLInstallerErrorW
- #define SQLPostInstallerError SQLPostInstallerErrorW
- #define SQLReadFileDSN SQLReadFileDSNW
- #define SQLWriteFileDSN SQLWriteFileDSNW
- #define SQLInstallDriverEx SQLInstallDriverExW
- #define SQLInstallTranslatorEx SQLInstallTranslatorExW
- #endif /* UNICODE */
- #endif /* SQL_NOUNICODEMAP */
- #ifdef __cplusplus
- }
- #endif
- #endif /* _ODBCINST_H */
|