⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csconfig.h

📁 能够连接各种数据库的API
💻 H
字号:
/***	Sybase Open Client/Server **	Confidential Property of Sybase, Inc.**	Copyright  Sybase, Inc. 1992, 1996**	All rights reserved*//*****  History:****      date    name    BTS#    Descrition**      ======= ======= ======= ===============================================**                              Creation**      21Jul95 Bie Tie 72147   VMS does not allows line continuation.***/#ifndef __CSCONFIG_H__#define __CSCONFIG_H__/*** This file will try to hide any interface differences found on various** platform/compiler combinations. Any datatype or define that is** dependant on a particular platform/compiler should have its definition** here.*//********************************************************************************* Function interface definitions.*******************************************************************************//*** Define the scoping rules that will be used in all libraries. These defines** exist to support different compiler-specific keywords describing the** calling convention of a C function.**** CS_PUBLIC		Interface define for functions which are called**			outside of a library or DLL.**** CS_INTERNAL		Interface define for functions which are only called**			within a library or DLL.**** CS_VARARGS		Interface define for functions with variable argument**			lists which are called outside of a library or DLL.**** CS_STATIC		Interface define for functions which are only called**			within a C module.*//*** We need to check to value of some compiler #defined macros** but some compilers will give warnings for trying to use the** value of a macro which has not been defined -- to avoid these** warnings we define 'SYB' versions of the macros we need here*/#if defined(_MSC_VER)#define SYB_MSC_VER _MSC_VER#else /* _MSC_VER */#define SYB_MSC_VER 0#endif /* _MSC_VER */#if defined(__STDC__)#define SYB__STDC__ 1#else /* __STDC__ */#define SYB__STDC__ 0#endif /* __STDC__ */#if defined(_CPROTO_)/*** The _CPROTO_ ifdef allows users to have the cproto tool generate** prototype definitions that include the scoping rules. We typedef all of** the interface defines to allow the cproto tool to preserve the names** (instead of replacing them with the defined values).*/typedef void		CS_PUBLIC;typedef void		CS_INTERNAL;typedef void            CS_VARARGS;typedef void            CS_STATIC;#else /* defined(_CPROTO_) */#if (_M_ALPHA)/*** Defines for Windows ALPHA NT calling conventions.*/#define CS_PUBLIC	#define CS_INTERNAL     CS_PUBLIC#define CS_VARARGS      #define CS_STATIC       static#else /* _M_ALPHA *//*** The user needs to define "WIN3" in order to insure that the calling** convention supported by Window 3.1 is used instead of the Windows NT** convention.*/#if defined(WIN3)/*** Defines for Windows 3.1 calling convention*/#if defined(NO_EXPORT)#define CS_PUBLIC       _loadds _far _pascal#define CS_VARARGS      _loadds _far _cdecl#else#define CS_PUBLIC       __export _far _pascal#define CS_VARARGS      __export _far _cdecl#endif#define CS_INTERNAL     _far _pascal#define CS_STATIC       static#else /* WIN3 */#if ((SYB_MSC_VER >= 800)  || defined(__BORLANDC__))/*** Defines for Windows NT calling conventions.*/#define CS_PUBLIC	__stdcall#define CS_INTERNAL     CS_PUBLIC#define CS_VARARGS      __stdcall#define CS_STATIC       static#else /* ((SYB_MSC_VER >= 800) || defined(__BORLANDC__)) *//*** Default defines for all other platform/compilers.*/#define CS_PUBLIC		#define CS_INTERNAL #define CS_VARARGS#define CS_STATIC       static#endif /* ((SYB_MSC_VER >= 800) || defined(__BORLANDC__) || defined(__WATCOMC__)) */#endif /* WIN3 */#endif /* _M_ALPHA */#endif /* defined(_CPROTO_) *//*** Define wrappers to insure that all function prototypes defined in the** Open Client and Open Server header files have the correct C function** linkage when used with C++ compilers.*/#if defined(__cplusplus)#define CS_START_EXTERN_C	extern "C" {#define CS_END_EXTERN_C		}#else#define CS_START_EXTERN_C		#define CS_END_EXTERN_C		#endif /* defined(__cplusplus) *//*** PROTOTYPE macro which either produces the prototype or creates any** empty argument list.**** Usage:**      storage_class type scope name PROTOTYPE((param_decl));**** Example:**      extern CS_RETCODE CS_PUBLIC cs_foo PROTOTYPE((CS_INT arg1, ...));**** The predefined name __STDC__ is assumed to be defined as 1 for compilers** that support ANSI C. Any compilers that don't do this, but need prototypes,** should define "CS_FORCE_PROTOTYPES".*/#ifndef PROTOTYPE/*** Currently, Microsoft defines __STDC__ to 0, but we want to use** prototypes.*/#if (SYB_MSC_VER >= 800) || defined(__BORLANDC__)#define CS_FORCE_PROTOTYPES	1#endif /* (SYB_MSC_VER >= 800) || defined(__BORLANDC__) */ #if defined(__OS2__) || defined(IBM370)#define CS_FORCE_PROTOTYPES	1#endif /* defined(__OS2__) || defined(IBM370) *//* Mac compilers need prototypes */#if defined(applec) || defined(__MWERKS__) || defined(THINK_C)#ifndef CS_FORCE_PROTOTYPES#define CS_FORCE_PROTOTYPES	1#endif #endif /* defined(applec) || defined(__MWERKS__) || defined(THINK_C) */#if (SYB__STDC__) || defined(__cplusplus) || defined(CS_FORCE_PROTOTYPES)# define PROTOTYPE(s) s#else# define PROTOTYPE(s) ()#endif#endif /* PROTOTYPE *//*** Define whether the compiler supports the "const" keyword.*/#if (SYB__STDC__) || defined(__cplusplus)# define CS_CONST	const#else# define CS_CONST#endif/*** Define CS_ELLIPSE.  It is used in function pointer prototypes where** the arguments aren't known.  Win3 uses ,... for CS_ELLIPSE, too.*/#define CS_ELLIPSE              , .../********************************************************************************* Datatype definitions.*******************************************************************************//*** Certain Sybase C datatypes must be defined as 4 bytes in size. The** following insures that all platforms (including 64 bit machines) use** the correct C native types.*/#if defined( __alpha) || defined(SYB_LP64) || defined(_AIX)typedef	int		CS_INT;typedef int		CS_RETCODE;typedef	int		CS_BOOL;typedef	unsigned int	CS_UINT;#elsetypedef	long		CS_INT;typedef long		CS_RETCODE;typedef	long		CS_BOOL;typedef	unsigned long	CS_UINT;#endif/*** The vax C compiler cannot deal with typedef void. But, we want to** maintain a typedef for most platforms so things like prototype** generation work.*/#if defined(VMS) && defined(VAXC)#define CS_VOID		void#define CS_THRDRES	void #elsetypedef void		CS_VOID;typedef void		CS_THRDRES;#endif /* defined(VMS) && defined(VAXC) *//*** Macintosh Think C compiler has special type for 8 byte floats.*/#if defined(THINK_C)typedef short double		CS_FLOAT;	/* 8 byte float type */#elsetypedef double		CS_FLOAT;	/* 8 byte float type */#endif /* defined(THINK_C) *//*** Define the number of bits that a CS_BYTE can hold.*/#define CS_BITS_PER_BYTE	8/* ** Default CS_THRDID is CS_INT.  Other defines go in csport.h*/#endif /* __CSCONFIG_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -