<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>FreeTDS API: /usr/local/users/home/jklowden/projects/releases/freetds/0.82/include/cspublic.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.1 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Class Members</a> | <a class="qindex" href="globals.html">File Members</a> | <a class="qindex" href="pages.html">Related Pages</a></div> <div class="nav"> <a class="el" href="dir_000000.html">include</a></div> <h1>cspublic.h</h1><div class="fragment"><pre class="fragment">00001 <span class="comment">/* FreeTDS - Library of routines accessing Sybase and Microsoft databases</span> 00002 <span class="comment"> * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Brian Bruns</span> 00003 <span class="comment"> *</span> 00004 <span class="comment"> * This library is free software; you can redistribute it and/or</span> 00005 <span class="comment"> * modify it under the terms of the GNU Library General Public</span> 00006 <span class="comment"> * License as published by the Free Software Foundation; either</span> 00007 <span class="comment"> * version 2 of the License, or (at your option) any later version.</span> 00008 <span class="comment"> *</span> 00009 <span class="comment"> * This library is distributed in the hope that it will be useful,</span> 00010 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span> 00011 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span> 00012 <span class="comment"> * Library General Public License for more details.</span> 00013 <span class="comment"> *</span> 00014 <span class="comment"> * You should have received a copy of the GNU Library General Public</span> 00015 <span class="comment"> * License along with this library; if not, write to the</span> 00016 <span class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330,</span> 00017 <span class="comment"> * Boston, MA 02111-1307, USA.</span> 00018 <span class="comment"> */</span> 00019 00020 <span class="preprocessor">#ifndef _cspublic_h_</span> 00021 <span class="preprocessor"></span><span class="preprocessor">#define _cspublic_h_</span> 00022 <span class="preprocessor"></span> 00023 <span class="preprocessor">#include <cstypes.h></span> 00024 00025 <span class="preprocessor">#undef TDS_STATIC_CAST</span> 00026 <span class="preprocessor"></span><span class="preprocessor">#ifdef __cplusplus</span> 00027 <span class="preprocessor"></span><span class="preprocessor">#define TDS_STATIC_CAST(type, a) static_cast<type>(a)</span> 00028 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> 00029 { 00030 <span class="preprocessor">#if 0</span> 00031 <span class="preprocessor"></span>} 00032 <span class="preprocessor">#endif</span> 00033 <span class="preprocessor"></span><span class="preprocessor">#else</span> 00034 <span class="preprocessor"></span><span class="preprocessor">#define TDS_STATIC_CAST(type, a) ((type)(a))</span> 00035 <span class="preprocessor"></span><span class="preprocessor">#endif</span> 00036 <span class="preprocessor"></span> 00037 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> rcsid_cspublic_h[] = <span class="stringliteral">"$Id: cspublic.h,v 1.58 2007/06/25 09:48:20 freddy77 Exp $"</span>; 00038 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">void</span> *<span class="keyword">const</span> no_unused_cspublic_h_warn[] = { rcsid_cspublic_h, no_unused_cspublic_h_warn }; 00039 00040 <span class="preprocessor">#define CS_PUBLIC</span> 00041 <span class="preprocessor"></span><span class="preprocessor">#define CS_STATIC static</span> 00042 <span class="preprocessor"></span> 00043 <span class="preprocessor">#define CS_SUCCEED 1</span> 00044 <span class="preprocessor"></span><span class="preprocessor">#define CS_FAIL 0</span> 00045 <span class="preprocessor"></span><span class="preprocessor">#define CS_MEM_ERROR -1</span> 00046 <span class="preprocessor"></span><span class="preprocessor">#define CS_PENDING -2</span> 00047 <span class="preprocessor"></span><span class="preprocessor">#define CS_QUIET -3</span> 00048 <span class="preprocessor"></span><span class="preprocessor">#define CS_BUSY -4</span> 00049 <span class="preprocessor"></span><span class="preprocessor">#define CS_INTERRUPT -5</span> 00050 <span class="preprocessor"></span><span class="preprocessor">#define CS_BLK_HAS_TEXT -6</span> 00051 <span class="preprocessor"></span><span class="preprocessor">#define CS_CONTINUE -7</span> 00052 <span class="preprocessor"></span><span class="preprocessor">#define CS_FATAL -8</span> 00053 <span class="preprocessor"></span><span class="preprocessor">#define CS_RET_HAFAILOVER -9</span> 00054 <span class="preprocessor"></span><span class="preprocessor">#define CS_UNSUPPORTED -10</span> 00055 <span class="preprocessor"></span> 00056 <span class="preprocessor">#define CS_CANCELED -202</span> 00057 <span class="preprocessor"></span><span class="preprocessor">#define CS_ROW_FAIL -203</span> 00058 <span class="preprocessor"></span><span class="preprocessor">#define CS_END_DATA -204</span> 00059 <span class="preprocessor"></span><span class="preprocessor">#define CS_END_RESULTS -205</span> 00060 <span class="preprocessor"></span><span class="preprocessor">#define CS_END_ITEM -206</span> 00061 <span class="preprocessor"></span><span class="preprocessor">#define CS_NOMSG -207</span> 00062 <span class="preprocessor"></span><span class="preprocessor">#define CS_TIMED_OUT -208</span> 00063 <span class="preprocessor"></span> 00064 <span class="preprocessor">#define CS_SIZEOF(x) sizeof(x)</span> 00065 <span class="preprocessor"></span> 00066 <span class="preprocessor">#define CS_LAYER(x) (((x) >> 24) & 0xFF)</span> 00067 <span class="preprocessor"></span><span class="preprocessor">#define CS_ORIGIN(x) (((x) >> 16) & 0xFF)</span> 00068 <span class="preprocessor"></span><span class="preprocessor">#define CS_SEVERITY(x) (((x) >> 8) & 0xFF)</span> 00069 <span class="preprocessor"></span><span class="preprocessor">#define CS_NUMBER(x) ((x) & 0xFF)</span> 00070 <span class="preprocessor"></span> 00071 <span class="comment">/* forward declarations */</span> 00072 <span class="keyword">typedef</span> CS_RETCODE(*CS_CSLIBMSG_FUNC) (CS_CONTEXT *, CS_CLIENTMSG *); 00073 <span class="keyword">typedef</span> CS_RETCODE(*CS_CLIENTMSG_FUNC) (CS_CONTEXT *, CS_CONNECTION *, CS_CLIENTMSG *); 00074 <span class="keyword">typedef</span> CS_RETCODE(*CS_SERVERMSG_FUNC) (CS_CONTEXT *, CS_CONNECTION *, CS_SERVERMSG *); 00075 00076 00077 <span class="preprocessor">#define CS_IODATA TDS_STATIC_CAST(CS_INT, 1600)</span> 00078 <span class="preprocessor"></span><span class="preprocessor">#define CS_SRC_VALUE -2562</span> 00079 <span class="preprocessor"></span> 00080 00081 00082 <span class="comment">/* status bits for CS_SERVERMSG */</span> 00083 <span class="preprocessor">#define CS_HASEED 0x01</span> 00084 <span class="preprocessor"></span> 00085 <span class="keyword">typedef</span> <span class="keyword">struct </span>_cs_blkdesc CS_BLKDESC; 00086 00087 <span class="comment">/* CS_CAP_REQUEST values */</span> 00088 <span class="preprocessor">#define CS_REQ_LANG 1</span> 00089 <span class="preprocessor"></span><span class="preprocessor">#define CS_REQ_RPC 2</span> 00090 <span class="preprocessor"></span><span class="preprocessor">#define CS_REQ_NOTIF 3</span> 00091 <span class="preprocessor"></span><span class="preprocessor">#define CS_REQ_MSTMT 4</span> 00092 <span class="preprocessor"></span><span class="preprocessor">#define CS_REQ_BCP 5</span> 00093 <span class="preprocessor"></span><span class="preprocessor">#define CS_REQ_CURSOR 6</span> 00094 <span class="preprocessor"></span><span class="preprocessor">#define CS_REQ_DYN 7</span> 00095 <span class="preprocessor"></span><span class="preprocessor">#define CS_REQ_MSG 8</span> 00096 <span class="preprocessor"></span><span class="preprocessor">#define CS_REQ_PARAM 9</span> 00097 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_INT1 10</span> 00098 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_INT2 11</span> 00099 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_INT4 12</span> 00100 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_BIT 13</span> 00101 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_CHAR 14</span> 00102 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_VCHAR 15</span> 00103 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_BIN 16</span> 00104 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_VBIN 17</span> 00105 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_MNY8 18</span> 00106 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_MNY4 19</span> 00107 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_DATE8 20</span> 00108 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_DATE4 21</span> 00109 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_FLT4 22</span> 00110 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_FLT8 23</span> 00111 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NUM 24</span> 00112 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_TEXT 25</span> 00113 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_IMAGE 26</span> 00114 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_DEC 27</span> 00115 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_LCHAR 28</span> 00116 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_LBIN 29</span> 00117 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_INTN 30</span> 00118 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_DATETIMEN 31</span> 00119 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_MONEYN 32</span> 00120 <span class="preprocessor"></span><span class="preprocessor">#define CS_CSR_PREV 33</span> 00121 <span class="preprocessor"></span><span class="preprocessor">#define CS_CSR_FIRST 34</span> 00122 <span class="preprocessor"></span><span class="preprocessor">#define CS_CSR_LAST 35</span> 00123 <span class="preprocessor"></span><span class="preprocessor">#define CS_CSR_ABS 36</span> 00124 <span class="preprocessor"></span><span class="preprocessor">#define CS_CSR_REL 37</span> 00125 <span class="preprocessor"></span><span class="preprocessor">#define CS_CSR_MULTI 38</span> 00126 <span class="preprocessor"></span><span class="preprocessor">#define CS_CON_OOB 39</span> 00127 <span class="preprocessor"></span><span class="preprocessor">#define CS_CON_INBAND 40</span> 00128 <span class="preprocessor"></span><span class="preprocessor">#define CS_CON_LOGICAL 41</span> 00129 <span class="preprocessor"></span><span class="preprocessor">#define CS_PROTO_TEXT 42</span> 00130 <span class="preprocessor"></span><span class="preprocessor">#define CS_PROTO_BULK 43</span> 00131 <span class="preprocessor"></span><span class="preprocessor">#define CS_REQ_URGNOTIF 44</span> 00132 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_SENSITIVITY 45</span> 00133 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_BOUNDARY 46</span> 00134 <span class="preprocessor"></span><span class="preprocessor">#define CS_PROTO_DYNAMIC 47</span> 00135 <span class="preprocessor"></span><span class="preprocessor">#define CS_PROTO_DYNPROC 48</span> 00136 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_FLTN 49</span> 00137 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_BITN 50</span> 00138 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPTION_GET 51</span> 00139 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_INT8 52</span> 00140 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_VOID 53</span> 00141 <span class="preprocessor"></span> 00142 <span class="comment">/* CS_CAP_RESPONSE values */</span> 00143 <span class="preprocessor">#define CS_RES_NOMSG 1</span> 00144 <span class="preprocessor"></span><span class="preprocessor">#define CS_RES_NOEED 2</span> 00145 <span class="preprocessor"></span><span class="preprocessor">#define CS_RES_NOPARAM 3</span> 00146 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOINT1 4</span> 00147 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOINT2 5</span> 00148 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOINT4 6</span> 00149 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOBIT 7</span> 00150 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOCHAR 8</span> 00151 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOVCHAR 9</span> 00152 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOBIN 10</span> 00153 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOVBIN 11</span> 00154 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOMNY8 12</span> 00155 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOMNY4 13</span> 00156 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NODATE8 14</span> 00157 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NODATE4 15</span> 00158 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOFLT4 16</span> 00159 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOFLT8 17</span> 00160 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NONUM 18</span> 00161 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOTEXT 19</span> 00162 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOIMAGE 20</span> 00163 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NODEC 21</span> 00164 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOLCHAR 22</span> 00165 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOLBIN 23</span> 00166 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOINTN 24</span> 00167 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NODATETIMEN 25</span> 00168 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOMONEYN 26</span> 00169 <span class="preprocessor"></span><span class="preprocessor">#define CS_CON_NOOOB 27</span> 00170 <span class="preprocessor"></span><span class="preprocessor">#define CS_CON_NOINBAND 28</span> 00171 <span class="preprocessor"></span><span class="preprocessor">#define CS_PROTO_NOTEXT 29</span> 00172 <span class="preprocessor"></span><span class="preprocessor">#define CS_PROTO_NOBULK 30</span> 00173 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOSENSITIVITY 31</span> 00174 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOBOUNDARY 32</span> 00175 <span class="preprocessor"></span><span class="preprocessor">#define CS_RES_NOTDSDEBUG 33</span> 00176 <span class="preprocessor"></span><span class="preprocessor">#define CS_RES_NOSTRIPBLANKS 34</span> 00177 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATA_NOINT8 35</span> 00178 <span class="preprocessor"></span> 00179 <span class="comment">/* Properties */</span> 00180 <span class="keyword">enum</span> 00181 { 00182 <span class="comment">/*</span> 00183 <span class="comment"> * These defines looks weird but programs can test support for defines,</span> 00184 <span class="comment"> * compiler can check enum and there are no define side effecs</span> 00185 <span class="comment"> */</span> 00186 CS_USERNAME = 9100, 00187 <span class="preprocessor">#define CS_USERNAME CS_USERNAME</span> 00188 <span class="preprocessor"></span> CS_PASSWORD = 9101, 00189 <span class="preprocessor">#define CS_PASSWORD CS_PASSWORD</span> 00190 <span class="preprocessor"></span> CS_APPNAME = 9102, 00191 <span class="preprocessor">#define CS_APPNAME CS_APPNAME</span> 00192 <span class="preprocessor"></span> CS_HOSTNAME = 9103, 00193 <span class="preprocessor">#define CS_HOSTNAME CS_HOSTNAME</span> 00194 <span class="preprocessor"></span> CS_LOGIN_STATUS = 9104, 00195 <span class="preprocessor">#define CS_LOGIN_STATUS CS_LOGIN_STATUS</span> 00196 <span class="preprocessor"></span> CS_TDS_VERSION = 9105, 00197 <span class="preprocessor">#define CS_TDS_VERSION CS_TDS_VERSION</span> 00198 <span class="preprocessor"></span> CS_CHARSETCNV = 9106, 00199 <span class="preprocessor">#define CS_CHARSETCNV CS_CHARSETCNV</span> 00200 <span class="preprocessor"></span> CS_PACKETSIZE = 9107, 00201 <span class="preprocessor">#define CS_PACKETSIZE CS_PACKETSIZE</span> 00202 <span class="preprocessor"></span> CS_USERDATA = 9108, 00203 <span class="preprocessor">#define CS_USERDATA CS_USERDATA</span> 00204 <span class="preprocessor"></span> CS_NETIO = 9110, 00205 <span class="preprocessor">#define CS_NETIO CS_NETIO</span> 00206 <span class="preprocessor"></span> CS_TEXTLIMIT = 9112, 00207 <span class="preprocessor">#define CS_TEXTLIMIT CS_TEXTLIMIT</span> 00208 <span class="preprocessor"></span> CS_HIDDEN_KEYS = 9113, 00209 <span class="preprocessor">#define CS_HIDDEN_KEYS CS_HIDDEN_KEYS</span> 00210 <span class="preprocessor"></span> CS_VERSION = 9114, 00211 <span class="preprocessor">#define CS_VERSION CS_VERSION</span> 00212 <span class="preprocessor"></span> CS_IFILE = 9115, 00213 <span class="preprocessor">#define CS_IFILE CS_IFILE</span> 00214 <span class="preprocessor"></span> CS_LOGIN_TIMEOUT = 9116, 00215 <span class="preprocessor">#define CS_LOGIN_TIMEOUT CS_LOGIN_TIMEOUT</span> 00216 <span class="preprocessor"></span> CS_TIMEOUT = 9117, 00217 <span class="preprocessor">#define CS_TIMEOUT CS_TIMEOUT</span> 00218 <span class="preprocessor"></span> CS_MAX_CONNECT = 9118, 00219 <span class="preprocessor">#define CS_MAX_CONNECT CS_MAX_CONNECT</span> 00220 <span class="preprocessor"></span> CS_EXPOSE_FMTS = 9120, 00221 <span class="preprocessor">#define CS_EXPOSE_FMTS CS_EXPOSE_FMTS</span> 00222 <span class="preprocessor"></span> CS_EXTRA_INF = 9121, 00223 <span class="preprocessor">#define CS_EXTRA_INF CS_EXTRA_INF</span> 00224 <span class="preprocessor"></span> CS_ANSI_BINDS = 9123, 00225 <span class="preprocessor">#define CS_ANSI_BINDS CS_ANSI_BINDS</span> 00226 <span class="preprocessor"></span> CS_BULK_LOGIN = 9124, 00227 <span class="preprocessor">#define CS_BULK_LOGIN CS_BULK_LOGIN</span> 00228 <span class="preprocessor"></span> CS_LOC_PROP = 9125, 00229 <span class="preprocessor">#define CS_LOC_PROP CS_LOC_PROP</span> 00230 <span class="preprocessor"></span> CS_PARENT_HANDLE = 9130, 00231 <span class="preprocessor">#define CS_PARENT_HANDLE CS_PARENT_HANDLE</span> 00232 <span class="preprocessor"></span> CS_EED_CMD = 9131, 00233 <span class="preprocessor">#define CS_EED_CMD CS_EED_CMD</span> 00234 <span class="preprocessor"></span> CS_DIAG_TIMEOUT = 9132, 00235 <span class="preprocessor">#define CS_DIAG_TIMEOUT CS_DIAG_TIMEOUT</span> 00236 <span class="preprocessor"></span> CS_DISABLE_POLL = 9133, 00237 <span class="preprocessor">#define CS_DISABLE_POLL CS_DISABLE_POLL</span> 00238 <span class="preprocessor"></span> CS_SEC_ENCRYPTION = 9135, 00239 <span class="preprocessor">#define CS_SEC_ENCRYPTION CS_SEC_ENCRYPTION</span> 00240 <span class="preprocessor"></span> CS_SEC_CHALLENGE = 9136, 00241 <span class="preprocessor">#define CS_SEC_CHALLENGE CS_SEC_CHALLENGE</span> 00242 <span class="preprocessor"></span> CS_SEC_NEGOTIATE = 9137, 00243 <span class="preprocessor">#define CS_SEC_NEGOTIATE CS_SEC_NEGOTIATE</span> 00244 <span class="preprocessor"></span> CS_CON_STATUS = 9143, 00245 <span class="preprocessor">#define CS_CON_STATUS CS_CON_STATUS</span> 00246 <span class="preprocessor"></span> CS_VER_STRING = 9144, 00247 <span class="preprocessor">#define CS_VER_STRING CS_VER_STRING</span> 00248 <span class="preprocessor"></span> CS_SERVERNAME = 9146, 00249 <span class="preprocessor">#define CS_SERVERNAME CS_SERVERNAME</span> 00250 <span class="preprocessor"></span> CS_SEC_APPDEFINED = 9149, 00251 <span class="preprocessor">#define CS_SEC_APPDEFINED CS_SEC_APPDEFINED</span> 00252 <span class="preprocessor"></span> CS_STICKY_BINDS = 9151, 00253 <span class="preprocessor">#define CS_STICKY_BINDS CS_STICKY_BINDS</span> 00254 <span class="preprocessor"></span> CS_SERVERADDR = 9206, 00255 <span class="preprocessor">#define CS_SERVERADDR CS_SERVERADDR</span> 00256 <span class="preprocessor"></span> CS_PORT = 9300 00257 <span class="preprocessor">#define CS_PORT CS_PORT</span> 00258 <span class="preprocessor"></span>}; 00259 00260 <span class="comment">/* Arbitrary precision math operators */</span> 00261 <span class="keyword">enum</span> 00262 { 00263 CS_ADD = 1, 00264 CS_SUB, 00265 CS_MULT, 00266 CS_DIV 00267 }; 00268 00269 <span class="keyword">enum</span> 00270 { 00271 CS_TDS_40 = 7360, 00272 CS_TDS_42, 00273 CS_TDS_46, 00274 CS_TDS_495, 00275 CS_TDS_50, 00276 CS_TDS_70, 00277 CS_TDS_80 00278 }; 00279 00280 <span class="comment">/* bit mask values used by CS_DATAFMT.status */</span> 00281 <span class="preprocessor">#define CS_HIDDEN (1 << 0)</span> 00282 <span class="preprocessor"></span><span class="preprocessor">#define CS_KEY (1 << 1)</span> 00283 <span class="preprocessor"></span><span class="preprocessor">#define CS_VERSION_KEY (1 << 2)</span> 00284 <span class="preprocessor"></span><span class="preprocessor">#define CS_NODATA (1 << 3)</span> 00285 <span class="preprocessor"></span><span class="preprocessor">#define CS_UPDATABLE (1 << 4)</span> 00286 <span class="preprocessor"></span><span class="preprocessor">#define CS_CANBENULL (1 << 5)</span> 00287 <span class="preprocessor"></span><span class="preprocessor">#define CS_DESCIN (1 << 6)</span> 00288 <span class="preprocessor"></span><span class="preprocessor">#define CS_DESCOUT (1 << 7)</span> 00289 <span class="preprocessor"></span><span class="preprocessor">#define CS_INPUTVALUE (1 << 8)</span> 00290 <span class="preprocessor"></span><span class="preprocessor">#define CS_UPDATECOL (1 << 9)</span> 00291 <span class="preprocessor"></span><span class="preprocessor">#define CS_RETURN (1 << 10)</span> 00292 <span class="preprocessor"></span><span class="preprocessor">#define CS_TIMESTAMP (1 << 13)</span> 00293 <span class="preprocessor"></span><span class="preprocessor">#define CS_NODEFAULT (1 << 14)</span> 00294 <span class="preprocessor"></span><span class="preprocessor">#define CS_IDENTITY (1 << 15)</span> 00295 <span class="preprocessor"></span> 00296 <span class="comment">/*</span> 00297 <span class="comment"> * DBD::Sybase compares indicator to CS_NULLDATA so this is -1</span> 00298 <span class="comment"> * (the documentation states -1)</span> 00299 <span class="comment"> */</span> 00300 <span class="preprocessor">#define CS_GOODDATA 0</span> 00301 <span class="preprocessor"></span><span class="preprocessor">#define CS_NULLDATA (-1)</span> 00302 <span class="preprocessor"></span> 00303 <span class="comment">/* CS_CON_STATUS read-only property bit mask values */</span> 00304 <span class="preprocessor">#define CS_CONSTAT_CONNECTED 0x01</span> 00305 <span class="preprocessor"></span><span class="preprocessor">#define CS_CONSTAT_DEAD 0x02</span> 00306 <span class="preprocessor"></span> 00307 <span class="comment">/*</span> 00308 <span class="comment"> * Code added for CURSOR support</span> 00309 <span class="comment"> * types accepted by ct_cursor</span> 00310 <span class="comment"> */</span> 00311 <span class="preprocessor">#define CS_CURSOR_DECLARE 700</span> 00312 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSOR_OPEN 701</span> 00313 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSOR_ROWS 703</span> 00314 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSOR_UPDATE 704</span> 00315 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSOR_DELETE 705</span> 00316 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSOR_CLOSE 706</span> 00317 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSOR_DEALLOC 707</span> 00318 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSOR_OPTION 725</span> 00319 <span class="preprocessor"></span> 00320 <span class="preprocessor">#define CS_FOR_UPDATE TDS_STATIC_CAST(CS_INT, 0x1)</span> 00321 <span class="preprocessor"></span><span class="preprocessor">#define CS_READ_ONLY TDS_STATIC_CAST(CS_INT, 0x2)</span> 00322 <span class="preprocessor"></span><span class="preprocessor">#define CS_RESTORE_OPEN TDS_STATIC_CAST(CS_INT, 0x8)</span> 00323 <span class="preprocessor"></span><span class="preprocessor">#define CS_IMPLICIT_CURSOR TDS_STATIC_CAST(CS_INT, 0x40)</span> 00324 <span class="preprocessor"></span> 00325 00326 <span class="preprocessor">#define CS_CURSTAT_NONE TDS_STATIC_CAST(CS_INT, 0x0)</span> 00327 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSTAT_DECLARED TDS_STATIC_CAST(CS_INT, 0x1)</span> 00328 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSTAT_OPEN TDS_STATIC_CAST(CS_INT, 0x2)</span> 00329 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSTAT_CLOSED TDS_STATIC_CAST(CS_INT, 0x4)</span> 00330 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSTAT_RDONLY TDS_STATIC_CAST(CS_INT, 0x8)</span> 00331 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSTAT_UPDATABLE TDS_STATIC_CAST(CS_INT, 0x10)</span> 00332 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSTAT_ROWCOUNT TDS_STATIC_CAST(CS_INT, 0x20)</span> 00333 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSTAT_DEALLOC TDS_STATIC_CAST(CS_INT, 0x40)</span> 00334 <span class="preprocessor"></span> 00335 <span class="preprocessor">#define CS_CUR_STATUS TDS_STATIC_CAST(CS_INT, 9126)</span> 00336 <span class="preprocessor"></span><span class="preprocessor">#define CS_CUR_ID TDS_STATIC_CAST(CS_INT, 9127)</span> 00337 <span class="preprocessor"></span><span class="preprocessor">#define CS_CUR_NAME TDS_STATIC_CAST(CS_INT, 9128)</span> 00338 <span class="preprocessor"></span><span class="preprocessor">#define CS_CUR_ROWCOUNT TDS_STATIC_CAST(CS_INT, 9129)</span> 00339 <span class="preprocessor"></span> 00340 <span class="comment">/* options accepted by ct_options() */</span> 00341 <span class="preprocessor">#define CS_OPT_DATEFIRST 5001</span> 00342 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_TEXTSIZE 5002</span> 00343 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_STATS_TIME 5003</span> 00344 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_STATS_IO 5004</span> 00345 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_ROWCOUNT 5005</span> 00346 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_DATEFORMAT 5007</span> 00347 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_ISOLATION 5008</span> 00348 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_AUTHON 5009</span> 00349 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_SHOWPLAN 5013</span> 00350 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_NOEXEC 5014</span> 00351 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_ARITHIGNORE 5015</span> 00352 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_TRUNCIGNORE 5016</span> 00353 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_ARITHABORT 5017</span> 00354 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_PARSEONLY 5018</span> 00355 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_GETDATA 5020</span> 00356 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_NOCOUNT 5021</span> 00357 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_FORCEPLAN 5023</span> 00358 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_FORMATONLY 5024</span> 00359 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_CHAINXACTS 5025</span> 00360 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_CURCLOSEONXACT 5026</span> 00361 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_FIPSFLAG 5027</span> 00362 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_RESTREES 5028</span> 00363 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_IDENTITYON 5029</span> 00364 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_CURREAD 5030</span> 00365 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_CURWRITE 5031</span> 00366 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_IDENTITYOFF 5032</span> 00367 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_AUTHOFF 5033</span> 00368 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_ANSINULL 5034</span> 00369 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_QUOTED_IDENT 5035</span> 00370 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_ANSIPERM 5036</span> 00371 <span class="preprocessor"></span><span class="preprocessor">#define CS_OPT_STR_RTRUNC 5037</span> 00372 <span class="preprocessor"></span> 00373 <span class="comment">/* options accepted by ct_command() */</span> 00374 <span class="keyword">enum</span> ct_command_options 00375 { 00376 CS_MORE = 16, 00377 CS_END = 32, 00378 CS_RECOMPILE = 188, 00379 CS_NO_RECOMPILE, 00380 CS_BULK_INIT, 00381 CS_BULK_CONT, 00382 CS_BULK_DATA, 00383 CS_COLUMN_DATA 00384 }; 00385 00386 00387 <span class="comment">/*</span> 00388 <span class="comment"> * bind formats, should be mapped to TDS types</span> 00389 <span class="comment"> * can be a combination of bit</span> 00390 <span class="comment"> */</span> 00391 <span class="keyword">enum</span> 00392 { 00393 CS_FMT_UNUSED = 0, 00394 <span class="preprocessor">#define CS_FMT_UNUSED CS_FMT_UNUSED</span> 00395 <span class="preprocessor"></span> CS_FMT_NULLTERM = 1, 00396 <span class="preprocessor">#define CS_FMT_NULLTERM CS_FMT_NULLTERM</span> 00397 <span class="preprocessor"></span> CS_FMT_PADNULL = 2, 00398 <span class="preprocessor">#define CS_FMT_PADBLANK CS_FMT_PADBLANK</span> 00399 <span class="preprocessor"></span> CS_FMT_PADBLANK = 4, 00400 <span class="preprocessor">#define CS_FMT_PADNULL CS_FMT_PADNULL</span> 00401 <span class="preprocessor"></span> CS_FMT_JUSTIFY_RT = 8 00402 <span class="preprocessor">#define CS_FMT_JUSTIFY_RT CS_FMT_JUSTIFY_RT</span> 00403 <span class="preprocessor"></span>}; 00404 00405 <span class="comment">/* callbacks */</span> 00406 <span class="preprocessor">#define CS_COMPLETION_CB 1</span> 00407 <span class="preprocessor"></span><span class="preprocessor">#define CS_SERVERMSG_CB 2</span> 00408 <span class="preprocessor"></span><span class="preprocessor">#define CS_CLIENTMSG_CB 3</span> 00409 <span class="preprocessor"></span><span class="preprocessor">#define CS_NOTIF_CB 4</span> 00410 <span class="preprocessor"></span><span class="preprocessor">#define CS_ENCRYPT_CB 5</span> 00411 <span class="preprocessor"></span><span class="preprocessor">#define CS_CHALLENGE_CB 6</span> 00412 <span class="preprocessor"></span><span class="preprocessor">#define CS_DS_LOOKUP_CB 7</span> 00413 <span class="preprocessor"></span><span class="preprocessor">#define CS_SECSESSION_CB 8</span> 00414 <span class="preprocessor"></span><span class="preprocessor">#define CS_SIGNAL_CB 100</span> 00415 <span class="preprocessor"></span><span class="preprocessor">#define CS_MESSAGE_CB 9119</span> 00416 <span class="preprocessor"></span> 00417 <span class="comment">/* string types */</span> 00418 <span class="preprocessor">#define CS_NULLTERM -9</span> 00419 <span class="preprocessor"></span><span class="preprocessor">#define CS_WILDCARD -99</span> 00420 <span class="preprocessor"></span><span class="preprocessor">#define CS_NO_LIMIT -9999</span> 00421 <span class="preprocessor"></span><span class="preprocessor">#define CS_UNUSED -99999</span> 00422 <span class="preprocessor"></span> 00423 <span class="comment">/* other */</span> 00424 <span class="preprocessor">#define CS_GET 33</span> 00425 <span class="preprocessor"></span><span class="preprocessor">#define CS_SET 34</span> 00426 <span class="preprocessor"></span><span class="preprocessor">#define CS_CLEAR 35</span> 00427 <span class="preprocessor"></span><span class="preprocessor">#define CS_INIT 36</span> 00428 <span class="preprocessor"></span><span class="preprocessor">#define CS_STATUS 37</span> 00429 <span class="preprocessor"></span><span class="preprocessor">#define CS_MSGLIMIT 38</span> 00430 <span class="preprocessor"></span><span class="preprocessor">#define CS_SUPPORTED 40</span> 00431 <span class="preprocessor"></span> 00432 <span class="preprocessor">#define CS_CMD_DONE 4046</span> 00433 <span class="preprocessor"></span><span class="preprocessor">#define CS_CMD_SUCCEED 4047</span> 00434 <span class="preprocessor"></span><span class="preprocessor">#define CS_CMD_FAIL 4048</span> 00435 <span class="preprocessor"></span> 00436 <span class="comment">/* commands */</span> 00437 <span class="preprocessor">#define CS_LANG_CMD 148</span> 00438 <span class="preprocessor"></span><span class="preprocessor">#define CS_RPC_CMD 149</span> 00439 <span class="preprocessor"></span><span class="preprocessor">#define CS_SEND_DATA_CMD 151</span> 00440 <span class="preprocessor"></span><span class="preprocessor">#define CS_SEND_BULK_CMD 153</span> 00441 <span class="preprocessor"></span> 00442 <span class="preprocessor">#define CS_VERSION_100 112</span> 00443 <span class="preprocessor"></span><span class="preprocessor">#define CS_VERSION_110 1100</span> 00444 <span class="preprocessor"></span><span class="preprocessor">#define CS_VERSION_120 1100</span> 00445 <span class="preprocessor"></span><span class="preprocessor">#define CS_VERSION_125 12500</span> 00446 <span class="preprocessor"></span><span class="preprocessor">#define CS_VERSION_150 15000</span> 00447 <span class="preprocessor"></span> 00448 <span class="preprocessor">#define BLK_VERSION_100 CS_VERSION_100</span> 00449 <span class="preprocessor"></span><span class="preprocessor">#define BLK_VERSION_110 CS_VERSION_100</span> 00450 <span class="preprocessor"></span> 00451 <span class="preprocessor">#define CS_FORCE_EXIT 300</span> 00452 <span class="preprocessor"></span><span class="preprocessor">#define CS_FORCE_CLOSE 301</span> 00453 <span class="preprocessor"></span> 00454 <span class="preprocessor">#define CS_SYNC_IO 8111</span> 00455 <span class="preprocessor"></span><span class="preprocessor">#define CS_ASYNC_IO 8112</span> 00456 <span class="preprocessor"></span><span class="preprocessor">#define CS_DEFER_IO 8113</span> 00457 <span class="preprocessor"></span> 00458 <span class="preprocessor">#define CS_CANCEL_CURRENT 6000</span> 00459 <span class="preprocessor"></span><span class="preprocessor">#define CS_CANCEL_ALL 6001</span> 00460 <span class="preprocessor"></span><span class="preprocessor">#define CS_CANCEL_ATTN 6002</span> 00461 <span class="preprocessor"></span> 00462 <span class="preprocessor">#define CS_ROW_COUNT 800</span> 00463 <span class="preprocessor"></span><span class="preprocessor">#define CS_CMD_NUMBER 801</span> 00464 <span class="preprocessor"></span><span class="preprocessor">#define CS_NUM_COMPUTES 802</span> 00465 <span class="preprocessor"></span><span class="preprocessor">#define CS_NUMDATA 803</span> 00466 <span class="preprocessor"></span><span class="preprocessor">#define CS_NUMORDERCOLS 805</span> 00467 <span class="preprocessor"></span><span class="preprocessor">#define CS_MSGTYPE 806</span> 00468 <span class="preprocessor"></span><span class="preprocessor">#define CS_BROWSE_INFO 807</span> 00469 <span class="preprocessor"></span><span class="preprocessor">#define CS_TRANS_STATE 808</span> 00470 <span class="preprocessor"></span> 00471 <span class="preprocessor">#define CS_TRAN_UNDEFINED 0</span> 00472 <span class="preprocessor"></span><span class="preprocessor">#define CS_TRAN_IN_PROGRESS 1</span> 00473 <span class="preprocessor"></span><span class="preprocessor">#define CS_TRAN_COMPLETED 2</span> 00474 <span class="preprocessor"></span><span class="preprocessor">#define CS_TRAN_FAIL 3</span> 00475 <span class="preprocessor"></span><span class="preprocessor">#define CS_TRAN_STMT_FAIL 4</span> 00476 <span class="preprocessor"></span> 00477 <span class="preprocessor">#define CS_COMP_OP 5350</span> 00478 <span class="preprocessor"></span><span class="preprocessor">#define CS_COMP_ID 5351</span> 00479 <span class="preprocessor"></span><span class="preprocessor">#define CS_COMP_COLID 5352</span> 00480 <span class="preprocessor"></span><span class="preprocessor">#define CS_COMP_BYLIST 5353</span> 00481 <span class="preprocessor"></span><span class="preprocessor">#define CS_BYLIST_LEN 5354</span> 00482 <span class="preprocessor"></span> 00483 <span class="preprocessor">#define CS_NO_COUNT -1</span> 00484 <span class="preprocessor"></span> 00485 <span class="preprocessor">#define CS_OP_SUM 5370</span> 00486 <span class="preprocessor"></span><span class="preprocessor">#define CS_OP_AVG 5371</span> 00487 <span class="preprocessor"></span><span class="preprocessor">#define CS_OP_COUNT 5372</span> 00488 <span class="preprocessor"></span><span class="preprocessor">#define CS_OP_MIN 5373</span> 00489 <span class="preprocessor"></span><span class="preprocessor">#define CS_OP_MAX 5374</span> 00490 <span class="preprocessor"></span> 00491 <span class="preprocessor">#define CS_CAP_REQUEST 1</span> 00492 <span class="preprocessor"></span><span class="preprocessor">#define CS_CAP_RESPONSE 2</span> 00493 <span class="preprocessor"></span> 00494 <span class="preprocessor">#define CS_PREPARE 717</span> 00495 <span class="preprocessor"></span><span class="preprocessor">#define CS_EXECUTE 718</span> 00496 <span class="preprocessor"></span><span class="preprocessor">#define CS_DESCRIBE_INPUT 720</span> 00497 <span class="preprocessor"></span><span class="preprocessor">#define CS_DESCRIBE_OUTPUT 721</span> 00498 <span class="preprocessor"></span> 00499 <span class="preprocessor">#define CS_DEALLOC 711</span> 00500 <span class="preprocessor"></span> 00501 <span class="preprocessor">#define CS_LC_ALL 7</span> 00502 <span class="preprocessor"></span><span class="preprocessor">#define CS_SYB_LANG 8</span> 00503 <span class="preprocessor"></span><span class="preprocessor">#define CS_SYB_CHARSET 9</span> 00504 <span class="preprocessor"></span><span class="preprocessor">#define CS_SYB_SORTORDER 10</span> 00505 <span class="preprocessor"></span><span class="preprocessor">#define CS_SYB_COLLATE CS_SYB_SORTORDER</span> 00506 <span class="preprocessor"></span><span class="preprocessor">#define CS_SYB_LANG_CHARSET 11</span> 00507 <span class="preprocessor"></span> 00508 <span class="preprocessor">#define CS_BLK_IN 1</span> 00509 <span class="preprocessor"></span><span class="preprocessor">#define CS_BLK_OUT 2</span> 00510 <span class="preprocessor"></span> 00511 <span class="preprocessor">#define CS_BLK_BATCH 1</span> 00512 <span class="preprocessor"></span><span class="preprocessor">#define CS_BLK_ALL 2</span> 00513 <span class="preprocessor"></span><span class="preprocessor">#define CS_BLK_CANCEL 3</span> 00514 <span class="preprocessor"></span> 00515 <span class="comment">/* to do support these */</span> 00516 00517 <span class="preprocessor">#define CS_BLK_ARRAY_MAXLEN 0x1000</span> 00518 <span class="preprocessor"></span><span class="preprocessor">#define CS_DEF_PREC 18</span> 00519 <span class="preprocessor"></span> 00520 <span class="comment">/* Error Severities */</span> 00521 <span class="preprocessor">#define CS_SV_INFORM TDS_STATIC_CAST(CS_INT, 0)</span> 00522 <span class="preprocessor"></span><span class="preprocessor">#define CS_SV_API_FAIL TDS_STATIC_CAST(CS_INT, 1)</span> 00523 <span class="preprocessor"></span><span class="preprocessor">#define CS_SV_RETRY_FAIL TDS_STATIC_CAST(CS_INT, 2)</span> 00524 <span class="preprocessor"></span><span class="preprocessor">#define CS_SV_RESOURCE_FAIL TDS_STATIC_CAST(CS_INT, 3)</span> 00525 <span class="preprocessor"></span><span class="preprocessor">#define CS_SV_CONFIG_FAIL TDS_STATIC_CAST(CS_INT, 4)</span> 00526 <span class="preprocessor"></span><span class="preprocessor">#define CS_SV_COMM_FAIL TDS_STATIC_CAST(CS_INT, 5)</span> 00527 <span class="preprocessor"></span><span class="preprocessor">#define CS_SV_INTERNAL_FAIL TDS_STATIC_CAST(CS_INT, 6)</span> 00528 <span class="preprocessor"></span><span class="preprocessor">#define CS_SV_FATAL TDS_STATIC_CAST(CS_INT, 7)</span> 00529 <span class="preprocessor"></span> 00530 <span class="comment">/* result_types */</span> 00531 <span class="preprocessor">#define CS_COMPUTE_RESULT 4045</span> 00532 <span class="preprocessor"></span><span class="preprocessor">#define CS_CURSOR_RESULT 4041</span> 00533 <span class="preprocessor"></span><span class="preprocessor">#define CS_PARAM_RESULT 4042</span> 00534 <span class="preprocessor"></span><span class="preprocessor">#define CS_ROW_RESULT 4040</span> 00535 <span class="preprocessor"></span><span class="preprocessor">#define CS_STATUS_RESULT 4043</span> 00536 <span class="preprocessor"></span><span class="preprocessor">#define CS_COMPUTEFMT_RESULT 4050</span> 00537 <span class="preprocessor"></span><span class="preprocessor">#define CS_ROWFMT_RESULT 4049</span> 00538 <span class="preprocessor"></span><span class="preprocessor">#define CS_MSG_RESULT 4044</span> 00539 <span class="preprocessor"></span><span class="preprocessor">#define CS_DESCRIBE_RESULT 4051</span> 00540 <span class="preprocessor"></span> 00541 <span class="comment">/* bind types */</span> 00542 <span class="preprocessor">#define CS_ILLEGAL_TYPE TDS_STATIC_CAST(CS_INT, -1)</span> 00543 <span class="preprocessor"></span><span class="preprocessor">#define CS_CHAR_TYPE TDS_STATIC_CAST(CS_INT, 0)</span> 00544 <span class="preprocessor"></span><span class="preprocessor">#define CS_BINARY_TYPE TDS_STATIC_CAST(CS_INT, 1)</span> 00545 <span class="preprocessor"></span><span class="preprocessor">#define CS_LONGCHAR_TYPE TDS_STATIC_CAST(CS_INT, 2)</span> 00546 <span class="preprocessor"></span><span class="preprocessor">#define CS_LONGBINARY_TYPE TDS_STATIC_CAST(CS_INT, 3)</span> 00547 <span class="preprocessor"></span><span class="preprocessor">#define CS_TEXT_TYPE TDS_STATIC_CAST(CS_INT, 4)</span> 00548 <span class="preprocessor"></span><span class="preprocessor">#define CS_IMAGE_TYPE TDS_STATIC_CAST(CS_INT, 5)</span> 00549 <span class="preprocessor"></span><span class="preprocessor">#define CS_TINYINT_TYPE TDS_STATIC_CAST(CS_INT, 6)</span> 00550 <span class="preprocessor"></span><span class="preprocessor">#define CS_SMALLINT_TYPE TDS_STATIC_CAST(CS_INT, 7)</span> 00551 <span class="preprocessor"></span><span class="preprocessor">#define CS_INT_TYPE TDS_STATIC_CAST(CS_INT, 8)</span> 00552 <span class="preprocessor"></span><span class="preprocessor">#define CS_REAL_TYPE TDS_STATIC_CAST(CS_INT, 9)</span> 00553 <span class="preprocessor"></span><span class="preprocessor">#define CS_FLOAT_TYPE TDS_STATIC_CAST(CS_INT, 10)</span> 00554 <span class="preprocessor"></span><span class="preprocessor">#define CS_BIT_TYPE TDS_STATIC_CAST(CS_INT, 11)</span> 00555 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATETIME_TYPE TDS_STATIC_CAST(CS_INT, 12)</span> 00556 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATETIME4_TYPE TDS_STATIC_CAST(CS_INT, 13)</span> 00557 <span class="preprocessor"></span><span class="preprocessor">#define CS_MONEY_TYPE TDS_STATIC_CAST(CS_INT, 14)</span> 00558 <span class="preprocessor"></span><span class="preprocessor">#define CS_MONEY4_TYPE TDS_STATIC_CAST(CS_INT, 15)</span> 00559 <span class="preprocessor"></span><span class="preprocessor">#define CS_NUMERIC_TYPE TDS_STATIC_CAST(CS_INT, 16)</span> 00560 <span class="preprocessor"></span><span class="preprocessor">#define CS_DECIMAL_TYPE TDS_STATIC_CAST(CS_INT, 17)</span> 00561 <span class="preprocessor"></span><span class="preprocessor">#define CS_VARCHAR_TYPE TDS_STATIC_CAST(CS_INT, 18)</span> 00562 <span class="preprocessor"></span><span class="preprocessor">#define CS_VARBINARY_TYPE TDS_STATIC_CAST(CS_INT, 19)</span> 00563 <span class="preprocessor"></span><span class="preprocessor">#define CS_LONG_TYPE TDS_STATIC_CAST(CS_INT, 20)</span> 00564 <span class="preprocessor"></span><span class="preprocessor">#define CS_SENSITIVITY_TYPE TDS_STATIC_CAST(CS_INT, 21)</span> 00565 <span class="preprocessor"></span><span class="preprocessor">#define CS_BOUNDARY_TYPE TDS_STATIC_CAST(CS_INT, 22)</span> 00566 <span class="preprocessor"></span><span class="preprocessor">#define CS_VOID_TYPE TDS_STATIC_CAST(CS_INT, 23)</span> 00567 <span class="preprocessor"></span><span class="preprocessor">#define CS_USHORT_TYPE TDS_STATIC_CAST(CS_INT, 24)</span> 00568 <span class="preprocessor"></span><span class="preprocessor">#define CS_UNICHAR_TYPE TDS_STATIC_CAST(CS_INT, 25)</span> 00569 <span class="preprocessor"></span><span class="preprocessor">#define CS_BLOB_TYPE TDS_STATIC_CAST(CS_INT, 26)</span> 00570 <span class="preprocessor"></span><span class="preprocessor">#define CS_DATE_TYPE TDS_STATIC_CAST(CS_INT, 27)</span> 00571 <span class="preprocessor"></span><span class="preprocessor">#define CS_TIME_TYPE TDS_STATIC_CAST(CS_INT, 28)</span> 00572 <span class="preprocessor"></span><span class="preprocessor">#define CS_UNITEXT_TYPE TDS_STATIC_CAST(CS_INT, 29)</span> 00573 <span class="preprocessor"></span><span class="preprocessor">#define CS_BIGINT_TYPE TDS_STATIC_CAST(CS_INT, 30)</span> 00574 <span class="preprocessor"></span><span class="preprocessor">#define CS_USMALLINT_TYPE TDS_STATIC_CAST(CS_INT, 31)</span> 00575 <span class="preprocessor"></span><span class="preprocessor">#define CS_UINT_TYPE TDS_STATIC_CAST(CS_INT, 32)</span> 00576 <span class="preprocessor"></span><span class="preprocessor">#define CS_UBIGINT_TYPE TDS_STATIC_CAST(CS_INT, 33)</span> 00577 <span class="preprocessor"></span><span class="preprocessor">#define CS_XML_TYPE TDS_STATIC_CAST(CS_INT, 34)</span> 00578 <span class="preprocessor"></span><span class="preprocessor">#define CS_UNIQUE_TYPE TDS_STATIC_CAST(CS_INT, 40)</span> 00579 <span class="preprocessor"></span> 00580 <span class="preprocessor">#define CS_USER_TYPE TDS_STATIC_CAST(CS_INT, 100)</span> 00581 <span class="preprocessor"></span><span class="comment">/* cs_dt_info type values */</span> 00582 <span class="keyword">enum</span> 00583 { 00584 CS_MONTH = 7340, 00585 <span class="preprocessor">#define CS_MONTH CS_MONTH</span> 00586 <span class="preprocessor"></span> CS_SHORTMONTH, 00587 <span class="preprocessor">#define CS_SHORTMONTH CS_SHORTMONTH</span> 00588 <span class="preprocessor"></span> CS_DAYNAME, 00589 <span class="preprocessor">#define CS_DAYNAME CS_DAYNAME</span> 00590 <span class="preprocessor"></span> CS_DATEORDER, 00591 <span class="preprocessor">#define CS_DATEORDER CS_DATEORDER</span> 00592 <span class="preprocessor"></span> CS_12HOUR, 00593 <span class="preprocessor">#define CS_12HOUR CS_12HOUR</span> 00594 <span class="preprocessor"></span> CS_DT_CONVFMT 00595 <span class="preprocessor">#define CS_DT_CONVFMT CS_DT_CONVFMT</span> 00596 <span class="preprocessor"></span>}; 00597 00598 <span class="comment">/* DT_CONVFMT types */</span> 00599 <span class="keyword">enum</span> 00600 { 00601 CS_DATES_SHORT = 0, 00602 <span class="preprocessor">#define CS_DATES_SHORT CS_DATES_SHORT</span> 00603 <span class="preprocessor"></span> CS_DATES_MDY1, 00604 <span class="preprocessor">#define CS_DATES_MDY1 CS_DATES_MDY1</span> 00605 <span class="preprocessor"></span> CS_DATES_YMD1, 00606 <span class="preprocessor">#define CS_DATES_YMD1 CS_DATES_YMD1</span> 00607 <span class="preprocessor"></span> CS_DATES_DMY1, 00608 <span class="preprocessor">#define CS_DATES_DMY1 CS_DATES_DMY1</span> 00609 <span class="preprocessor"></span> CS_DATES_DMY2, 00610 <span class="preprocessor">#define CS_DATES_DMY2 CS_DATES_DMY2</span> 00611 <span class="preprocessor"></span> CS_DATES_DMY3, 00612 <span class="preprocessor">#define CS_DATES_DMY3 CS_DATES_DMY3</span> 00613 <span class="preprocessor"></span> CS_DATES_DMY4, 00614 <span class="preprocessor">#define CS_DATES_DMY4 CS_DATES_DMY4</span> 00615 <span class="preprocessor"></span> CS_DATES_MDY2, 00616 <span class="preprocessor">#define CS_DATES_MDY2 CS_DATES_MDY2</span> 00617 <span class="preprocessor"></span> CS_DATES_HMS, 00618 <span class="preprocessor">#define CS_DATES_HMS CS_DATES_HMS</span> 00619 <span class="preprocessor"></span> CS_DATES_LONG, 00620 <span class="preprocessor">#define CS_DATES_LONG CS_DATES_LONG</span> 00621 <span class="preprocessor"></span> CS_DATES_MDY3, 00622 <span class="preprocessor">#define CS_DATES_MDY3 CS_DATES_MDY3</span> 00623 <span class="preprocessor"></span> CS_DATES_YMD2, 00624 <span class="preprocessor">#define CS_DATES_YMD2 CS_DATES_YMD2</span> 00625 <span class="preprocessor"></span> CS_DATES_YMD3, 00626 <span class="preprocessor">#define CS_DATES_YMD3 CS_DATES_YMD3</span> 00627 <span class="preprocessor"></span> CS_DATES_YDM1, 00628 <span class="preprocessor">#define CS_DATES_YDM1 CS_DATES_YDM1</span> 00629 <span class="preprocessor"></span> CS_DATES_MYD1, 00630 <span class="preprocessor">#define CS_DATES_MYD1 CS_DATES_MYD1</span> 00631 <span class="preprocessor"></span> CS_DATES_DYM1, 00632 <span class="preprocessor">#define CS_DATES_DYM1 CS_DATES_DYM1</span> 00633 <span class="preprocessor"></span> CS_DATES_MDY1_YYYY = 101, 00634 <span class="preprocessor">#define CS_DATES_MDY1_YYYY CS_DATES_MDY1_YYYY</span> 00635 <span class="preprocessor"></span> CS_DATES_YMD1_YYYY, 00636 <span class="preprocessor">#define CS_DATES_YMD1_YYYY CS_DATES_YMD1_YYYY</span> 00637 <span class="preprocessor"></span> CS_DATES_DMY1_YYYY, 00638 <span class="preprocessor">#define CS_DATES_DMY1_YYYY CS_DATES_DMY1_YYYY</span> 00639 <span class="preprocessor"></span> CS_DATES_DMY2_YYYY, 00640 <span class="preprocessor">#define CS_DATES_DMY2_YYYY CS_DATES_DMY2_YYYY</span> 00641 <span class="preprocessor"></span> CS_DATES_DMY3_YYYY, 00642 <span class="preprocessor">#define CS_DATES_DMY3_YYYY CS_DATES_DMY3_YYYY</span> 00643 <span class="preprocessor"></span> CS_DATES_DMY4_YYYY, 00644 <span class="preprocessor">#define CS_DATES_DMY4_YYYY CS_DATES_DMY4_YYYY</span> 00645 <span class="preprocessor"></span> CS_DATES_MDY2_YYYY, 00646 <span class="preprocessor">#define CS_DATES_MDY2_YYYY CS_DATES_MDY2_YYYY</span> 00647 <span class="preprocessor"></span> CS_DATES_MDY3_YYYY = 110, 00648 <span class="preprocessor">#define CS_DATES_MDY3_YYYY CS_DATES_MDY3_YYYY</span> 00649 <span class="preprocessor"></span> CS_DATES_YMD2_YYYY, 00650 <span class="preprocessor">#define CS_DATES_YMD2_YYYY CS_DATES_YMD2_YYYY</span> 00651 <span class="preprocessor"></span> CS_DATES_YMD3_YYYY 00652 <span class="preprocessor">#define CS_DATES_YMD3_YYYY CS_DATES_YMD3_YYYY</span> 00653 <span class="preprocessor"></span>}; 00654 00655 <span class="keyword">typedef</span> CS_RETCODE(*CS_CONV_FUNC) (CS_CONTEXT * context, CS_DATAFMT * srcfmt, CS_VOID * src, CS_DATAFMT * detsfmt, CS_VOID * dest, 00656 CS_INT * destlen); 00657 00658 <span class="keyword">typedef</span> <span class="keyword">struct </span>_cs_objname 00659 { 00660 CS_BOOL thinkexists; 00661 CS_INT object_type; 00662 CS_CHAR last_name[CS_MAX_NAME]; 00663 CS_INT lnlen; 00664 CS_CHAR first_name[CS_MAX_NAME]; 00665 CS_INT fnlen; 00666 CS_VOID *scope; 00667 CS_INT scopelen; 00668 CS_VOID *thread; 00669 CS_INT threadlen; 00670 } CS_OBJNAME; 00671 00672 <span class="keyword">typedef</span> <span class="keyword">struct </span>_cs_objdata 00673 { 00674 CS_BOOL actuallyexists; 00675 CS_CONNECTION *connection; 00676 CS_COMMAND *command; 00677 CS_VOID *buffer; 00678 CS_INT buflen; 00679 } CS_OBJDATA; 00680 00681 <span class="comment">/* Eventually, these should be in terms of TDS values */</span> 00682 <span class="keyword">enum</span> 00683 { 00684 CS_OPT_MONDAY = 1, 00685 CS_OPT_TUESDAY, 00686 CS_OPT_WEDNESDAY, 00687 CS_OPT_THURSDAY, 00688 CS_OPT_FRIDAY, 00689 CS_OPT_SATURDAY, 00690 CS_OPT_SUNDAY 00691 }; 00692 <span class="keyword">enum</span> 00693 { 00694 CS_OPT_FMTMDY = 1, 00695 CS_OPT_FMTDMY, 00696 CS_OPT_FMTYMD, 00697 CS_OPT_FMTYDM, 00698 CS_OPT_FMTMYD, 00699 CS_OPT_FMTDYM 00700 }; 00701 <span class="keyword">enum</span> 00702 { 00703 CS_OPT_LEVEL0 = 0, 00704 CS_OPT_LEVEL1, 00705 CS_OPT_LEVEL2, 00706 CS_OPT_LEVEL3 00707 }; 00708 00709 <span class="preprocessor">#define CS_FALSE 0</span> 00710 <span class="preprocessor"></span><span class="preprocessor">#define CS_TRUE 1</span> 00711 <span class="preprocessor"></span> 00712 <span class="preprocessor">#define SRV_PROC CS_VOID</span> 00713 <span class="preprocessor"></span> 00714 <span class="comment">/* constants required for ct_diag (not jet implemented) */</span> 00715 <span class="preprocessor">#define CS_CLIENTMSG_TYPE 4700</span> 00716 <span class="preprocessor"></span><span class="preprocessor">#define CS_SERVERMSG_TYPE 4701</span> 00717 <span class="preprocessor"></span><span class="preprocessor">#define CS_ALLMSG_TYPE 4702</span> 00718 <span class="preprocessor"></span> 00719 CS_RETCODE cs_convert(CS_CONTEXT * ctx, CS_DATAFMT * srcfmt, CS_VOID * srcdata, CS_DATAFMT * destfmt, CS_VOID * destdata, 00720 CS_INT * resultlen); 00721 CS_RETCODE cs_ctx_alloc(CS_INT version, CS_CONTEXT ** ctx); 00722 CS_RETCODE cs_ctx_global(CS_INT version, CS_CONTEXT ** ctx); 00723 CS_RETCODE cs_ctx_drop(CS_CONTEXT * ctx); 00724 CS_RETCODE cs_config(CS_CONTEXT * ctx, CS_INT action, CS_INT property, CS_VOID * buffer, CS_INT buflen, CS_INT * outlen); 00725 CS_RETCODE cs_strbuild(CS_CONTEXT * ctx, CS_CHAR * buffer, CS_INT buflen, CS_INT * resultlen, CS_CHAR * text, CS_INT textlen, 00726 CS_CHAR * formats, CS_INT formatlen, ...); 00727 CS_RETCODE cs_dt_crack(CS_CONTEXT * ctx, CS_INT datetype, CS_VOID * dateval, CS_DATEREC * daterec); 00728 CS_RETCODE cs_loc_alloc(CS_CONTEXT * ctx, CS_LOCALE ** locptr); 00729 CS_RETCODE cs_loc_drop(CS_CONTEXT * ctx, CS_LOCALE * locale); 00730 CS_RETCODE cs_locale(CS_CONTEXT * ctx, CS_INT action, CS_LOCALE * locale, CS_INT type, CS_VOID * buffer, CS_INT buflen, 00731 CS_INT * outlen); 00732 CS_RETCODE cs_dt_info(CS_CONTEXT * ctx, CS_INT action, CS_LOCALE * locale, CS_INT type, CS_INT item, CS_VOID * buffer, 00733 CS_INT buflen, CS_INT * outlen); 00734 00735 CS_RETCODE cs_calc(CS_CONTEXT * ctx, CS_INT op, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_VOID * dest); 00736 CS_RETCODE cs_cmp(CS_CONTEXT * ctx, CS_INT datatype, CS_VOID * var1, CS_VOID * var2, CS_INT * result); 00737 CS_RETCODE cs_conv_mult(CS_CONTEXT * ctx, CS_LOCALE * srcloc, CS_LOCALE * destloc, CS_INT * conv_multiplier); 00738 CS_RETCODE cs_diag(CS_CONTEXT * ctx, CS_INT operation, CS_INT type, CS_INT idx, CS_VOID * buffer); 00739 CS_RETCODE cs_manage_convert(CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_CHAR * srcname, CS_INT srcnamelen, CS_INT desttype, 00740 CS_CHAR * destname, CS_INT destnamelen, CS_INT * conv_multiplier, CS_CONV_FUNC * func); 00741 CS_RETCODE cs_objects(CS_CONTEXT * ctx, CS_INT action, CS_OBJNAME * objname, CS_OBJDATA * objdata); 00742 CS_RETCODE cs_set_convert(CS_CONTEXT * ctx, CS_INT action, CS_INT srctype, CS_INT desttype, CS_CONV_FUNC * func); 00743 CS_RETCODE cs_setnull(CS_CONTEXT * ctx, CS_DATAFMT * datafmt, CS_VOID * buffer, CS_INT buflen); 00744 CS_RETCODE cs_strcmp(CS_CONTEXT * ctx, CS_LOCALE * locale, CS_INT type, CS_CHAR * str1, CS_INT len1, CS_CHAR * str2, CS_INT len2, 00745 CS_INT * result); 00746 CS_RETCODE cs_time(CS_CONTEXT * ctx, CS_LOCALE * locale, CS_VOID * buffer, CS_INT buflen, CS_INT * outlen, CS_DATEREC * daterec); 00747 CS_RETCODE cs_will_convert(CS_CONTEXT * ctx, CS_INT srctype, CS_INT desttype, CS_BOOL * result); 00748 00749 <span class="preprocessor">#ifdef __cplusplus</span> 00750 <span class="preprocessor"></span><span class="preprocessor">#if 0</span> 00751 <span class="preprocessor"></span>{ 00752 <span class="preprocessor">#endif</span> 00753 <span class="preprocessor"></span>} 00754 <span class="preprocessor">#endif</span> 00755 <span class="preprocessor"></span> 00756 <span class="preprocessor">#endif</span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed May 7 19:22:08 2008 for FreeTDS API by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address> </body> </html>