X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=inline;f=include%2Fvlc_fixups.h;h=43405838835added01ec226c2c9c700aba1431d1;hb=01b0eaf884a341c34f1c8c171f3891dc7f93a6ba;hp=63fcb2013ac9df7229e8787c5bc79b5f3bb89489;hpb=4f477ba9ebe1d8c2797a4661478c13b9c83067a9;p=vlc diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h index 63fcb2013a..4340583883 100644 --- a/include/vlc_fixups.h +++ b/include/vlc_fixups.h @@ -1,21 +1,21 @@ /***************************************************************************** - * fixups.h: portability fixups included from config.h + * vlc_fixups.h: portability fixups included from config.h ***************************************************************************** * Copyright © 1998-2008 the VideoLAN project * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ /** @@ -48,10 +48,10 @@ typedef struct # include /* FILE */ #endif -#if !defined (HAVE_STRLCPY) || \ +#if !defined (HAVE_POSIX_MEMALIGN) || \ + !defined (HAVE_STRLCPY) || \ !defined (HAVE_STRNDUP) || \ - !defined (HAVE_STRNLEN) || \ - !defined (HAVE_GETCWD) + !defined (HAVE_STRNLEN) # include /* size_t */ #endif @@ -65,12 +65,16 @@ typedef struct # include /* ssize_t, pid_t */ #endif -#ifndef HAVE_DIRFD +#if !defined (HAVE_DIRFD) || \ + !defined (HAVE_FDOPENDIR) # include #endif #ifdef __cplusplus +# define VLC_NOTHROW throw () extern "C" { +#else +# define VLC_NOTHROW #endif /* stdio.h */ @@ -114,8 +118,8 @@ char *strcasestr (const char *, const char *); char *strdup (const char *); #endif -#ifndef HAVE_STRNCASECMP -int strncasecmp (const char *, const char *, size_t); +#ifndef HAVE_STRVERSCMP +int strverscmp (const char *, const char *); #endif #ifndef HAVE_STRNLEN @@ -173,20 +177,21 @@ struct tm *localtime_r (const time_t *, struct tm *); #endif /* unistd.h */ -#ifndef HAVE_GETCWD -char *getcwd (char *buf, size_t size); +#ifndef HAVE_GETPID +pid_t getpid (void) VLC_NOTHROW; #endif -#ifndef HAVE_GETPID -pid_t getpid (void); +#ifndef HAVE_FSYNC +int fsync (int fd); #endif /* dirent.h */ #ifndef HAVE_DIRFD -#ifdef __APPLE__ -#undef dirfd +int (dirfd) (DIR *); #endif -int dirfd (DIR *); + +#ifndef HAVE_FDOPENDIR +DIR *fdopendir (int); #endif #ifdef __cplusplus @@ -207,6 +212,10 @@ int setenv (const char *, const char *, int); int unsetenv (const char *); #endif +#ifndef HAVE_POSIX_MEMALIGN +int posix_memalign (void **, size_t, size_t); +#endif + /* locale.h */ #ifndef HAVE_USELOCALE #define LC_NUMERIC_MASK 0 @@ -228,6 +237,11 @@ static inline locale_t newlocale(int mask, const char * locale, locale_t base) } #endif +#if !defined (HAVE_STATIC_ASSERT) +# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); })) +# define static_assert _Static_assert +#endif + /* Alignment of critical static data structures */ #ifdef ATTRIBUTE_ALIGNED_MAX # define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_MAX < align) ? ATTRIBUTE_ALIGNED_MAX : align))) @@ -246,14 +260,11 @@ void swab (const void *, void *, ssize_t); /* Socket stuff */ #ifndef HAVE_INET_PTON -# define inet_pton vlc_inet_pton -#endif - -#ifndef HAVE_INET_NTOP -# define inet_ntop vlc_inet_ntop +int inet_pton(int, const char *, void *); +const char *inet_ntop(int, const void *, char *, int); #endif -#ifndef HAVE_POLL +#ifndef HAVE_STRUCT_POLLFD enum { POLLIN=1, @@ -270,12 +281,24 @@ struct pollfd unsigned events; unsigned revents; }; +#endif +#ifndef HAVE_POLL +struct pollfd; +int poll (struct pollfd *, unsigned, int); +#endif -# define poll(a, b, c) vlc_poll(a, b, c) -#elif defined (HAVE_MAEMO) -# include -# define poll(a, b, c) vlc_poll(a, b, c) -int vlc_poll (struct pollfd *, unsigned, int); +#ifndef HAVE_IF_NAMEINDEX +#include +struct if_nameindex +{ + unsigned if_index; + char *if_name; +}; +# ifndef HAVE_IF_NAMETOINDEX +# define if_nametoindex(name) atoi(name) +# endif +# define if_nameindex() (errno = ENOBUFS, NULL) +# define if_freenameindex(list) (void)0 #endif /* search.h */ @@ -314,18 +337,6 @@ long jrand48 (unsigned short subi[3]); long nrand48 (unsigned short subi[3]); #endif -#ifdef __ANDROID__ -# undef __linux__ -# ifndef __cplusplus -# define __cplusplus 0 -# endif -# include -# if __cplusplus == 0 -# undef __cplusplus -# endif -char *tempnam(const char *, const char *); -#endif // ANDROID - #ifdef __OS2__ # undef HAVE_FORK /* Implementation of fork() is imperfect on OS/2 */ #endif