📄 cstypes.h
字号:
#define CS_NODATA (CS_INT)0x8#define CS_UPDATABLE (CS_INT)0x10#define CS_CANBENULL (CS_INT)0x20#define CS_DESCIN (CS_INT)0x40#define CS_DESCOUT (CS_INT)0x80#define CS_INPUTVALUE (CS_INT)0x100#define CS_UPDATECOL (CS_INT)0x200#define CS_RETURN (CS_INT)0x400#define CS_RETURN_CANBENULL (CS_INT) 0x420#define CS_TIMESTAMP (CS_INT)0x2000#define CS_NODEFAULT (CS_INT)0x4000#define CS_IDENTITY (CS_INT)0x8000/*** The following are bit values for the status field in the CS_BROWSEDESC** structure.** ** CS_EXPRESSION Set when the column is the result of an expression.**** CS_RENAMED Set when that the column's heading is not the ** original name of the column. */#define CS_EXPRESSION (CS_INT)0x800#define CS_RENAMED (CS_INT)0x1000/*** Define special precision/scale value for using the precision/scale of the** source element when doing a conversion from a numeric/decimal datatype to a** numeric/decimal datatype.*/#define CS_SRC_VALUE (CS_INT)-2562/*** Minimum/maximum/default precision and scale values for numeric/decimal** datatypes.*/#define CS_MIN_PREC (CS_INT)1#define CS_MAX_PREC (CS_INT)77#define CS_DEF_PREC (CS_INT)18#define CS_MIN_SCALE (CS_INT)0#define CS_MAX_SCALE (CS_INT)77#define CS_DEF_SCALE (CS_INT)0/*** The datetime format for converting datetime to char.*/#define CS_DATES_SHORT (CS_INT)0 /* default */#define CS_DATES_MDY1 (CS_INT)1 /* mm/dd/yy */#define CS_DATES_YMD1 (CS_INT)2 /* yy.mm.dd */#define CS_DATES_DMY1 (CS_INT)3 /* dd/mm/yy */#define CS_DATES_DMY2 (CS_INT)4 /* dd.mm.yy */#define CS_DATES_DMY3 (CS_INT)5 /* dd-mm-yy */#define CS_DATES_DMY4 (CS_INT)6 /* dd mon yy */#define CS_DATES_MDY2 (CS_INT)7 /* mon dd, yy */#define CS_DATES_HMS (CS_INT)8 /* hh:mm:ss */#define CS_DATES_LONG (CS_INT)9 /* default with micro secs */#define CS_DATES_MDY3 (CS_INT)10 /* mm-dd-yy */#define CS_DATES_YMD2 (CS_INT)11 /* yy/mm/dd */#define CS_DATES_YMD3 (CS_INT)12 /* yymmdd */#define CS_DATES_YDM1 (CS_INT)13 /* yy/dd/mm */#define CS_DATES_MYD1 (CS_INT)14 /* mm/yy/dd */#define CS_DATES_DYM1 (CS_INT)15 /* dd/yy/mm */#define CS_DATES_MDYHMS (CS_INT)16 /* mon dd yyyy hh:mm:ss */#define CS_DATES_HMA (CS_INT)17 /* hh:mmAM(PM) */#define CS_DATES_HM (CS_INT)18 /* hh:mm */#define CS_DATES_HMSZA (CS_INT)19 /* hh:mm:ss:zzzAM(PM) */#define CS_DATES_HMSZ (CS_INT)20 /* hh:mm:ss:zzz */#define CS_DATES_YMDHMS (CS_INT)21 /* yy/mm/dd hh:mm:ss */#define CS_DATES_YMDHMA (CS_INT)22 /* yy/mm/dd hh:mmAM */#define CS_DATES_YMDTHMS (CS_INT)23 /* yyyy-mm-ddThh:mm:ss */#define CS_DATES_SHORT_ALT (CS_INT)100 /* default */#define CS_DATES_MDY1_YYYY (CS_INT)101 /* mm/dd/yyyy */#define CS_DATES_YMD1_YYYY (CS_INT)102 /* yyyy.mm.dd */#define CS_DATES_DMY1_YYYY (CS_INT)103 /* dd/mm/yyyy */#define CS_DATES_DMY2_YYYY (CS_INT)104 /* dd.mm.yyyy */#define CS_DATES_DMY3_YYYY (CS_INT)105 /* dd-mm-yyyy */#define CS_DATES_DMY4_YYYY (CS_INT)106 /* dd mon yyyy */#define CS_DATES_MDY2_YYYY (CS_INT)107 /* mon dd, yyyy */#define CS_DATES_HMS_ALT (CS_INT)108 /* hh:mm:ss */#define CS_DATES_LONG_ALT (CS_INT)109 /* default with micro secs */#define CS_DATES_MDY3_YYYY (CS_INT)110 /* mm-dd-yyyy */#define CS_DATES_YMD2_YYYY (CS_INT)111 /* yyyy/mm/dd */#define CS_DATES_YMD3_YYYY (CS_INT)112 /* yyyymmdd */#define CS_DATES_YDM1_YYYY (CS_INT)113 /* yyyy/dd/mm */#define CS_DATES_MYD1_YYYY (CS_INT)114 /* mm/yyyy/dd */#define CS_DATES_DYM1_YYYY (CS_INT)115 /* dd/yyyy/mm */#define CS_DATES_MDYHMS_ALT (CS_INT)116 /* mon dd yyyy hh:mm:ss */#define CS_DATES_YMDHMS_YYYY (CS_INT)117 /* yyyy/mm/dd hh:mm:ss */#define CS_DATES_YMDHMA_YYYY (CS_INT)118 /* yyyy/mm/dd hh:mmAM *//*** sizeof macro which forces a CS_INT cast for portability.*/#define CS_SIZEOF (CS_INT)sizeof/*** Locale type information. CS_LC_MONETARY and CS_LC_NUMERIC are defined** for future use.*/#define CS_LC_COLLATE (CS_INT)1#define CS_LC_CTYPE (CS_INT)2#define CS_LC_MESSAGE (CS_INT)3#define CS_LC_MONETARY (CS_INT)4#define CS_LC_NUMERIC (CS_INT)5#define CS_LC_TIME (CS_INT)6#define CS_LC_ALL (CS_INT)7#define CS_SYB_LANG (CS_INT)8#define CS_SYB_CHARSET (CS_INT)9#define CS_SYB_SORTORDER (CS_INT)10#define CS_SYB_COLLATE CS_SYB_SORTORDER#define CS_SYB_LANG_CHARSET (CS_INT)11#define CS_SYB_TIME (CS_INT)12#define CS_SYB_MONETARY (CS_INT)13#define CS_SYB_NUMERIC (CS_INT)14/*** Object type information for the cs_objects() API.*/#define CS_CONNECTNAME (CS_INT)1#define CS_CURSORNAME (CS_INT)2#define CS_STATEMENTNAME (CS_INT)3#define CS_CURRENT_CONNECTION (CS_INT)4#define CS_MIN_USERDATA (CS_INT)100/*** Info type information for the ct_ds_objinfo() API.*/#define CS_DS_CLASSOID (CS_INT)1#define CS_DS_DIST_NAME (CS_INT)2#define CS_DS_NUMATTR (CS_INT)3#define CS_DS_ATTRIBUTE (CS_INT)4#define CS_DS_ATTRVALS (CS_INT)5/********************************************************************************* Common datatype typedefs and structures used in client/server applications.*******************************************************************************//*** Define client/server datatypes.** ** CS_INT is defined in csconfig.h** CS_FLOAT is defined in csconfig.h** CS_UINT is defined in csconfig.h*/typedef unsigned char CS_TINYINT; /* 1 byte integer */typedef short CS_SMALLINT; /* 2 byte integer */typedef unsigned short CS_USMALLINT; /* 2 byte unsigned integer */typedef char CS_CHAR; /* char type */typedef unsigned char CS_BINARY; /* binary type */typedef unsigned char CS_BIT; /* bit type */typedef float CS_REAL; /* 4 byte float type */typedef unsigned char CS_BYTE; /* 1 byte byte */typedef unsigned char CS_TEXT; /* text data */typedef unsigned char CS_IMAGE; /* image data */typedef unsigned char CS_LONGCHAR; /* long char type */typedef unsigned char CS_LONGBINARY; /* long binary type */#if defined (SYB_LLP64)typedef __int64 CS_LONG; /* long integer type */typedef unsigned __int64 CS_ULONG; /* unsigned long integer type */#else typedef long CS_LONG; /* long integer type */#endiftypedef CS_INT CS_VOIDDATA; /* void data */typedef unsigned short CS_UNICHAR; /* 2-byte unichar type */typedef CS_INT CS_BLOB; /* blob data type */typedef CS_INT CS_DATE; /* 4-byte date type */typedef CS_INT CS_TIME; /* 4-byte time type */typedef unsigned short CS_UNITEXT; /* 2-byte unitext type */#if defined( __alpha) || defined(SYB_LP64)typedef long CS_BIGINT; /* 8-byte integer */typedef unsigned long CS_UBIGINT; /* 8-byte unsigned integer */#elif defined(_WIN32) || defined(SYB_LLP64)typedef __int64 CS_BIGINT; /* 8-byte integer */typedef unsigned __int64 CS_UBIGINT; /* 8-byte unsigned integer */#elsetypedef long long CS_BIGINT; /* 8-byte integer */typedef unsigned long long CS_UBIGINT; /* 8-byte unsigned integer */#endiftypedef unsigned char CS_XML; /* xml data */typedef struct cs_ctx_globs CS_CTX_GLOBS;typedef struct cs_ctx_locglobs CS_CTX_LOCGLOBS;/*** The following typedefs are platform specific.**** CS_VOID (compiler void differences)** CS_THRDRES (compiler void differences)** CS_INT (need to force it to 4 bytes)**** Please see the csconfig.h file for the actual definitions.*//*** Unsigned types (CS_UINT can be found in csconfig.h).*/typedef unsigned short CS_USHORT;/*** The datetime structures.*/typedef struct _cs_datetime{ CS_INT dtdays; /* number of days since 1/1/1900 */ CS_INT dttime; /* number 300th second since mid */} CS_DATETIME;typedef struct _cs_datetime4{ CS_USHORT days; /* number of days since 1/1/1900 */ CS_USHORT minutes; /* number of minutes since midnight */} CS_DATETIME4;/*** The money structures.*/typedef struct _cs_money{ CS_INT mnyhigh; CS_UINT mnylow;} CS_MONEY;typedef struct _cs_money4{ CS_INT mny4;} CS_MONEY4;/*** The numeric structures.*/typedef struct _cs_numeric{ CS_BYTE precision; CS_BYTE scale; CS_BYTE array[CS_MAX_NUMLEN];} CS_NUMERIC;typedef CS_NUMERIC CS_DECIMAL;/*** The var (pascal like) structures. Please don't confuse these datatypes** with the Sybase server "varchar" column type.*/typedef struct _cs_varychar{ CS_SMALLINT len; /* length of the string */ CS_CHAR str[CS_MAX_CHAR]; /* string, no NULL terminator */} CS_VARCHAR;typedef struct _cs_varybin{ CS_SMALLINT len; /* length of the binary array */ CS_BYTE array[CS_MAX_CHAR]; /* the array itself. */} CS_VARBINARY;/*** Datetime value information.*/typedef struct _cs_daterec{ CS_INT dateyear; /* 1900 to the future */ CS_INT datemonth; /* 0 - 11 */ CS_INT datedmonth; /* 1 - 31 */ CS_INT datedyear; /* 1 - 366 */ CS_INT datedweek; /* 0 - 6 (Mon. - Sun.) */ CS_INT datehour; /* 0 - 23 */ CS_INT dateminute; /* 0 - 59 */ CS_INT datesecond; /* 0 - 59 */ CS_INT datemsecond; /* 0 - 997 */ CS_INT datetzone; /* 0 - 127 */} CS_DATEREC;/********************************************************************************* Hidden information structures.*******************************************************************************/#ifndef CS__INTERNAL_STRUCTS/*** If passing code through lint, define the hidden structures as void.*/#ifdef lint#ifndef CS_CONTEXT#define CS_CONTEXT CS_VOID#endif /* CS_CONTEXT */#ifndef CS_LOCALE#define CS_LOCALE CS_VOID#endif /* CS_LOCALE */#ifndef CS_CONNECTION#define CS_CONNECTION CS_VOID#endif /* CS_CONNECTION */#ifndef CS_COMMAND#define CS_COMMAND CS_VOID#endif /* CS_COMMAND */ #ifndef CS_DS_OBJECT#define CS_DS_OBJECT CS_VOID#endif /* CS_DS_OBJECT */ #ifndef CS_DS_RESULT#define CS_DS_RESULT CS_VOID#endif /* CS_DS_RESULT */ #else /* lint *//*** Use anonymous structure tags to define the hidden structures.*/typedef struct _cscontext CS_CONTEXT;typedef struct _cslocale CS_LOCALE;typedef struct _csconnection CS_CONNECTION;typedef struct _cscommand CS_COMMAND;typedef struct _csdsobject CS_DS_OBJECT;typedef struct _csdsresult CS_DS_RESULT;#endif /* lint */#endif /* CS__INTERNAL_STRUCTS *//********************************************************************************* User-accessible information structures.*******************************************************************************//*** The data format structure used by Open Client/Server.**** name[CS_MAX_CHAR] The name of the data.**** namelen The actual length of the name.**** datatype The datatype field indicates what Sybase** or user defined datatype is being represented.**** format The format field tells whether or not data** should be padded to the full length of the** variable. This will only be used if the type** of the variable is character or binary. The ** format field also tells whether the data** should be null-terminated (for char** variables, only). This is a bit field in which** the format values are or'd together.** ** maxlength The max length the data might be.**** scale This is used if dataytype needs it (e.g.** CS_NUMERIC)**** precision This is used if dataytype needs it.**** status Additional data status values. This is a bit** field in which the status values are or'd** together.**** count If binding data, the count field tells how** many rows should be bound.**** usertype User-defined datatype code passed back from** the Server.**** *locale Pointer to the locale for this data.*/#if defined(CS_NO_LARGE_IDENTIFIERS)/* ** In pre-15.0 versions the (old) value for CS_MAX_NAME was used for the** name array declarations. Starting from version 15.0, CS_MAX_CHAR is** used to define these character array sizes.*/typedef struct _cs_datafmt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -