c3b3482b69dc22a3f9b0513011ad034d5e185a58
[ffmpeg.git] / libavcodec / os_support.h
1 #ifndef _OS_SUPPORT_H
2 #define _OS_SUPPORT_H
3
4 /**
5  * @file os_support.h
6  * miscellaneous OS support macros and functions.
7  *
8  * - usleep() (Win32, BeOS, OS/2)
9  * - floatf() (OS/2)
10  * - strcasecmp() (OS/2)
11  */
12
13 #ifdef __MINGW32__
14 #  undef DATADIR /* clashes with /usr/include/w32api/objidl.h */
15 #  include <windows.h>
16 #  define usleep(t)    Sleep((t) / 1000)
17 #endif
18
19 #ifdef __BEOS__
20 #  ifndef usleep
21 #    include <OS.h>
22 #    define usleep(t)  snooze((bigtime_t)(t))
23 #  endif
24 #endif
25
26 #if defined(CONFIG_OS2)
27 #include <stdlib.h>
28 static inline int usleep(unsigned int t) { return _sleep2(t / 1000); }
29 static inline float floorf(float f) { return floor(f); }
30 static inline int strcasecmp(const char* s1, const char* s2) { return stricmp(s1,s2); }
31 #endif
32
33 #endif /* _OS_SUPPORT_H */