00001 // Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*- 00002 00003 // Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 00004 // Free Software Foundation, Inc. 00005 // 00006 // This file is part of the GNU ISO C++ Library. This library is free 00007 // software; you can redistribute it and/or modify it under the 00008 // terms of the GNU General Public License as published by the 00009 // Free Software Foundation; either version 2, or (at your option) 00010 // any later version. 00011 00012 // This library is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 // GNU General Public License for more details. 00016 00017 // You should have received a copy of the GNU General Public License along 00018 // with this library; see the file COPYING. If not, write to the Free 00019 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 00020 // USA. 00021 00022 // As a special exception, you may use this file as part of a free software 00023 // library without restriction. Specifically, if other files instantiate 00024 // templates or use macros or inline functions from this file, or you compile 00025 // this file and link it with other files to produce an executable, this 00026 // file does not by itself cause the resulting executable to be covered by 00027 // the GNU General Public License. This exception does not however 00028 // invalidate any other reasons why the executable file might be covered by 00029 // the GNU General Public License. 00030 00031 /** @file c++locale_internal.h 00032 * This is an internal header file, included by other library headers. 00033 * You should not attempt to use it directly. 00034 */ 00035 00036 // Written by Jakub Jelinek <jakub@redhat.com> 00037 00038 #include <bits/c++config.h> 00039 #include <clocale> 00040 #include <cstdlib> 00041 #include <cstring> 00042 #include <cstddef> 00043 #include <langinfo.h> 00044 00045 #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) 00046 00047 extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l; 00048 extern "C" __typeof(strcoll_l) __strcoll_l; 00049 extern "C" __typeof(strftime_l) __strftime_l; 00050 extern "C" __typeof(strtod_l) __strtod_l; 00051 extern "C" __typeof(strtof_l) __strtof_l; 00052 extern "C" __typeof(strtold_l) __strtold_l; 00053 extern "C" __typeof(strxfrm_l) __strxfrm_l; 00054 extern "C" __typeof(newlocale) __newlocale; 00055 extern "C" __typeof(freelocale) __freelocale; 00056 extern "C" __typeof(duplocale) __duplocale; 00057 extern "C" __typeof(uselocale) __uselocale; 00058 00059 #ifdef _GLIBCXX_USE_WCHAR_T 00060 extern "C" __typeof(iswctype_l) __iswctype_l; 00061 extern "C" __typeof(towlower_l) __towlower_l; 00062 extern "C" __typeof(towupper_l) __towupper_l; 00063 extern "C" __typeof(wcscoll_l) __wcscoll_l; 00064 extern "C" __typeof(wcsftime_l) __wcsftime_l; 00065 extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l; 00066 extern "C" __typeof(wctype_l) __wctype_l; 00067 #endif 00068 00069 #endif // GLIBC 2.3 and later