00001 /* 00002 * Funambol is a mobile platform developed by Funambol, Inc. 00003 * Copyright (C) 2003 - 2007 Funambol, Inc. 00004 * 00005 * This program is free software; you can redistribute it and/or modify it under 00006 * the terms of the GNU Affero General Public License version 3 as published by 00007 * the Free Software Foundation with the addition of the following permission 00008 * added to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED 00009 * WORK IN WHICH THE COPYRIGHT IS OWNED BY FUNAMBOL, FUNAMBOL DISCLAIMS THE 00010 * WARRANTY OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. 00011 * 00012 * This program is distributed in the hope that it will be useful, but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00014 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 00015 * details. 00016 * 00017 * You should have received a copy of the GNU Affero General Public License 00018 * along with this program; if not, see http://www.gnu.org/licenses or write to 00019 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 00020 * MA 02110-1301 USA. 00021 * 00022 * You can contact Funambol, Inc. headquarters at 643 Bair Island Road, Suite 00023 * 305, Redwood City, CA 94063, USA, or at email address info@funambol.com. 00024 * 00025 * The interactive user interfaces in modified source and object code versions 00026 * of this program must display Appropriate Legal Notices, as required under 00027 * Section 5 of the GNU Affero General Public License version 3. 00028 * 00029 * In accordance with Section 7(b) of the GNU Affero General Public License 00030 * version 3, these Appropriate Legal Notices must retain the display of the 00031 * "Powered by Funambol" logo. If the display of the logo is not reasonably 00032 * feasible for technical reasons, the Appropriate Legal Notices must display 00033 * the words "Powered by Funambol". 00034 */ 00035 00036 00037 #ifndef INCL_POSIX_ADAPTER 00038 #define INCL_POSIX_ADAPTER 00039 /** @cond DEV */ 00040 00041 00042 /* 00043 * POSIX environment, configured and compiled with automake/autoconf 00044 */ 00045 00046 #ifdef HAVE_CONFIG_H 00047 #include <config.h> 00048 #endif 00049 #include <string.h> 00050 #include <stdlib.h> 00051 #include <ctype.h> 00052 #include <stdio.h> 00053 #include <time.h> 00054 #include <stdarg.h> 00055 #include <unistd.h> 00056 00057 // For ntoh functions 00058 #include <netinet/in.h> 00059 00060 // Workaround for wchar defines below: unit testing may depend 00061 // on standard header files. Include its header file first. 00062 #include <base/test.h> 00063 00064 // Cygwin version of gcc does have these builtin 00065 #ifndef __CYGWIN__ 00066 # define __declspec(x) 00067 # define __cdecl 00068 #endif 00069 00070 #ifdef USE_WCHAR 00071 00072 # undef WCHAR 00073 # include <wchar.h> 00074 # include <wctype.h> 00075 00076 # define WCHAR wchar_t 00077 # define WCHAR_PRINTF "ls" 00078 # define TEXT(_x) L##_x 00079 00080 #else 00081 00082 /* map WCHAR and its functions back to standard functions */ 00083 # undef WCHAR 00084 # define WCHAR char 00085 # define WCHAR_PRINTF "s" 00086 # define TEXT(_x) _x 00087 00088 #endif 00089 00090 #ifdef FUNAMBOL_BUILD_API 00091 # include "base/posix_build_adapter.h" 00092 #endif 00093 00094 /** @endcond */ 00095 #endif 00096