X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fos_support.h;h=165dc23a0652a19878a5dbdfaef99b384562112e;hb=b250f9c66d3ddd84652d158fb979a5f21e3f2c71;hp=13615eec9ef5a382ad49d92ff92dc1c75068c12f;hpb=7c37e504f0aaeca15fa4fcfda3ac1932cd158d57;p=ffmpeg diff --git a/libavformat/os_support.h b/libavformat/os_support.h index 13615eec9ef..165dc23a065 100644 --- a/libavformat/os_support.h +++ b/libavformat/os_support.h @@ -19,40 +19,32 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef OS_SUPPORT_H -#define OS_SUPPORT_H +#ifndef AVFORMAT_OS_SUPPORT_H +#define AVFORMAT_OS_SUPPORT_H /** * @file os_support.h * miscellaneous OS support macros and functions. - * - * - socklen_t typedef (BeOS, Innotek libc) - * - usleep() (Win32, BeOS) - * - lseek() (Win32) - * - closesocket() - * - poll() (BeOS, MinGW) */ -#if defined(__BEOS__) || defined(__INNOTEK_LIBC__) -typedef int socklen_t; -#endif - #ifdef __MINGW32__ -__declspec(dllimport) void __stdcall Sleep(unsigned long dwMilliseconds); -// # include -# define usleep(t) Sleep((t) / 1000) # include # define lseek(f,p,w) _lseeki64((f), (p), (w)) -# define HAVE_CLOSESOCKET 1 #endif +static inline int is_dos_path(const char *path) +{ +#if HAVE_DOS_PATHS + if (path[0] && path[1] == ':') + return 1; +#endif + return 0; +} + #ifdef __BEOS__ # include # include /* not net_server ? */ -# if IPPROTO_TCP != 6 -# define HAVE_CLOSESOCKET 1 -# endif # include /* R5 didn't have usleep, fake it. Haiku and Zeta has it now. */ # if B_BEOS_VERSION <= B_BEOS_VERSION_5 @@ -66,19 +58,24 @@ __declspec(dllimport) void __stdcall Sleep(unsigned long dwMilliseconds); # endif #endif +#if CONFIG_NETWORK +#if !HAVE_SOCKLEN_T +typedef int socklen_t; +#endif + /* most of the time closing a socket is just closing an fd */ -#if HAVE_CLOSESOCKET != 1 +#if !HAVE_CLOSESOCKET #define closesocket close #endif -#ifdef CONFIG_FFSERVER -#ifndef HAVE_SYS_POLL_H +#if CONFIG_FFSERVER +#if !HAVE_POLL_H typedef unsigned long nfds_t; struct pollfd { int fd; short events; /* events to look for */ - short revents; /* events that occured */ + short revents; /* events that occurred */ }; /* events & revents */ @@ -96,8 +93,9 @@ struct pollfd { #define POLLNVAL 0x1000 /* invalid file descriptor */ -extern int poll(struct pollfd *fds, nfds_t numfds, int timeout); -#endif /* HAVE_SYS_POLL_H */ +int poll(struct pollfd *fds, nfds_t numfds, int timeout); +#endif /* HAVE_POLL_H */ #endif /* CONFIG_FFSERVER */ +#endif /* CONFIG_NETWORK */ -#endif /* OS_SUPPORT_H */ +#endif /* AVFORMAT_OS_SUPPORT_H */