dlg_specific.h
来自「postgresql-odbc,跨平台应用」· C头文件 代码 · 共 285 行
H
285 行
/* File: dlg_specific.h * * Description: See "dlg_specific.c" * * Comments: See "notice.txt" for copyright and license information. * */#ifndef __DLG_SPECIFIC_H__#define __DLG_SPECIFIC_H__#include "psqlodbc.h"#include "connection.h"#ifdef WIN32#include <windowsx.h>#include "resource.h"#endif#ifdef __cplusplusextern "C" {#endif /* __cplusplus *//* Unknown data type sizes */#define UNKNOWNS_AS_MAX 0#define UNKNOWNS_AS_DONTKNOW 1#define UNKNOWNS_AS_LONGEST 2/* ODBC initialization files */#ifndef WIN32#define ODBC_INI ".odbc.ini"#define ODBCINST_INI "odbcinst.ini"#else#define ODBC_INI "ODBC.INI"#define ODBCINST_INI "ODBCINST.INI"#endif#define ODBC_DATASOURCES "ODBC Data Sources"#if (ODBCVER >= 0x0300)#ifdef UNICODE_SUPPORT#define INI_DSN "PostgreSQL30W"#else#define INI_DSN "PostgreSQL30"#endif /* UNICODE_SUPPORT */#else#define INI_DSN DBMS_NAME#endif /* ODBCVER */#define INI_KDESC "Description" /* Data source * description */#define INI_SERVER "Servername" /* Name of Server * running the Postgres * service */#define SPEC_SERVER "server"#define INI_PORT "Port" /* Port on which the * Postmaster is listening */#define INI_DATABASE "Database" /* Database Name */#define INI_UID "UID" /* Default User Name */#define INI_USER "Username" /* Default User Name */#define INI_PASSWORD "Password" /* Default Password */#define INI_ABBREVIATE "CX"#define INI_DEBUG "Debug" /* Debug flag */#define ABBR_DEBUG "B2"#define INI_FETCH "Fetch" /* Fetch Max Count */#define ABBR_FETCH "A7"#define INI_SOCKET "Socket" /* Socket buffer size */#define ABBR_SOCKET "A8"#define INI_READONLY "ReadOnly" /* Database is read only */#define ABBR_READONLY "A0"#define INI_COMMLOG "CommLog" /* Communication to * backend logging */#define ABBR_COMMLOG "B3"#define INI_PROTOCOL "Protocol" /* What protocol (6.2) */#define ABBR_PROTOCOL "A1"#define INI_OPTIMIZER "Optimizer" /* Use backend genetic * optimizer */#define ABBR_OPTIMIZER "B4"#define INI_KSQO "Ksqo" /* Keyset query * optimization */#define ABBR_KSQO "B5"#define INI_CONNSETTINGS "ConnSettings" /* Anything to send to * backend on successful * connection */#define ABBR_CONNSETTINGS "A6"#define INI_UNIQUEINDEX "UniqueIndex" /* Recognize unique * indexes */#define INI_UNKNOWNSIZES "UnknownSizes" /* How to handle unknown * result set sizes */#define ABBR_UNKNOWNSIZES "A9"#define INI_CANCELASFREESTMT "CancelAsFreeStmt"#define ABBR_CANCELASFREESTMT "C1"#define INI_USEDECLAREFETCH "UseDeclareFetch" /* Use Declare/Fetch * cursors */#define ABBR_USEDECLAREFETCH "B6"/* More ini stuff */#define INI_TEXTASLONGVARCHAR "TextAsLongVarchar"#define ABBR_TEXTASLONGVARCHAR "B7"#define INI_UNKNOWNSASLONGVARCHAR "UnknownsAsLongVarchar"#define ABBR_UNKNOWNSASLONGVARCHAR "B8"#define INI_BOOLSASCHAR "BoolsAsChar"#define ABBR_BOOLSASCHAR "B9"#define INI_MAXVARCHARSIZE "MaxVarcharSize"#define ABBR_MAXVARCHARSIZE "B0"#define INI_MAXLONGVARCHARSIZE "MaxLongVarcharSize"#define ABBR_MAXLONGVARCHARSIZE "B1"#define INI_FAKEOIDINDEX "FakeOidIndex"#define ABBR_FAKEOIDINDEX "A2"#define INI_SHOWOIDCOLUMN "ShowOidColumn"#define ABBR_SHOWOIDCOLUMN "A3"#define INI_ROWVERSIONING "RowVersioning"#define ABBR_ROWVERSIONING "A4"#define INI_SHOWSYSTEMTABLES "ShowSystemTables"#define ABBR_SHOWSYSTEMTABLES "A5"#define INI_LIE "Lie"#define INI_PARSE "Parse"#define ABBR_PARSE "C0"#define INI_EXTRASYSTABLEPREFIXES "ExtraSysTablePrefixes"#define ABBR_EXTRASYSTABLEPREFIXES "C2"#define INI_TRANSLATIONNAME "TranslationName"#define INI_TRANSLATIONDLL "TranslationDLL"#define INI_TRANSLATIONOPTION "TranslationOption"#define INI_DISALLOWPREMATURE "DisallowPremature"#define ABBR_DISALLOWPREMATURE "C3"#define INI_UPDATABLECURSORS "UpdatableCursors"#define ABBR_UPDATABLECURSORS "C4"#define INI_LFCONVERSION "LFConversion"#define ABBR_LFCONVERSION "C5"#define INI_TRUEISMINUS1 "TrueIsMinus1"#define ABBR_TRUEISMINUS1 "C6"#define INI_INT8AS "BI"#define INI_BYTEAASLONGVARBINARY "ByteaAsLongVarBinary"#define ABBR_BYTEAASLONGVARBINARY "C7"#define INI_USESERVERSIDEPREPARE "UseServerSidePrepare"#define ABBR_USESERVERSIDEPREPARE "C8"#define INI_LOWERCASEIDENTIFIER "LowerCaseIdentifier"#define ABBR_LOWERCASEIDENTIFIER "C9"#define INI_SSLMODE "SSLmode"#define ABBR_SSLMODE "CA"#define INI_EXTRAOPTIONS "AB"#define SSLMODE_DISABLE "disable"#define SSLMODE_ALLOW "allow"#define SSLMODE_PREFER "prefer"#define SSLMODE_REQUIRE "require"#ifdef _HANDLE_ENLIST_IN_DTC_#define INI_XAOPT "XaOpt"const char *GetXaLibPath();#endif /* _HANDLE_ENLIST_IN_DTC_ *//* Bit representaion for abbreviated connection strings */#define BIT_LFCONVERSION (1L)#define BIT_UPDATABLECURSORS (1L<<1)#define BIT_DISALLOWPREMATURE (1L<<2)#define BIT_UNIQUEINDEX (1L<<3)#define BIT_PROTOCOL_63 (1L<<4)#define BIT_PROTOCOL_64 (1L<<5)#define BIT_UNKNOWN_DONTKNOW (1L<<6)#define BIT_UNKNOWN_ASMAX (1L<<7)#define BIT_OPTIMIZER (1L<<8)#define BIT_KSQO (1L<<9)#define BIT_COMMLOG (1L<<10)#define BIT_DEBUG (1L<<11)#define BIT_PARSE (1L<<12)#define BIT_CANCELASFREESTMT (1L<<13)#define BIT_USEDECLAREFETCH (1L<<14)#define BIT_READONLY (1L<<15)#define BIT_TEXTASLONGVARCHAR (1L<<16)#define BIT_UNKNOWNSASLONGVARCHAR (1L<<17)#define BIT_BOOLSASCHAR (1L<<18)#define BIT_ROWVERSIONING (1L<<19)#define BIT_SHOWSYSTEMTABLES (1L<<20)#define BIT_SHOWOIDCOLUMN (1L<<21)#define BIT_FAKEOIDINDEX (1L<<22)#define BIT_TRUEISMINUS1 (1L<<23)#define BIT_BYTEAASLONGVARBINARY (1L<<24)#define BIT_USESERVERSIDEPREPARE (1L<<25)#define BIT_LOWERCASEIDENTIFIER (1L<<26)#define EFFECTIVE_BIT_COUNT 27/* Mask for extra options */#define BIT_FORCEABBREVCONNSTR 1L#define BIT_FAKE_MSS (1L << 1)#define BIT_BDE_ENVIRONMENT (1L << 2)#define BIT_CVT_NULL_DATE (1L << 3)/* Connection Defaults */#define DEFAULT_PORT "5432"#define DEFAULT_READONLY 0#define DEFAULT_PROTOCOL "7.4" /* the latest protocol is * the default */#define DEFAULT_USEDECLAREFETCH 0#define DEFAULT_TEXTASLONGVARCHAR 1#define DEFAULT_UNKNOWNSASLONGVARCHAR 0#define DEFAULT_BOOLSASCHAR 1#define DEFAULT_OPTIMIZER 1 /* disable */#define DEFAULT_KSQO 1 /* on */#define DEFAULT_UNIQUEINDEX 1 /* dont recognize */#define DEFAULT_COMMLOG 0 /* dont log */#define DEFAULT_DEBUG 0#define DEFAULT_UNKNOWNSIZES UNKNOWNS_AS_MAX#define DEFAULT_FAKEOIDINDEX 0#define DEFAULT_SHOWOIDCOLUMN 0#define DEFAULT_ROWVERSIONING 0#define DEFAULT_SHOWSYSTEMTABLES 0 /* dont show system tables */#define DEFAULT_LIE 0#define DEFAULT_PARSE 0#define DEFAULT_CANCELASFREESTMT 0#define DEFAULT_EXTRASYSTABLEPREFIXES "dd_;"#define DEFAULT_DISALLOWPREMATURE 0#define DEFAULT_TRUEISMINUS1 0#define DEFAULT_UPDATABLECURSORS 1#ifdef WIN32#define DEFAULT_LFCONVERSION 1#else#define DEFAULT_LFCONVERSION 0#endif /* WIN32 */#define DEFAULT_INT8AS 0#define DEFAULT_BYTEAASLONGVARBINARY 0#define DEFAULT_USESERVERSIDEPREPARE 0#define DEFAULT_LOWERCASEIDENTIFIER 0#define DEFAULT_SSLMODE SSLMODE_DISABLE#ifdef _HANDLE_ENLIST_IN_DTC_#define DEFAULT_XAOPT 1#endif /* _HANDLE_ENLIST_IN_DTC_ *//* prototypes */void getCommonDefaults(const char *section, const char *filename, ConnInfo *ci);#ifdef WIN32void SetDlgStuff(HWND hdlg, const ConnInfo *ci);void GetDlgStuff(HWND hdlg, ConnInfo *ci);LRESULT CALLBACK driver_optionsProc(HWND hdlg, UINT wMsg, WPARAM wParam, LPARAM lParam);LRESULT CALLBACK global_optionsProc(HWND hdlg, UINT wMsg, WPARAM wParam, LPARAM lParam);LRESULT CALLBACK ds_options1Proc(HWND hdlg, UINT wMsg, WPARAM wParam, LPARAM lParam);LRESULT CALLBACK ds_options2Proc(HWND hdlg, UINT wMsg, WPARAM wParam, LPARAM lParam);LRESULT CALLBACK manage_dsnProc(HWND hdlg, UINT wMsg, WPARAM wParam, LPARAM lParam);#endif /* WIN32 */void updateGlobals(void);int writeDriverCommoninfo(const char *fileName, const char *sectionName, const GLOBAL_VALUES *);void writeDSNinfo(const ConnInfo *ci);void getDSNdefaults(ConnInfo *ci);void getDSNinfo(ConnInfo *ci, char overwrite);void makeConnectString(char *connect_string, const ConnInfo *ci, UWORD);BOOL copyAttributes(ConnInfo *ci, const char *attribute, const char *value);BOOL copyCommonAttributes(ConnInfo *ci, const char *attribute, const char *value);int getDriverNameFromDSN(const char *dsn, char *driver_name, int namelen);int changeDriverNameOfaDSN(const char *dsn, const char *driver_name, DWORD *errcode);UInt4 getExtraOptions(const ConnInfo *);BOOL setExtraOptions(ConnInfo *, const char *str, const char *format);#ifdef __cplusplus}#endif /* __cplusplus */#endif /* __DLG_SPECIFIC_H__ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?