Main Page | Modules | Class List | Directories | File List | Class Members | File Members | Related Pages

cstypes.h

00001 /* FreeTDS - Library of routines accessing Sybase and Microsoft databases
00002  * Copyright (C) 1998-1999  Brian Bruns
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Library General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Library General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Library General Public
00015  * License along with this library; if not, write to the
00016  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00017  * Boston, MA 02111-1307, USA.
00018  */
00019 
00020 #ifndef _cstypes_h_
00021 #define _cstypes_h_
00022 
00023 #include "tds_sysdep_public.h"
00024 
00025 #ifdef __cplusplus
00026 extern "C"
00027 {
00028 #if 0
00029 }
00030 #endif
00031 #endif
00032 
00033 static const char rcsid_cstypes_h[] = "$Id: cstypes.h,v 1.6 2005/09/21 14:46:00 freddy77 Exp $";
00034 static const void *const no_unused_cstypes_h_warn[] = { rcsid_cstypes_h, no_unused_cstypes_h_warn };
00035 
00036 
00037 typedef tds_sysdep_int32_type CS_INT;
00038 typedef unsigned tds_sysdep_int32_type CS_UINT;
00039 typedef tds_sysdep_int16_type CS_SMALLINT;
00040 typedef unsigned char CS_TINYINT;
00041 typedef char CS_CHAR;
00042 typedef unsigned char CS_BYTE;
00043 typedef tds_sysdep_real32_type CS_REAL;
00044 typedef tds_sysdep_real64_type CS_FLOAT;
00045 typedef tds_sysdep_int32_type CS_BOOL;
00046 typedef void CS_VOID;
00047 typedef unsigned char CS_IMAGE;
00048 typedef unsigned char CS_TEXT;
00049 typedef unsigned char CS_LONGBINARY;
00050 typedef unsigned char CS_LONGCHAR;
00051 typedef long CS_LONG;
00052 typedef unsigned char CS_BINARY;
00053 typedef unsigned tds_sysdep_int16_type CS_USHORT;
00054 typedef unsigned char CS_BIT;
00055 typedef CS_INT CS_RETCODE;
00056 
00057 
00058 
00059 #define CS_MAX_NAME 132
00060 #define CS_MAX_SCALE 77
00061 #define CS_MAX_PREC 77          /* used by php */
00062 #define CS_MAX_NUMLEN 33                /* used by roguewave */
00063 #define CS_MAX_MSG 1024
00064 #define CS_SQLSTATE_SIZE 8
00065 #define CS_OBJ_NAME 400
00066 #define CS_TP_SIZE  16          /* text pointer */
00067 #define CS_TS_SIZE  8           /* length of timestamp */
00068 
00069 
00070 typedef struct _cs_numeric
00071 {
00072         unsigned char precision;
00073         unsigned char scale;
00074         unsigned char array[CS_MAX_NUMLEN];
00075 } CS_NUMERIC;
00076 
00077 typedef CS_NUMERIC CS_DECIMAL;
00078 
00079 typedef struct _cs_varbinary
00080 {
00081         CS_SMALLINT len;
00082         CS_CHAR array[256];
00083 } CS_VARBINARY;
00084 
00085 typedef struct _cs_varchar
00086 {
00087     CS_SMALLINT len;                /* length of the string */
00088     CS_CHAR     str[256];   /* string, no NULL terminator */
00089 } CS_VARCHAR;
00090 
00091 typedef struct _cs_config CS_CONFIG;
00092 typedef struct _cs_context CS_CONTEXT;
00093 typedef struct _cs_connection CS_CONNECTION;
00094 typedef struct _cs_locale CS_LOCALE;
00095 typedef struct _cs_command CS_COMMAND;
00096 typedef struct _cs_blk_row CS_BLK_ROW;
00097 
00098 typedef struct _cs_iodesc
00099 {
00100         CS_INT iotype;
00101         CS_INT datatype;
00102         CS_LOCALE *locale;
00103         CS_INT usertype;
00104         CS_INT total_txtlen;
00105         CS_INT offset;
00106         CS_BOOL log_on_update;
00107         CS_CHAR name[CS_OBJ_NAME];
00108         CS_INT namelen;
00109         CS_BYTE timestamp[CS_TS_SIZE];
00110         CS_INT timestamplen;
00111         CS_BYTE textptr[CS_TP_SIZE];
00112         CS_INT textptrlen;
00113 } CS_IODESC;
00114 
00115 typedef struct _cs_datafmt
00116 {
00117         CS_CHAR name[CS_MAX_NAME];
00118         CS_INT namelen;
00119         CS_INT datatype;
00120         CS_INT format;
00121         CS_INT maxlength;
00122         CS_INT scale;
00123         CS_INT precision;
00124         CS_INT status;
00125         CS_INT count;
00126         CS_INT usertype;
00127         CS_LOCALE *locale;
00128 } CS_DATAFMT;
00129 
00130 typedef struct _cs_money
00131 {
00132         CS_INT mnyhigh;
00133         CS_UINT mnylow;
00134 } CS_MONEY;
00135 
00136 typedef struct _cs_money4
00137 {
00138         CS_INT mny4;
00139 } CS_MONEY4;
00140 
00141 typedef struct _cs_datetime
00142 {
00143         CS_INT dtdays;
00144         CS_INT dttime;
00145 } CS_DATETIME;
00146 
00147 typedef struct _cs_datetime4
00148 {
00149         CS_USHORT days;
00150         CS_USHORT minutes;
00151 } CS_DATETIME4;
00152 
00153 typedef struct _cs_daterec
00154 {
00155         CS_INT dateyear;
00156         CS_INT datemonth;
00157         CS_INT datedmonth;
00158         CS_INT datedyear;
00159         CS_INT datedweek;
00160         CS_INT datehour;
00161         CS_INT dateminute;
00162         CS_INT datesecond;
00163         CS_INT datemsecond;
00164         CS_INT datetzone;
00165 } CS_DATEREC;
00166 
00167 typedef CS_INT CS_MSGNUM;
00168 
00169 typedef struct _cs_clientmsg
00170 {
00171         CS_INT severity;
00172         CS_MSGNUM msgnumber;
00173         CS_CHAR msgstring[CS_MAX_MSG];
00174         CS_INT msgstringlen;
00175         CS_INT osnumber;
00176         CS_CHAR osstring[CS_MAX_MSG];
00177         CS_INT osstringlen;
00178         CS_INT status;
00179         CS_BYTE sqlstate[CS_SQLSTATE_SIZE];
00180         CS_INT sqlstatelen;
00181 } CS_CLIENTMSG;
00182 
00183 typedef struct _cs_servermsg
00184 {
00185         CS_MSGNUM msgnumber;
00186         CS_INT state;
00187         CS_INT severity;
00188         CS_CHAR text[CS_MAX_MSG];
00189         CS_INT textlen;
00190         CS_CHAR svrname[CS_MAX_NAME];
00191         CS_INT svrnlen;
00192         CS_CHAR proc[CS_MAX_NAME];
00193         CS_INT proclen;
00194         CS_INT line;
00195         CS_INT status;
00196         CS_BYTE sqlstate[CS_SQLSTATE_SIZE];
00197         CS_INT sqlstatelen;
00198 } CS_SERVERMSG;
00199 
00200 #ifdef __cplusplus
00201 #if 0
00202 {
00203 #endif
00204 }
00205 #endif
00206 
00207 #endif

Generated on Sat Jul 1 11:11:45 2006 for FreeTDS API by  doxygen 1.4.1