19720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* 29720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Copyright (c) 1999 39720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Boris Fomitchev 49720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 59720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * This material is provided "as is", with absolutely no warranty expressed 69720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * or implied. Any use is at your own risk. 79720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 89720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Permission to use or copy this software for any purpose is hereby granted 99720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * without fee, provided the above notices are retained on all copies. 109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * Permission to modify the code and to distribute modified code is granted, 119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * provided the above notices are retained, and a notice that the code was 129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * modified is included with the above copyright notice. 139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if !defined (_STLP_OUTERMOST_HEADER_ID) 179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_OUTERMOST_HEADER_ID 0x205 18e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include <stl/_cprolog.h> 199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#elif (_STLP_OUTERMOST_HEADER_ID == 0x205) && !defined (_STLP_DONT_POP_HEADER_ID) 209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_DONT_POP_HEADER_ID 219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#ifdef _STLP_WCE 24e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott/* only show message when directly including this file in a non-library build */ 259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined(__BUILDING_STLPORT) && (_STLP_OUTERMOST_HEADER_ID == 0x205) 269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# pragma message("eMbedded Visual C++ 3 and .NET don't have a errno.h header; STLport won't include native errno.h here") 279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#else 299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# ifndef errno 309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* We define the following macro first to guaranty the header reentrancy: */ 319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_ERRNO_H_INCLUDED 32e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (_STLP_HAS_INCLUDE_NEXT) 33e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include_next <errno.h> 34e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# else 35e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# include _STLP_NATIVE_C_HEADER(errno.h) 36e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 37e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# if defined (__BORLANDC__) && (__BORLANDC__ >= 0x590) && defined (__cplusplus) 38e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_BEGIN_NAMESPACE 39e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scottusing _STLP_VENDOR_CSTD::__errno; 40e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott_STLP_END_NAMESPACE 41e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott# endif 429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif /* errno */ 439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined (_STLP_NATIVE_ERRNO_H_INCLUDED) 459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* If errno has been defined before inclusion of native errno.h including it from STLport errno.h 469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * becomes impossible because if: 479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * #define errno foo 489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * then 499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * #include _STLP_NATIVE_C_HEADER(errno.h) 509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * becomes: 519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * #include _STLP_NATIVE_C_HEADER(foo.h) 529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * 539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * To fix this problem you have to find where this definition comes from and include errno.h before it. 549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# error errno has been defined before inclusion of errno.h header. 569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if (_STLP_OUTERMOST_HEADER_ID == 0x205) 609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if ! defined (_STLP_DONT_POP_HEADER_ID) 619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# include <stl/_epilog.h> 629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# undef _STLP_OUTERMOST_HEADER_ID 639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 649720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# undef _STLP_DONT_POP_HEADER_ID 659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block/* Local Variables: 68e46c9386c4f79aa40185f79a19fc5b2a7ef528b3Patrick Scott * mode: C 699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block * End: 709720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block */ 71