00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 #ifndef __STLSOFT_DOCUMENTATION_SKIP_SECTION
00047 # define INETSTL_VER_H_INETSTL_MAJOR 2
00048 # define INETSTL_VER_H_INETSTL_MINOR 0
00049 # define INETSTL_VER_H_INETSTL_REVISION 1
00050 # define INETSTL_VER_H_INETSTL_EDIT 10
00051 #endif
00052
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00137
00140
00143
00146
00147 #define _INETSTL_VER_MAJOR 1
00148 #define _INETSTL_VER_MINOR 0
00149 #define _INETSTL_VER_REVISION 2
00150 #ifndef __STLSOFT_DOCUMENTATION_SKIP_SECTION
00151 # define _INETSTL_VER_1_0_1 0x00010001
00152 # define _INETSTL_VER_1_0_2 0x00010002
00153 #endif
00154
00155 #define _INETSTL_VER _INETSTL_VER_1_0_2
00156
00157
00158
00159
00160
00161
00162 #ifndef __STLSOFT_DOCUMENTATION_SKIP_SECTION
00163 # ifndef STRICT
00164 # if defined(_INETSTL_STRICT) || \
00165 ( !defined(_INETSTL_NO_STRICT) && \
00166 !defined(NO_STRICT))
00167 # define STRICT 1
00168 # endif
00169 # endif
00170 #endif
00171
00172 #ifndef STLSOFT_INCL_H_STLSOFT
00173 # include "stlsoft.h"
00174 #endif
00175
00176 # include <windows.h>
00177
00178 #include <wininet.h>
00179
00180
00181
00182
00183
00184 #if !defined(_STLSOFT_VER_1_7_1) || \
00185 _STLSOFT_VER < _STLSOFT_VER_1_7_1
00186 # error This version of the InetSTL libraries requires STLSoft version 1.7.1 or later
00187 #endif
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197 #if !defined(WIN32) && \
00198 !defined(_WIN32)
00199 # error The InetSTL libraries is currently only compatible with the Win32 API
00200 #endif
00201
00202
00203 #ifdef _MBCS
00204 # ifdef _INETSTL_STRICT
00205 # error The InetSTL libraries are not compatible with variable length character representation schemes such as MBCS
00206 # else
00207 # ifdef _STLSOFT_COMPILE_VERBOSE
00208 # pragma message("The InetSTL libraries are not compatible with variable length character representation schemes such as MBCS")
00209 # endif
00210 # endif
00211 #endif
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226 #if defined(__STLSOFT_COMPILER_IS_BORLAND)
00227
00228 # if __BORLANDC__ < 0x0550
00229 # error Versions of Borland C++ prior to 5.5 are not supported by the InetSTL libraries
00230 # endif
00231
00232 #elif defined(__STLSOFT_COMPILER_IS_COMO)
00233
00234 # if __COMO_VERSION__ < 4300
00235 # error Versions of Comeau C++ prior to 4.3 are not supported by the InetSTL libraries
00236 # endif
00237
00238 #elif defined(__STLSOFT_COMPILER_IS_DMC)
00239
00240 # if __DMC__ < 0x0826
00241 # error Versions of Digital Mars C/C++ prior to 8.26 are not supported by the InetSTL libraries
00242 # endif
00243
00244 #elif defined(__STLSOFT_COMPILER_IS_GCC)
00245
00246 # if __GNUC__ < 2 || \
00247 ( __GNUC__ == 2 && \
00248 __GNUC_MINOR__ < 95)
00249 # error Versions of GNU C/C++ prior to 2.95 are not supported by the InetSTL libraries
00250 # endif
00251
00252 #elif defined(__STLSOFT_COMPILER_IS_INTEL)
00253
00254 # if (__INTEL_COMPILER < 600)
00255 # error Versions of Intel C++ prior to 6.0 are not supported by the InetSTL libraries
00256 # endif
00257
00258 #elif defined(__STLSOFT_COMPILER_IS_MWERKS)
00259
00260 # if (__MWERKS__ & 0xFF00) < 0x2400
00261 # error Versions of Metrowerks CodeWarrior C++ prior to 7.0 are not supported by the InetSTL libraries
00262 # endif
00263
00264 #elif defined(__STLSOFT_COMPILER_IS_MSVC)
00265
00266 # if _MSC_VER < 1020
00267 # error Versions of Visual C++ prior to 4.2 are not supported by the InetSTL libraries
00268 # endif
00269
00270 #elif defined(__STLSOFT_COMPILER_IS_VECTORC)
00271
00272
00273 #elif defined(__STLSOFT_COMPILER_IS_WATCOM)
00274
00275 # if (__WATCOMC__ < 1200)
00276 # error Versions of Watcom C/C++ prior to 12.0 are not supported by the InetSTL libraries
00277 # endif
00278
00279 #else
00280
00281 # ifdef _STLSOFT_FORCE_ANY_COMPILER
00282 # define _INETSTL_COMPILER_IS_UNKNOWN
00283 # ifdef _STLSOFT_COMPILE_VERBOSE
00284 # pragma message("Compiler is unknown to InetSTL")
00285 # endif
00286 # else
00287 # error Currently only Borland C++, Digital Mars C/C++, Intel C/C++, Metrowerks CodeWarrior and Visual C++ compilers are supported by the InetSTL libraries
00288 # endif
00289 #endif
00290
00291
00292
00293
00294
00295
00296
00300 #define inetstl_assert(expr) stlsoft_assert(expr)
00301
00306 #define inetstl_message_assert(msg, expr) stlsoft_message_assert(msg, expr)
00307
00311 #define inetstl_static_assert(expr) stlsoft_static_assert(expr)
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354 #ifdef _STLSOFT_NO_NAMESPACES
00355 # define _INETSTL_NO_NAMESPACES
00356 #endif
00357
00358
00359 #ifdef _INETSTL_NO_NAMESPACES
00360 # define _INETSTL_NO_NAMESPACE
00361 #endif
00362
00363 #ifndef _INETSTL_NO_NAMESPACE
00364 # if defined(_STLSOFT_NO_NAMESPACE) || \
00365 defined(__STLSOFT_DOCUMENTATION_SKIP_SECTION)
00366
00369 namespace inetstl
00370 {
00371 # else
00372
00373
00374 namespace stlsoft
00375 {
00376
00377 namespace inetstl_project
00378 {
00379
00380 # endif
00381 #else
00382 stlsoft_ns_using(move_lhs_from_rhs)
00383 #endif
00384
00387
00390
00391 #ifndef _INETSTL_NO_NAMESPACE
00392 # define inetstl_ns_qual(x) ::inetstl::x
00393 # define inetstl_ns_using(x) using ::inetstl::x;
00394 #else
00395 # define inetstl_ns_qual(x) x
00396 # define inetstl_ns_using(x)
00397 #endif
00398
00401
00404
00405 #ifdef __STLSOFT_CF_std_NAMESPACE
00406 # define inetstl_ns_qual_std(x) ::std::x
00407 # define inetstl_ns_using_std(x) using ::std::x;
00408 #else
00409 # define inetstl_ns_qual_std(x) x
00410 # define inetstl_ns_using_std(x)
00411 #endif
00412
00413
00414
00415
00416
00417
00418
00419
00420 typedef stlsoft_ns_qual(ss_char_a_t) is_char_a_t;
00421 typedef stlsoft_ns_qual(ss_char_w_t) is_char_w_t;
00422 typedef stlsoft_ns_qual(ss_sint8_t) is_sint8_t;
00423 typedef stlsoft_ns_qual(ss_uint8_t) is_uint8_t;
00424 typedef stlsoft_ns_qual(ss_int16_t) is_int16_t;
00425 typedef stlsoft_ns_qual(ss_sint16_t) is_sint16_t;
00426 typedef stlsoft_ns_qual(ss_uint16_t) is_uint16_t;
00427 typedef stlsoft_ns_qual(ss_int32_t) is_int32_t;
00428 typedef stlsoft_ns_qual(ss_sint32_t) is_sint32_t;
00429 typedef stlsoft_ns_qual(ss_uint32_t) is_uint32_t;
00430 #ifdef STLSOFT_CF_64BIT_INT_SUPPORT
00431 typedef stlsoft_ns_qual(ss_int64_t) is_int64_t;
00432 typedef stlsoft_ns_qual(ss_sint64_t) is_sint64_t;
00433 typedef stlsoft_ns_qual(ss_uint64_t) is_uint64_t;
00434 #endif
00435 typedef stlsoft_ns_qual(ss_int_t) is_int_t;
00436 typedef stlsoft_ns_qual(ss_sint_t) is_sint_t;
00437 typedef stlsoft_ns_qual(ss_uint_t) is_uint_t;
00438 typedef stlsoft_ns_qual(ss_long_t) is_long_t;
00439 typedef stlsoft_ns_qual(ss_byte_t) is_byte_t;
00440 typedef stlsoft_ns_qual(ss_bool_t) is_bool_t;
00441 typedef DWORD is_dword_t;
00442 typedef stlsoft_ns_qual(ss_size_t) is_size_t;
00443 typedef stlsoft_ns_qual(ss_ptrdiff_t) is_ptrdiff_t;
00444 typedef stlsoft_ns_qual(ss_streampos_t) is_streampos_t;
00445 typedef stlsoft_ns_qual(ss_streamoff_t) is_streamoff_t;
00446
00447 #ifndef _INETSTL_NO_NAMESPACE
00448 typedef is_char_a_t char_a_t;
00449 typedef is_char_w_t char_w_t;
00450
00451 typedef is_sint8_t sint8_t;
00452 typedef is_uint8_t uint8_t;
00453 typedef is_int16_t int16_t;
00454 typedef is_sint16_t sint16_t;
00455 typedef is_uint16_t uint16_t;
00456 typedef is_int32_t int32_t;
00457 typedef is_sint32_t sint32_t;
00458 typedef is_uint32_t uint32_t;
00459 # ifdef STLSOFT_CF_64BIT_INT_SUPPORT
00460 typedef is_int64_t int64_t;
00461 typedef is_sint64_t sint64_t;
00462 typedef is_uint64_t uint64_t;
00463 # endif
00464
00465 typedef is_int_t int_t;
00466 typedef is_sint_t sint_t;
00467 typedef is_uint_t uint_t;
00468 typedef is_long_t long_t;
00469 typedef is_byte_t byte_t;
00470 typedef is_bool_t bool_t;
00471 typedef is_dword_t dword_t;
00472 # if !defined(__STLSOFT_COMPILER_IS_DMC)
00473 typedef is_size_t size_t;
00474 typedef is_ptrdiff_t ptrdiff_t;
00475 typedef is_streampos_t streampos_t;
00476 typedef is_streamoff_t streamoff_t;
00477 # endif
00478 #endif
00479
00480 #ifndef __STLSOFT_DOCUMENTATION_SKIP_SECTION
00481
00482
00483
00484
00485
00486
00487
00488
00489 #define is_true_v ss_true_v
00490 #define is_false_v ss_false_v
00491
00492 #endif
00493
00494
00495
00496
00497 #ifndef __STLSOFT_DOCUMENTATION_SKIP_SECTION
00498
00499 # define inetstl_throw_0() stlsoft_throw_0()
00500 # define inetstl_throw_1(x1) stlsoft_throw_1(x1)
00501 # define inetstl_throw_2(x1, x2) stlsoft_throw_2(x1, x2)
00502 # define inetstl_throw_3(x1, x2, x3) stlsoft_throw_3(x1, x2, x3)
00503 # define inetstl_throw_4(x1, x2, x3, x4) stlsoft_throw_4(x1, x2, x3, x4)
00504 # define inetstl_throw_5(x1, x2, x3, x4, x5) stlsoft_throw_5(x1, x2, x3, x4, x5)
00505 # define inetstl_throw_6(x1, x2, x3, x4, x5, x6) stlsoft_throw_6(x1, x2, x3, x4, x5, x6)
00506 # define inetstl_throw_7(x1, x2, x3, x4, x5, x6, x7) stlsoft_throw_7(x1, x2, x3, x4, x5, x6, x7)
00507 # define inetstl_throw_8(x1, x2, x3, x4, x5, x6, x7, x8) stlsoft_throw_8(x1, x2, x3, x4, x5, x6, x7, x8)
00508 #endif
00509
00511 #define inetstl_num_elements(ar) stlsoft_num_elements(ar)
00512
00514 #define inetstl_destroy_instance(t, _type, p) stlsoft_destroy_instance(t, _type, p)
00515
00517 #define inetstl_gen_opaque(_htype) stlsoft_gen_opaque(_htype)
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530 #endif
00531
00532
00533
00534
00535
00536