annotate os_support.h @ 2065:64bd1b09cef2 libavformat

patch so that the deprecated items show up correctly when building doxygen docs patch by mark cox melbournemark plus ffmpeg minus devel chez gmail dot com
author benoit
date Wed, 02 May 2007 09:13:47 +0000
parents 040097642b13
children d2d62fa7e7c9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1306
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
1 /*
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
2 * various utilities for ffmpeg system
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
3 * copyright (c) 2000, 2001, 2002 Fabrice Bellard
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
4 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1306
diff changeset
5 * This file is part of FFmpeg.
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1306
diff changeset
6 *
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1306
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
1306
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
9 * License as published by the Free Software Foundation; either
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1306
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
1306
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
11 *
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1306
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
1306
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
15 * Lesser General Public License for more details.
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
16 *
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
1358
0899bfe4105c Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 1306
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
1306
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
20 */
8bf9be9bb107 Add official LGPL license headers to the files that were missing them.
diego
parents: 448
diff changeset
21
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
22 #ifndef _OS_SUPPORT_H
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
23 #define _OS_SUPPORT_H
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
24
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
25 /**
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
26 * @file os_support.h
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
27 * miscellaneous OS support macros and functions.
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
28 *
1670
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
29 * - socklen_t typedef (BeOS, Innotek libc)
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
30 * - usleep() (Win32, BeOS, OS/2)
1598
9832e339fb70 support files >2GB on MinGW
diego
parents: 1358
diff changeset
31 * - lseek() (Win32)
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
32 * - floatf() (OS/2)
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
33 * - strcasecmp() (OS/2)
1670
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
34 * - closesocket()
1798
d1e61f4d02cd MinGW patch by <koyama AT infocity DOT co DOT jp>, reworked. Removed placeholder for winsock.
mmu_man
parents: 1797
diff changeset
35 * - poll() (BeOS, MinGW)
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
36 */
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
37
1670
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
38 #if defined(__BEOS__) || defined(__INNOTEK_LIBC__)
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
39 typedef int socklen_t;
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
40 #endif
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
41
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
42 #ifdef __MINGW32__
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
43 __declspec(dllimport) void __stdcall Sleep(unsigned long dwMilliseconds);
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
44 // # include <windows.h>
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
45 # define usleep(t) Sleep((t) / 1000)
1598
9832e339fb70 support files >2GB on MinGW
diego
parents: 1358
diff changeset
46 # include <fcntl.h>
9832e339fb70 support files >2GB on MinGW
diego
parents: 1358
diff changeset
47 # define lseek(f,p,w) _lseeki64((f), (p), (w))
1798
d1e61f4d02cd MinGW patch by <koyama AT infocity DOT co DOT jp>, reworked. Removed placeholder for winsock.
mmu_man
parents: 1797
diff changeset
48 # define HAVE_CLOSESOCKET 1
1670
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
49 #endif
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
50
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
51 #ifdef __BEOS__
1670
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
52 # include <sys/socket.h>
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
53 # include <netinet/in.h>
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
54 /* not net_server ? */
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
55 # if IPPROTO_TCP != 6
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
56 # define HAVE_CLOSESOCKET 1
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
57 # endif
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
58 # include <BeBuild.h>
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
59 /* R5 didn't have usleep, fake it. Haiku and Zeta has it now. */
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
60 # if B_BEOS_VERSION <= B_BEOS_VERSION_5
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
61 # include <OS.h>
1670
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
62 /* doesn't set errno but that's enough */
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
63 # define usleep(t) snooze((bigtime_t)(t))
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
64 # endif
1813
040097642b13 BeOS only: we don't have SA_RESTART. #define to 0 and emit a warning. I don't plan on hosting a streaming tv anyway but it gets ffserver building.
mmu_man
parents: 1799
diff changeset
65 # ifndef SA_RESTART
040097642b13 BeOS only: we don't have SA_RESTART. #define to 0 and emit a warning. I don't plan on hosting a streaming tv anyway but it gets ffserver building.
mmu_man
parents: 1799
diff changeset
66 # warning SA_RESTART not implemented; ffserver might misbehave.
040097642b13 BeOS only: we don't have SA_RESTART. #define to 0 and emit a warning. I don't plan on hosting a streaming tv anyway but it gets ffserver building.
mmu_man
parents: 1799
diff changeset
67 # define SA_RESTART 0
040097642b13 BeOS only: we don't have SA_RESTART. #define to 0 and emit a warning. I don't plan on hosting a streaming tv anyway but it gets ffserver building.
mmu_man
parents: 1799
diff changeset
68 # endif
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
69 #endif
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
70
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
71 #if defined(CONFIG_OS2)
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
72 #include <stdlib.h>
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
73 static inline int usleep(unsigned int t) { return _sleep2(t / 1000); }
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
74 static inline int strcasecmp(const char* s1, const char* s2) { return stricmp(s1,s2); }
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
75 #endif
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
76
1670
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
77 /* most of the time closing a socket is just closing an fd */
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
78 #if HAVE_CLOSESOCKET != 1
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
79 #define closesocket close
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
80 #endif
92afee454599 The long awaited BeOS cleanup, phase 1
mmu_man
parents: 1598
diff changeset
81
1799
0dc3a767943d Make sure we don't try to emulate poll() when it's there if --disable-ffserver... 10l
mmu_man
parents: 1798
diff changeset
82 #ifdef CONFIG_FFSERVER
1797
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
83 #ifndef HAVE_SYS_POLL_H
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
84 typedef unsigned long nfds_t;
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
85
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
86 struct pollfd {
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
87 int fd;
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
88 short events; /* events to look for */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
89 short revents; /* events that occured */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
90 };
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
91
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
92 /* events & revents */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
93 #define POLLIN 0x0001 /* any readable data available */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
94 #define POLLOUT 0x0002 /* file descriptor is writeable */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
95 #define POLLRDNORM POLLIN
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
96 #define POLLWRNORM POLLOUT
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
97 #define POLLRDBAND 0x0008 /* priority readable data */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
98 #define POLLWRBAND 0x0010 /* priority data can be written */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
99 #define POLLPRI 0x0020 /* high priority readable data */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
100
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
101 /* revents only */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
102 #define POLLERR 0x0004 /* errors pending */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
103 #define POLLHUP 0x0080 /* disconnected */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
104 #define POLLNVAL 0x1000 /* invalid file descriptor */
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
105
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
106
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
107 extern int poll(struct pollfd *fds, nfds_t numfds, int timeout);
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
108 #endif /* HAVE_SYS_POLL_H */
1799
0dc3a767943d Make sure we don't try to emulate poll() when it's there if --disable-ffserver... 10l
mmu_man
parents: 1798
diff changeset
109 #endif /* CONFIG_FFSERVER */
1797
20c8dfd3ee84 poll() emulation for BeOS, and maybe MinGW.
mmu_man
parents: 1670
diff changeset
110
230
9f4f4ca9f7b5 simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff changeset
111 #endif /* _OS_SUPPORT_H */