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.
Files changed (54) hide show
  1. data/History.txt +50 -0
  2. data/License.txt +20 -0
  3. data/Manifest.txt +53 -0
  4. data/README.txt +35 -0
  5. data/Rakefile +126 -0
  6. data/examples/example.rb +37 -0
  7. data/ext/CommAPI.c +643 -0
  8. data/ext/Headers/CommAPI.h +1 -0
  9. data/ext/Headers/NetClient.h +42 -0
  10. data/ext/Headers/NetClientLib.h +41 -0
  11. data/ext/Headers/OB_Memory.h +69 -0
  12. data/ext/Headers/OpenBaseAdmin.h +227 -0
  13. data/ext/Headers/OpenBaseConnection.h +337 -0
  14. data/ext/Headers/OpenBaseEncoding.h +302 -0
  15. data/ext/Headers/OpenBasePrepare.h +1 -0
  16. data/ext/Headers/OpenBaseSupport.h +1 -0
  17. data/ext/Headers/Platform_Carbon_Header.h +5 -0
  18. data/ext/Headers/Platform_Classic_Header.h +6 -0
  19. data/ext/Headers/Platform_Linux.h +4 -0
  20. data/ext/Headers/Platform_Mach_Header.h +4 -0
  21. data/ext/Headers/Platform_Windows.h +3 -0
  22. data/ext/Headers/conversion.h +1 -0
  23. data/ext/Headers/datetime.h +26 -0
  24. data/ext/Headers/longlong.h +46 -0
  25. data/ext/Headers/platform.h +67 -0
  26. data/ext/Headers/stringConversion.h +15 -0
  27. data/ext/NetClient.c +888 -0
  28. data/ext/OpenBaseAdmin.c +1884 -0
  29. data/ext/OpenBaseConnection.c +1841 -0
  30. data/ext/OpenBaseEncoding.c +993 -0
  31. data/ext/OpenBaseEncoding_DOS.c +1 -0
  32. data/ext/OpenBaseEncoding_ISO8859.c +1 -0
  33. data/ext/OpenBaseEncoding_MacOS.c +1 -0
  34. data/ext/OpenBaseEncoding_Windows.c +1150 -0
  35. data/ext/OpenBasePrepare.c +1 -0
  36. data/ext/OpenBaseSupport.c +1 -0
  37. data/ext/conversion.c +1 -0
  38. data/ext/datetime.c +816 -0
  39. data/ext/depend +1 -0
  40. data/ext/extconf.rb +10 -0
  41. data/ext/longlong.c +1 -0
  42. data/ext/openbase.c +980 -0
  43. data/ext/stringConversion.c +169 -0
  44. data/lib/ruby-openbase/version.rb +9 -0
  45. data/scripts/txt2html +67 -0
  46. data/setup.rb +1585 -0
  47. data/test/test_helper.rb +2 -0
  48. data/test/test_openbase.rb +241 -0
  49. data/website/index.html +114 -0
  50. data/website/index.txt +59 -0
  51. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  52. data/website/stylesheets/screen.css +133 -0
  53. data/website/template.rhtml +47 -0
  54. 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
+ // -----------------------------------------------------------------------------------
2
  //[jsh] 11/07/2003 Replaced magic number with copyIntoArray_ITEM_SIZE.
@@ -0,0 +1,5 @@
1
+ #define TARGET_API_MAC_OS8 0
2
+ #define TARGET_API_MAC_CARBON 1
3
+ #define MACOS_CARBON 1
4
+
5
+ #include "platform.h"
@@ -0,0 +1,6 @@
1
+ #define TARGET_API_MAC_OS8 1
2
+ #define TARGET_API_MAC_CARBON 0
3
+ #define MACOS_CARBON 1
4
+
5
+ #include <Files.h>
6
+ #include "platform.h"
@@ -0,0 +1,4 @@
1
+ #define LINUX_UNIX 1
2
+ #define MOSX_UNIX 1
3
+
4
+ #include "platform.h"
@@ -0,0 +1,4 @@
1
+ //#include "MSL CocoaHeaders.h"
2
+ #define MOSX_UNIX 1
3
+
4
+ #include "platform.h"
@@ -0,0 +1,3 @@
1
+ #define WINNT 1
2
+
3
+ #include "platform.h"
@@ -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
+ // ------------------------------------------------------------------------------