// -*- C++ -*- /*************************************************************************** * * cerrno - C++ Standard library interface to the ANSI C header errno.h * * $Id$ * *************************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. * * Copyright 1994-2006 Rogue Wave Software. * **************************************************************************/ #include #ifndef _RWSTD_NO_PURE_C_HEADERS # include #else #ifndef _RWSTD_NO_DEPRECATED_C_HEADERS #ifndef _RWSTD_NAMESPACE_STD_OPEN #define _RWSTD_NAMESPACE_STD_OPEN 3 _RWSTD_NAMESPACE (std) { #endif // _RWSTD_NAMESPACE_STD_OPEN #include _RWSTD_ANSI_C_ERRNO_H #if _RWSTD_NAMESPACE_STD_OPEN == 3 # undef _RWSTD_NAMESPACE_STD_OPEN } // namespace std #endif // _RWSTD_NAMESPACE_STD_OPEN == 3 #else // if defined (_RWSTD_NO_DEPRECATED_C_HEADERS) #ifndef _RWSTD_CERRNO_INCLUDED #define _RWSTD_CERRNO_INCLUDED #if !defined (errno) \ || !defined (EDOM) || !defined (ERANGE) || !defined (EAGAIN) # include _RWSTD_ANSI_C_ERRNO_H #endif // errno ... #if !defined (_RWSTD_NO_NAMESPACE) && !defined (_RWSTD_NO_USING_LIBC_IN_STD) namespace std { // 17.4.1.2, p5 - errno may be a macro #ifndef errno using ::errno; // lwg issue 310 - errno shall be a macro # define errno errno #endif // errno } // std #endif // !_RWSTD_NO_NAMESPACE && !_RWSTD_NO_USING_LIBC_IN_STD #endif // _RWSTD_CERRNO_INCLUDED #endif // _RWSTD_NO_DEPRECATED_C_HEADERS #endif // _RWSTD_NO_PURE_C_HEADERS