1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>FreeTDS API: /usr/local/users/home/jklowden/projects/releases/freetds/0.82/include/tds_sysdep_private.h Source File</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
<!-- Generated by Doxygen 1.4.1 -->
7
<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>
9
<a class="el" href="dir_000000.html">include</a></div>
10
<h1>tds_sysdep_private.h</h1><div class="fragment"><pre class="fragment">00001 <span class="comment">/* FreeTDS - Library of routines accessing Sybase and Microsoft databases</span>
11
00002 <span class="comment"> * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Brian Bruns</span>
12
00003 <span class="comment"> *</span>
13
00004 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
14
00005 <span class="comment"> * modify it under the terms of the GNU Library General Public</span>
15
00006 <span class="comment"> * License as published by the Free Software Foundation; either</span>
16
00007 <span class="comment"> * version 2 of the License, or (at your option) any later version.</span>
17
00008 <span class="comment"> *</span>
18
00009 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
19
00010 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
20
00011 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
21
00012 <span class="comment"> * Library General Public License for more details.</span>
22
00013 <span class="comment"> *</span>
23
00014 <span class="comment"> * You should have received a copy of the GNU Library General Public</span>
24
00015 <span class="comment"> * License along with this library; if not, write to the</span>
25
00016 <span class="comment"> * Free Software Foundation, Inc., 59 Temple Place - Suite 330,</span>
26
00017 <span class="comment"> * Boston, MA 02111-1307, USA.</span>
27
00018 <span class="comment"> */</span>
29
00020 <span class="preprocessor">#ifndef _tds_sysdep_private_h_</span>
30
00021 <span class="preprocessor"></span><span class="preprocessor">#define _tds_sysdep_private_h_</span>
31
00022 <span class="preprocessor"></span>
32
00023 <span class="comment">/* $Id: tds_sysdep_private.h,v 1.23.2.1 2008/03/11 08:27:35 freddy77 Exp $ */</span>
34
00025 <span class="preprocessor">#undef TDS_RCSID</span>
35
00026 <span class="preprocessor"></span><span class="preprocessor">#if defined(__GNUC__) && __GNUC__ >= 3</span>
36
00027 <span class="preprocessor"></span><span class="preprocessor">#define TDS_RCSID(name, id) \</span>
37
00028 <span class="preprocessor"> static const char rcsid_##name[] __attribute__ ((unused)) = id</span>
38
00029 <span class="preprocessor"></span><span class="preprocessor">#else</span>
39
00030 <span class="preprocessor"></span><span class="preprocessor">#define TDS_RCSID(name, id) \</span>
40
00031 <span class="preprocessor"> static const char rcsid_##name[] = id; \</span>
41
00032 <span class="preprocessor"> static const void *const no_unused_##name##_warn[] = { rcsid_##name, no_unused_##name##_warn }</span>
42
00033 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
43
00034 <span class="preprocessor"></span>
44
00035 <span class="preprocessor">#define TDS_ADDITIONAL_SPACE 0</span>
45
00036 <span class="preprocessor"></span>
46
00037 <span class="preprocessor">#ifdef __cplusplus</span>
47
00038 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span>
49
00040 <span class="preprocessor">#if 0</span>
50
00041 <span class="preprocessor"></span>}
51
00042 <span class="preprocessor">#endif</span>
52
00043 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
53
00044 <span class="preprocessor"></span>
54
00045 <span class="preprocessor">#ifdef __INCvxWorksh</span>
55
00046 <span class="preprocessor"></span><span class="preprocessor">#include <ioLib.h></span> <span class="comment">/* for FIONBIO */</span>
56
00047 <span class="preprocessor">#endif </span><span class="comment">/* __INCvxWorksh */</span>
58
00049 <span class="preprocessor">#if defined(DOS32X)</span>
59
00050 <span class="preprocessor"></span><span class="preprocessor">#define READSOCKET(a,b,c) recv((a), (b), (c), 0L)</span>
60
00051 <span class="preprocessor"></span><span class="preprocessor">#define WRITESOCKET(a,b,c) send((a), (b), (c), 0L)</span>
61
00052 <span class="preprocessor"></span><span class="preprocessor">#define CLOSESOCKET(a) closesocket((a))</span>
62
00053 <span class="preprocessor"></span><span class="preprocessor">#define IOCTLSOCKET(a,b,c) ioctlsocket((a), (b), (char*)(c))</span>
63
00054 <span class="preprocessor"></span><span class="preprocessor">#define select select_s</span>
64
00055 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">int</span> pid_t;
65
00056 <span class="preprocessor">#define strcasecmp stricmp</span>
66
00057 <span class="preprocessor"></span><span class="preprocessor">#define strncasecmp strnicmp</span>
67
00058 <span class="preprocessor"></span><span class="preprocessor">#define vsnprintf _vsnprintf</span>
68
00059 <span class="preprocessor"></span><span class="comment">/* TODO this has nothing to do with ip ... */</span>
69
00060 <span class="preprocessor">#define getpid() _gethostid()</span>
70
00061 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* defined(DOS32X) */</span>
72
00063 <span class="preprocessor">#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)</span>
73
00064 <span class="preprocessor"></span><span class="preprocessor">#include <windows.h></span>
74
00065 <span class="preprocessor">#define READSOCKET(a,b,c) recv((a), (b), (c), 0L)</span>
75
00066 <span class="preprocessor"></span><span class="preprocessor">#define WRITESOCKET(a,b,c) send((a), (b), (c), 0L)</span>
76
00067 <span class="preprocessor"></span><span class="preprocessor">#define CLOSESOCKET(a) closesocket((a))</span>
77
00068 <span class="preprocessor"></span><span class="preprocessor">#define IOCTLSOCKET(a,b,c) ioctlsocket((a), (b), (c))</span>
78
00069 <span class="preprocessor"></span><span class="keywordtype">int</span> _tds_socket_init(<span class="keywordtype">void</span>);
79
00070 <span class="preprocessor">#define INITSOCKET() _tds_socket_init()</span>
80
00071 <span class="preprocessor"></span><span class="keywordtype">void</span> _tds_socket_done(<span class="keywordtype">void</span>);
81
00072 <span class="preprocessor">#define DONESOCKET() _tds_socket_done()</span>
82
00073 <span class="preprocessor"></span><span class="preprocessor">#define NETDB_REENTRANT 1 </span><span class="comment">/* BSD-style netdb interface is reentrant */</span>
84
00075 <span class="preprocessor">#define TDSSOCK_EINTR WSAEINTR</span>
85
00076 <span class="preprocessor"></span><span class="preprocessor">#define TDSSOCK_EINPROGRESS WSAEWOULDBLOCK</span>
86
00077 <span class="preprocessor"></span><span class="preprocessor">#define sock_errno WSAGetLastError()</span>
87
00078 <span class="preprocessor"></span><span class="preprocessor">#ifndef __MINGW32__</span>
88
00079 <span class="preprocessor"></span><span class="keyword">typedef</span> DWORD pid_t;
89
00080 <span class="preprocessor">#endif</span>
90
00081 <span class="preprocessor"></span><span class="preprocessor">#define strcasecmp stricmp</span>
91
00082 <span class="preprocessor"></span><span class="preprocessor">#define strncasecmp strnicmp</span>
92
00083 <span class="preprocessor"></span><span class="preprocessor">#define atoll _atoi64</span>
93
00084 <span class="preprocessor"></span><span class="preprocessor">#define vsnprintf _vsnprintf</span>
94
00085 <span class="preprocessor"></span>
95
00086 <span class="preprocessor">#ifndef WIN32</span>
96
00087 <span class="preprocessor"></span><span class="preprocessor">#define WIN32 1</span>
97
00088 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
98
00089 <span class="preprocessor"></span>
99
00090 <span class="preprocessor">#if defined(_WIN64) && !defined(WIN64)</span>
100
00091 <span class="preprocessor"></span><span class="preprocessor">#define WIN64 1</span>
101
00092 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
102
00093 <span class="preprocessor"></span>
103
00094 <span class="preprocessor">#define TDS_SDIR_SEPARATOR "\\"</span>
104
00095 <span class="preprocessor"></span>
105
00096 <span class="comment">/* use macros to use new style names */</span>
106
00097 <span class="preprocessor">#ifdef __MSVCRT__</span>
107
00098 <span class="preprocessor"></span><span class="preprocessor">#define getpid() _getpid()</span>
108
00099 <span class="preprocessor"></span><span class="preprocessor">#define strdup(s) _strdup(s)</span>
109
00100 <span class="preprocessor"></span><span class="preprocessor">#define stricmp(s1,s2) _stricmp(s1,s2)</span>
110
00101 <span class="preprocessor"></span><span class="preprocessor">#define strnicmp(s1,s2,n) _strnicmp(s1,s2,n)</span>
111
00102 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
112
00103 <span class="preprocessor"></span>
113
00104 <span class="preprocessor">#endif </span><span class="comment">/* defined(WIN32) || defined(_WIN32) || defined(__WIN32__) */</span>
115
00106 <span class="preprocessor">#ifndef sock_errno</span>
116
00107 <span class="preprocessor"></span><span class="preprocessor">#define sock_errno errno</span>
117
00108 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
118
00109 <span class="preprocessor"></span>
119
00110 <span class="preprocessor">#ifndef TDSSOCK_EINTR</span>
120
00111 <span class="preprocessor"></span><span class="preprocessor">#define TDSSOCK_EINTR EINTR</span>
121
00112 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
122
00113 <span class="preprocessor"></span>
123
00114 <span class="preprocessor">#ifndef TDSSOCK_EINPROGRESS </span>
124
00115 <span class="preprocessor"></span><span class="preprocessor">#define TDSSOCK_EINPROGRESS EINPROGRESS</span>
125
00116 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
126
00117 <span class="preprocessor"></span>
127
00118 <span class="preprocessor">#ifndef INITSOCKET</span>
128
00119 <span class="preprocessor"></span><span class="preprocessor">#define INITSOCKET() 0</span>
129
00120 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !INITSOCKET */</span>
131
00122 <span class="preprocessor">#ifndef DONESOCKET</span>
132
00123 <span class="preprocessor"></span><span class="preprocessor">#define DONESOCKET() do { } while(0)</span>
133
00124 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !DONESOCKET */</span>
135
00126 <span class="preprocessor">#ifndef READSOCKET</span>
136
00127 <span class="preprocessor"></span><span class="preprocessor">#define READSOCKET(a,b,c) read((a), (b), (c))</span>
137
00128 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !READSOCKET */</span>
139
00130 <span class="preprocessor">#ifndef WRITESOCKET</span>
140
00131 <span class="preprocessor"></span><span class="preprocessor">#define WRITESOCKET(a,b,c) write((a), (b), (c))</span>
141
00132 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !WRITESOCKET */</span>
143
00134 <span class="preprocessor">#ifndef CLOSESOCKET</span>
144
00135 <span class="preprocessor"></span><span class="preprocessor">#define CLOSESOCKET(a) close((a))</span>
145
00136 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !CLOSESOCKET */</span>
147
00138 <span class="preprocessor">#ifndef IOCTLSOCKET</span>
148
00139 <span class="preprocessor"></span><span class="preprocessor">#define IOCTLSOCKET(a,b,c) ioctl((a), (b), (c))</span>
149
00140 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !IOCTLSOCKET */</span>
151
00142 <span class="preprocessor">#ifndef TDS_SDIR_SEPARATOR</span>
152
00143 <span class="preprocessor"></span><span class="preprocessor">#define TDS_SDIR_SEPARATOR "/"</span>
153
00144 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* !TDS_SDIR_SEPARATOR */</span>
155
00146 <span class="preprocessor">#ifdef __cplusplus</span>
156
00147 <span class="preprocessor"></span><span class="preprocessor">#if 0</span>
157
00148 <span class="preprocessor"></span>{
158
00149 <span class="preprocessor">#endif</span>
159
00150 <span class="preprocessor"></span>}
160
00151 <span class="preprocessor">#endif</span>
161
00152 <span class="preprocessor"></span>
162
00153 <span class="preprocessor">#endif </span><span class="comment">/* _tds_sysdep_private_h_ */</span>
163
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Wed May 7 19:22:09 2008 for FreeTDS API by
164
<a href="http://www.doxygen.org/index.html">
165
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>