openbase 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +50 -0
- data/License.txt +20 -0
- data/Manifest.txt +53 -0
- data/README.txt +35 -0
- data/Rakefile +126 -0
- data/examples/example.rb +37 -0
- data/ext/CommAPI.c +643 -0
- data/ext/Headers/CommAPI.h +1 -0
- data/ext/Headers/NetClient.h +42 -0
- data/ext/Headers/NetClientLib.h +41 -0
- data/ext/Headers/OB_Memory.h +69 -0
- data/ext/Headers/OpenBaseAdmin.h +227 -0
- data/ext/Headers/OpenBaseConnection.h +337 -0
- data/ext/Headers/OpenBaseEncoding.h +302 -0
- data/ext/Headers/OpenBasePrepare.h +1 -0
- data/ext/Headers/OpenBaseSupport.h +1 -0
- data/ext/Headers/Platform_Carbon_Header.h +5 -0
- data/ext/Headers/Platform_Classic_Header.h +6 -0
- data/ext/Headers/Platform_Linux.h +4 -0
- data/ext/Headers/Platform_Mach_Header.h +4 -0
- data/ext/Headers/Platform_Windows.h +3 -0
- data/ext/Headers/conversion.h +1 -0
- data/ext/Headers/datetime.h +26 -0
- data/ext/Headers/longlong.h +46 -0
- data/ext/Headers/platform.h +67 -0
- data/ext/Headers/stringConversion.h +15 -0
- data/ext/NetClient.c +888 -0
- data/ext/OpenBaseAdmin.c +1884 -0
- data/ext/OpenBaseConnection.c +1841 -0
- data/ext/OpenBaseEncoding.c +993 -0
- data/ext/OpenBaseEncoding_DOS.c +1 -0
- data/ext/OpenBaseEncoding_ISO8859.c +1 -0
- data/ext/OpenBaseEncoding_MacOS.c +1 -0
- data/ext/OpenBaseEncoding_Windows.c +1150 -0
- data/ext/OpenBasePrepare.c +1 -0
- data/ext/OpenBaseSupport.c +1 -0
- data/ext/conversion.c +1 -0
- data/ext/datetime.c +816 -0
- data/ext/depend +1 -0
- data/ext/extconf.rb +10 -0
- data/ext/longlong.c +1 -0
- data/ext/openbase.c +980 -0
- data/ext/stringConversion.c +169 -0
- data/lib/ruby-openbase/version.rb +9 -0
- data/scripts/txt2html +67 -0
- data/setup.rb +1585 -0
- data/test/test_helper.rb +2 -0
- data/test/test_openbase.rb +241 -0
- data/website/index.html +114 -0
- data/website/index.txt +59 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +133 -0
- data/website/template.rhtml +47 -0
- metadata +105 -0
@@ -0,0 +1,302 @@
|
|
1
|
+
/*
|
2
|
+
OB_Encoding.h
|
3
|
+
OpenBase Unified Client
|
4
|
+
�1996-2002 OpenBase International, Ltd.
|
5
|
+
All rights reserved
|
6
|
+
|
7
|
+
Theory of operation:
|
8
|
+
|
9
|
+
A client side driver often needs to convert character data from the client's
|
10
|
+
preferred encoding to the encoding of the database. The SQL 92 language is
|
11
|
+
all ASCII, so the client can safely convert all data. Only string literals
|
12
|
+
should be affected.
|
13
|
+
|
14
|
+
To do the conversion, these routines will get the database encoding from
|
15
|
+
a connection, then use a global map to do the conversion.
|
16
|
+
|
17
|
+
Future directions:
|
18
|
+
� Complete Windows encodings
|
19
|
+
� Have functions that register encodings you need so that the linker
|
20
|
+
can toss unused but space consuming encodings
|
21
|
+
� Ability to load your own map into the map table (from above) as well
|
22
|
+
|
23
|
+
Disclaimer:
|
24
|
+
-----------
|
25
|
+
THIS SOFTWARE IS FURNISHED ON AN "AS-IS" BASIS. OPENBASE MAKES NO WARRANTIES OF
|
26
|
+
ANY KIND, EITHER EXPRESS OR IMPLIED, AS TO ANY MATTER WHATSOEVER, INCLUDING WITHOUT
|
27
|
+
LIMITATION THE CONDITION, MERCHANTABILITY, OR FITNESS FOR ANY PARTICULAR PURPOSE OF
|
28
|
+
THIS SOFTWARE. OPENBASE DOES NOT ASSUME ANY LIABILITY REGARDING USE OF, OR ANY
|
29
|
+
DEFECT IN, THIS SOFTWARE. IN NO EVENT SHALL OPENBASE BE LIABLE FOR ANY INDIRECT,
|
30
|
+
SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, EVEN IF IT HAS BEEN ADVISED OF THE
|
31
|
+
POSSIBILITY OF SUCH DAMAGE.
|
32
|
+
|
33
|
+
WARNING: MODIFY THIS SOURCE CODE AT YOUR OWN RISK. IF YOU DON'T NEED TO MODIFY THE
|
34
|
+
OPENBASE API SOURCE, WE RECOMMEND THAT YOU USE THE COMPILED LIBRARIES.
|
35
|
+
*/
|
36
|
+
|
37
|
+
#ifndef _OB_ENCODING_H
|
38
|
+
#define _OB_ENCODING_H
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
#ifdef __cplusplus
|
43
|
+
extern "C" {
|
44
|
+
#endif
|
45
|
+
|
46
|
+
//================================================================================
|
47
|
+
// Includes
|
48
|
+
//================================================================================
|
49
|
+
|
50
|
+
//#ifndef _OB_API_HEADER_H
|
51
|
+
//#include "OB_API_Header.h"
|
52
|
+
//#endif
|
53
|
+
|
54
|
+
#ifndef _OB_CONNECTION_H
|
55
|
+
//#include "OB_Connection.h"
|
56
|
+
#endif
|
57
|
+
|
58
|
+
//================================================================================
|
59
|
+
// Definitions
|
60
|
+
//================================================================================
|
61
|
+
/*
|
62
|
+
#define OB_ENCODING_UNKNOWN 0
|
63
|
+
#define OB_ENCODING_ASCII 1
|
64
|
+
#define OB_ENCODING_UTF8 2
|
65
|
+
#define OB_ENCODING_UNICODE 3
|
66
|
+
#define OB_ENCODING_ISO8859_1 101
|
67
|
+
#define OB_ENCODING_ISO8859_2 102
|
68
|
+
#define OB_ENCODING_ISO2022JP 201
|
69
|
+
#define OB_ENCODING_EUC 202
|
70
|
+
#define OB_ENCODING_SHIFTJIS 203
|
71
|
+
|
72
|
+
#define OB_ENCODING_MACOS_ROMAN 1000
|
73
|
+
#define OB_ENCODING_NEXT 4000
|
74
|
+
*/
|
75
|
+
|
76
|
+
#define OB_ENCODING_LATIN1 101
|
77
|
+
#define OB_ENCODING_LATIN2 102
|
78
|
+
|
79
|
+
enum
|
80
|
+
{
|
81
|
+
OB_ENCODING_UNKNOWN = 0,
|
82
|
+
|
83
|
+
// encodings supported by OpenBase
|
84
|
+
OB_ENCODING_ASCII = 1,
|
85
|
+
OB_ENCODING_UTF8 = 2,
|
86
|
+
OB_ENCODING_UNICODE = 3,
|
87
|
+
|
88
|
+
// ISO 8859 encodings
|
89
|
+
OB_ENCODING_ISO8859_1 = 101, // Latin 1 (West European)
|
90
|
+
OB_ENCODING_ISO8859_2 = 102, // Latin 2 (East European)
|
91
|
+
OB_ENCODING_ISO8859_3 = 103, // Latin 3 (South European)
|
92
|
+
OB_ENCODING_ISO8859_4 = 104, // Latin 4 (North European)
|
93
|
+
OB_ENCODING_ISO8859_5 = 105, // Latin/Cyrillic
|
94
|
+
OB_ENCODING_ISO8859_6 = 106, // Arabic
|
95
|
+
OB_ENCODING_ISO8859_7 = 107, // Latin/Greek
|
96
|
+
OB_ENCODING_ISO8859_8 = 108, // Latin/Hebrew
|
97
|
+
OB_ENCODING_ISO8859_9 = 109, // Latin 5 (Turkish)
|
98
|
+
OB_ENCODING_ISO8859_10 = 110, // Latin 6 (Nordic)
|
99
|
+
OB_ENCODING_ISO8859_13 = 113, // Latin 7 (Baltic Rim)
|
100
|
+
OB_ENCODING_ISO8859_14 = 114, // Latin 8 (Sami)
|
101
|
+
OB_ENCODING_ISO8859_15 = 115, // Latin 9 (Much like Latin 1, with rare symbols replaced)
|
102
|
+
OB_ENCODING_ISO8859_16 = 116, // Latin 10 (yet another Latin)
|
103
|
+
|
104
|
+
// Japanese Encodings (not implemented!!)
|
105
|
+
OB_ENCODING_ISO2022JP = 201,
|
106
|
+
OB_ENCODING_EUC = 202,
|
107
|
+
OB_ENCODING_SHIFTJIS = 203,
|
108
|
+
|
109
|
+
// Mac OS Encodings
|
110
|
+
OB_ENCODING_MACOS_ROMAN = 1000, // "normal" Mac OS encoding
|
111
|
+
OB_ENCODING_MACOS_ARABIC = 1001,
|
112
|
+
OB_ENCODING_MACOS_CENTEURO = 1002,
|
113
|
+
OB_ENCODING_MACOS_CORPCHAR = 1003,
|
114
|
+
OB_ENCODING_MACOS_CROATIAN = 1004,
|
115
|
+
OB_ENCODING_MACOS_CYRILLIC = 1005,
|
116
|
+
OB_ENCODING_MACOS_DEVANAGA = 1006,
|
117
|
+
OB_ENCODING_MACOS_DINGBATS = 1007,
|
118
|
+
OB_ENCODING_MACOS_FARSI = 1008,
|
119
|
+
OB_ENCODING_MACOS_GREEK = 1009,
|
120
|
+
OB_ENCODING_MACOS_GUJARATI = 1010,
|
121
|
+
OB_ENCODING_MACOS_GURMUKHI = 1011,
|
122
|
+
OB_ENCODING_MACOS_HEBREW = 1012,
|
123
|
+
OB_ENCODING_MACOS_ICELAND = 1013,
|
124
|
+
OB_ENCODING_MACOS_ROMANIAN = 1014,
|
125
|
+
OB_ENCODING_MACOS_SYMBOL = 1015,
|
126
|
+
OB_ENCODING_MACOS_THAI = 1016,
|
127
|
+
OB_ENCODING_MACOS_TURKISH = 1017,
|
128
|
+
OB_ENCODING_MACOS_UKRAINE = 1018,
|
129
|
+
|
130
|
+
// DOS Encodings
|
131
|
+
OB_ENCODING_DOS_CP437_LATINUS = 2000, // Latin US ("normal" DOS encoding)
|
132
|
+
OB_ENCODING_DOS_CP737_GREEK = 2001, // Greek
|
133
|
+
OB_ENCODING_DOS_CP775_BALTRIM = 2002, // Baltic Rim
|
134
|
+
OB_ENCODING_DOS_CP850_LATIN1 = 2003, // Latin1
|
135
|
+
OB_ENCODING_DOS_CP852_LATIN2 = 2004, // Latin2
|
136
|
+
OB_ENCODING_DOS_CP855_CYRILLIC = 2005, // Cyrillic
|
137
|
+
OB_ENCODING_DOS_CP857_TURKISH = 2006, // Turkish
|
138
|
+
OB_ENCODING_DOS_CP860_PORTUGUESE = 2007, // Portuguese
|
139
|
+
OB_ENCODING_DOS_CP861_ICELANDIC = 2008, // Icelandic
|
140
|
+
OB_ENCODING_DOS_CP862_HEBREW = 2009, // Hebrew
|
141
|
+
OB_ENCODING_DOS_CP863_CANADAF = 2010, // French Canadian
|
142
|
+
OB_ENCODING_DOS_CP864_ARABIC = 2011, // Arabic
|
143
|
+
OB_ENCODING_DOS_CP865_NORDIC = 2012, // Nordic
|
144
|
+
OB_ENCODING_DOS_CP866_CYRILLICRUSSIAN = 2013, // Cyrillic Russian
|
145
|
+
OB_ENCODING_DOS_CP869_GREEK2 = 2014, // Greek 2
|
146
|
+
OB_ENCODING_DOS_CP874_THAI = 2015, // Thai
|
147
|
+
|
148
|
+
// Windows Encodings
|
149
|
+
OB_ENCODING_WIN_CP874_THAI = 3000, // Thai
|
150
|
+
OB_ENCODING_WIN_CP1250_LATIN2 = 3001, // Latin2
|
151
|
+
OB_ENCODING_WIN_CP1251_CYRILLIC = 3002, // Cyrillic
|
152
|
+
OB_ENCODING_WIN_CP1252_LATIN1 = 3003, // Latin1 ("normal" WIndows encoding)
|
153
|
+
OB_ENCODING_WIN_CP1253_GREEK = 3004, // Greek
|
154
|
+
OB_ENCODING_WIN_CP1254_TURKISH = 3005, // Turkish
|
155
|
+
OB_ENCODING_WIN_CP1255_HEBREW = 3006, // Hebrew
|
156
|
+
OB_ENCODING_WIN_CP1256_ARABIC = 3007, // Arabic
|
157
|
+
OB_ENCODING_WIN_CP1257_BALTRIM = 3008, // Baltic Rim
|
158
|
+
OB_ENCODING_WIN_CP1258_VIETNAMESE = 3009, // Vietnamese
|
159
|
+
|
160
|
+
// NeXT Encodings
|
161
|
+
OB_ENCODING_NEXT = 4000
|
162
|
+
|
163
|
+
};
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
//================================================================================
|
168
|
+
// Structures
|
169
|
+
//================================================================================
|
170
|
+
|
171
|
+
struct OpenBaseUnicodeMapStruct
|
172
|
+
{
|
173
|
+
unsigned short unicodeCharacter; // the lookup character
|
174
|
+
unsigned char encodingCharacter; // the encoded character
|
175
|
+
};
|
176
|
+
|
177
|
+
typedef struct OpenBaseUnicodeMapStruct OpenBaseUnicodeMap;
|
178
|
+
|
179
|
+
struct OpenBaseCharacterMapStruct
|
180
|
+
{
|
181
|
+
// mapToUnicode is a simple array lookup to translate a character to 8 byte
|
182
|
+
// Unicode equivalent
|
183
|
+
unsigned short mapToUnicode[256];
|
184
|
+
|
185
|
+
// mapToEncoding is sorted by Unicode character for a binary search lookup
|
186
|
+
OpenBaseUnicodeMap mapToEncoding[256];
|
187
|
+
|
188
|
+
// default character when mapping from Unicode character that has no entry
|
189
|
+
unsigned char defaultCharacter;
|
190
|
+
};
|
191
|
+
|
192
|
+
typedef struct OpenBaseCharacterMapStruct OpenBaseCharacterMap;
|
193
|
+
|
194
|
+
|
195
|
+
//================================================================================
|
196
|
+
// Functions
|
197
|
+
//================================================================================
|
198
|
+
|
199
|
+
// returns the name of the encoding
|
200
|
+
const char* ob_getEncodingName(int encoding);
|
201
|
+
|
202
|
+
// if you need to do conversions of your own, this is exposed
|
203
|
+
// this will make a copy if from_code == to_code
|
204
|
+
// caller owns result, must free()
|
205
|
+
// size is in/out parameter -- in contains size of source, out has size of result
|
206
|
+
|
207
|
+
unsigned char* ob_convertCharacters(int from_code, int to_code, const unsigned char* source, int* size);
|
208
|
+
|
209
|
+
// call this on SQL statements before sending to server
|
210
|
+
// this will make a copy if client and server have same encoding
|
211
|
+
// caller owns result, must free()
|
212
|
+
// size is in/out parameter -- in contains size of source, out has size of result
|
213
|
+
|
214
|
+
/*
|
215
|
+
unsigned char* ob_convertSQLStatement(OB_Connection* connection, const unsigned char* source, int* size);
|
216
|
+
|
217
|
+
// call this on character results restured from server
|
218
|
+
// this will make a copy if client and server have same encoding
|
219
|
+
// caller owns result, must free()
|
220
|
+
// size is in/out parameter -- in contains size of source, out has size of result
|
221
|
+
unsigned char* ob_convertResult(OB_Connection* connection, const unsigned char* source, int* size);
|
222
|
+
*/
|
223
|
+
|
224
|
+
|
225
|
+
//================================================================================
|
226
|
+
// Conversion Tables
|
227
|
+
//================================================================================
|
228
|
+
|
229
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_1;
|
230
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_2;
|
231
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_3;
|
232
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_4;
|
233
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_5;
|
234
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_6;
|
235
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_7;
|
236
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_8;
|
237
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_9;
|
238
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_10;
|
239
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_13;
|
240
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_14;
|
241
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_15;
|
242
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO8859_16;
|
243
|
+
|
244
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_NeXT;
|
245
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ASCII;
|
246
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_ISO2022JP;
|
247
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_EUC;
|
248
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_SHIFTJIS;
|
249
|
+
|
250
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Roman;
|
251
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Arabic;
|
252
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_CentEuro;
|
253
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_CorpChar;
|
254
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Croatian;
|
255
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Cyrillic;
|
256
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Devanaga;
|
257
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Dingbats;
|
258
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Farsi;
|
259
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Greek;
|
260
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Gujarati;
|
261
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Gurmukhi;
|
262
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Hebrew;
|
263
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Iceland;
|
264
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Romanian;
|
265
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Symbol;
|
266
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Thai;
|
267
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Turkish;
|
268
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_MacOS_Ukraine;
|
269
|
+
|
270
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP437_LatinUS;
|
271
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP737_Greek;
|
272
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP775_BaltRim;
|
273
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP850_Latin1;
|
274
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP852_Latin2;
|
275
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP855_Cyrillic;
|
276
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP857_Turkish;
|
277
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP860_Portuguese;
|
278
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP861_Icelandic;
|
279
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP862_Hebrew;
|
280
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP863_CanadaF;
|
281
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP864_Arabic;
|
282
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP865_Nordic;
|
283
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP866_CyrillicRussian;
|
284
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP869_Greek2;
|
285
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_DOS_CP874_Thai;
|
286
|
+
|
287
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP874_Thai;
|
288
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP1250_Latin2;
|
289
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP1251_Cyrillic;
|
290
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP1252_Latin1;
|
291
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP1253_Greek;
|
292
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP1254_Turkish;
|
293
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP1255_Hebrew;
|
294
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP1256_Arabic;
|
295
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP1257_BaltRim;
|
296
|
+
extern OpenBaseCharacterMap kOpenBaseCharacterMap_Win_CP1258_Vietnamese;
|
297
|
+
|
298
|
+
#ifdef __cplusplus
|
299
|
+
}
|
300
|
+
#endif
|
301
|
+
|
302
|
+
#endif
|
@@ -0,0 +1 @@
|
|
1
|
+
// -----------------------------------------------------------------------------------
|
@@ -0,0 +1 @@
|
|
1
|
+
// ------------------------------------------------------------------------------
|
@@ -0,0 +1,26 @@
|
|
1
|
+
// Copyright 1996, Openbase International Ltd.
|
2
|
+
// All rights reserved.
|
3
|
+
|
4
|
+
void initDateTime();
|
5
|
+
//void initGMTOffset(int gmtadjustment);
|
6
|
+
|
7
|
+
char *OB_formatDate(double datevalue, char *buffer);
|
8
|
+
double dateToFloat(char *buffer);
|
9
|
+
|
10
|
+
/*
|
11
|
+
#ifdef WINNT
|
12
|
+
|
13
|
+
struct timeval {
|
14
|
+
long tv_sec;
|
15
|
+
long tv_usec;
|
16
|
+
};
|
17
|
+
|
18
|
+
struct timezone {
|
19
|
+
int tz_minuteswest;
|
20
|
+
int tz_dsttime;
|
21
|
+
};
|
22
|
+
|
23
|
+
int gettimeofday (struct timeval *tvp, struct timezone *tzp);
|
24
|
+
|
25
|
+
#endif
|
26
|
+
*/
|
@@ -0,0 +1,46 @@
|
|
1
|
+
// ------------------------------------------------------------------------------
|
2
|
+
//
|
3
|
+
// Copyright (c) 2004 OpenBase International Ltd.
|
4
|
+
// All rights reserved.
|
5
|
+
//
|
6
|
+
// ------------------------------------------------------------------------------
|
7
|
+
// History
|
8
|
+
//
|
9
|
+
// [jsh] John Heaney, Solid Object Software
|
10
|
+
// heaney@SolidObject.com
|
11
|
+
//
|
12
|
+
// [jsh] 11/05/2003
|
13
|
+
// Added extern keyword for C++ compiler.
|
14
|
+
//
|
15
|
+
// --------------------------------------------------------------------------------------
|
16
|
+
|
17
|
+
#ifndef __LONGLONG_H__
|
18
|
+
#define __LONGLONG_H__
|
19
|
+
|
20
|
+
#ifdef __cplusplus
|
21
|
+
extern "C" {
|
22
|
+
#endif
|
23
|
+
|
24
|
+
/* Copyright 1996, Openbase International Ltd. */
|
25
|
+
/* All rights reserved. */
|
26
|
+
|
27
|
+
#define MAXLONGLONG ((long long)0x7FFFFFFFFFFFFFFFLL)
|
28
|
+
#define MINLONGLONG ((long long)0x8000000000000000LL)
|
29
|
+
#define MAXULONGLONG ((unsigned long long)0xFFFFFFFFFFFFFFFFLL)
|
30
|
+
|
31
|
+
#ifndef LONGLONG
|
32
|
+
#define LONGLONG long long
|
33
|
+
#endif
|
34
|
+
|
35
|
+
long long ob_atoll(const char *aString);
|
36
|
+
long long ob_ahextoll(const char *aString);
|
37
|
+
long long ob_llabs(long long value);
|
38
|
+
|
39
|
+
void ob_lltoa(long long aNum, char *aString);
|
40
|
+
void ob_lltoas(long long aNum, char *aString, int separator);
|
41
|
+
|
42
|
+
#ifdef __cplusplus
|
43
|
+
}
|
44
|
+
#endif
|
45
|
+
|
46
|
+
#endif // __LONGLONG_H__
|
@@ -0,0 +1,67 @@
|
|
1
|
+
// ------------------------------------------------------------------------------
|
2
|
+
//
|
3
|
+
// Copyright (c) 2004 OpenBase International Ltd.
|
4
|
+
// All rights reserved.
|
5
|
+
//
|
6
|
+
// ------------------------------------------------------------------------------
|
7
|
+
#define YES 1
|
8
|
+
#define NO 0
|
9
|
+
|
10
|
+
#ifndef MOSUNIX
|
11
|
+
#define MOSX_UNIX 1
|
12
|
+
#endif
|
13
|
+
|
14
|
+
#ifndef __PLATFORM_SPECIFIC__
|
15
|
+
#define __PLATFORM_SPECIFIC__
|
16
|
+
|
17
|
+
|
18
|
+
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
19
|
+
// PUT CARBON DEFINES HERE
|
20
|
+
#ifdef MACOS_CARBON
|
21
|
+
#include <OpenTransport.h>
|
22
|
+
#include <OpenTptInternet.h>
|
23
|
+
|
24
|
+
#ifndef macintosh
|
25
|
+
#define macintosh 1
|
26
|
+
#endif
|
27
|
+
|
28
|
+
#define OBSocketRead(socketFD, buffer, byteCount) ob_socketread(socketFD, buffer, byteCount)
|
29
|
+
#define OBSocketWrite(socketFD, buffer, byteCount) send(socketFD, buffer, byteCount, 0)
|
30
|
+
#define OBSocketClose(socketFD) shutdown(socketFD, 2); close(socketFD)
|
31
|
+
#define IS_NULL_VALUE(value) (*value == -74) && (*(value+1) == '\0')
|
32
|
+
|
33
|
+
#endif
|
34
|
+
|
35
|
+
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
36
|
+
// PUT WINDOWS DEFINES HERE
|
37
|
+
#ifdef WINNT
|
38
|
+
#define SWAPENDIAN
|
39
|
+
#define windows
|
40
|
+
#define WIN32
|
41
|
+
|
42
|
+
#define OBSocketRead(socketFD, buffer, byteCount) ob_socketread(socketFD, buffer, byteCount)
|
43
|
+
#define OBSocketWrite(socketFD, buffer, byteCount) send(socketFD, buffer, byteCount, 0)
|
44
|
+
#define OBSocketClose(socketFD) shutdown(socketFD, 2); closesocket(socketFD)
|
45
|
+
#define IS_NULL_VALUE(value) (*value == -74) && (*(value+1) == '\0')
|
46
|
+
#endif
|
47
|
+
|
48
|
+
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
49
|
+
// PUT LINUX DEFINES HERE
|
50
|
+
#ifdef LINUX_UNIX
|
51
|
+
#define SWAPENDIAN
|
52
|
+
#define MOSX_UNIX
|
53
|
+
#endif
|
54
|
+
|
55
|
+
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
56
|
+
// PUT UNIX or MACOSX DEFINES HERE
|
57
|
+
#ifdef MOSX_UNIX
|
58
|
+
#define OBSocketRead(socketFD, buffer, byteCount, flag) ob_socketread(socketFD, buffer, byteCount, flag)
|
59
|
+
#define OBSocketWrite(socketFD, buffer, byteCount) send(socketFD, buffer, byteCount, 0)
|
60
|
+
#define OBSocketClose(socketFD) shutdown(socketFD, 2); close(socketFD)
|
61
|
+
#define IS_NULL_VALUE(value) (*value == -74) && (*(value+1) == '\0')
|
62
|
+
#endif
|
63
|
+
|
64
|
+
|
65
|
+
#endif // __PLATFORM_SPECIFIC__
|
66
|
+
|
67
|
+
// ------------------------------------------------------------------------------
|