Mercurial > libavformat.hg
annotate os_support.h @ 6109:6090375e2696 libavformat
Add Pictor/PC Paint to image2 muxer/demuxer
author | pross |
---|---|
date | Tue, 08 Jun 2010 11:55:55 +0000 |
parents | f23196c73178 |
children | 6780dc315f36 |
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 |
3852 | 22 #ifndef AVFORMAT_OS_SUPPORT_H |
23 #define AVFORMAT_OS_SUPPORT_H | |
230
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 /** |
5969
178de7695c6c
Remove explicit filename from Doxygen @file commands.
diego
parents:
5324
diff
changeset
|
26 * @file |
230
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 */ |
9f4f4ca9f7b5
simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff
changeset
|
29 |
4284
40c9bef5b4e2
Fix undefined preprocessor directives warnings during 'make checkheaders'.
diego
parents:
4206
diff
changeset
|
30 #include "config.h" |
40c9bef5b4e2
Fix undefined preprocessor directives warnings during 'make checkheaders'.
diego
parents:
4206
diff
changeset
|
31 |
5101
a8f8b675035b
Only #define lseek to _lseeki64 on MinGW, not MinGW CE.
diego
parents:
4331
diff
changeset
|
32 #if defined(__MINGW32__) && !defined(__MINGW32CE__) |
1598 | 33 # include <fcntl.h> |
34 # define lseek(f,p,w) _lseeki64((f), (p), (w)) | |
6078
f23196c73178
win32: Use _fstati64() instead of plain old fstat() on Windows to support file
ramiro
parents:
5969
diff
changeset
|
35 # define stat _stati64 |
f23196c73178
win32: Use _fstati64() instead of plain old fstat() on Windows to support file
ramiro
parents:
5969
diff
changeset
|
36 # define fstat(f,s) _fstati64((f), (s)) |
5324
3616c1434288
Add comment on #endif about condition that triggers it.
ramiro
parents:
5101
diff
changeset
|
37 #endif /* defined(__MINGW32__) && !defined(__MINGW32CE__) */ |
2322 | 38 |
3994
4d5d9ac28e21
Only special-case absolute DOS paths on systems that support them.
ramiro
parents:
3969
diff
changeset
|
39 static inline int is_dos_path(const char *path) |
4d5d9ac28e21
Only special-case absolute DOS paths on systems that support them.
ramiro
parents:
3969
diff
changeset
|
40 { |
4206 | 41 #if HAVE_DOS_PATHS |
3994
4d5d9ac28e21
Only special-case absolute DOS paths on systems that support them.
ramiro
parents:
3969
diff
changeset
|
42 if (path[0] && path[1] == ':') |
4d5d9ac28e21
Only special-case absolute DOS paths on systems that support them.
ramiro
parents:
3969
diff
changeset
|
43 return 1; |
4d5d9ac28e21
Only special-case absolute DOS paths on systems that support them.
ramiro
parents:
3969
diff
changeset
|
44 #endif |
4d5d9ac28e21
Only special-case absolute DOS paths on systems that support them.
ramiro
parents:
3969
diff
changeset
|
45 return 0; |
4d5d9ac28e21
Only special-case absolute DOS paths on systems that support them.
ramiro
parents:
3969
diff
changeset
|
46 } |
4d5d9ac28e21
Only special-case absolute DOS paths on systems that support them.
ramiro
parents:
3969
diff
changeset
|
47 |
230
9f4f4ca9f7b5
simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff
changeset
|
48 #ifdef __BEOS__ |
1670 | 49 # include <sys/socket.h> |
50 # include <netinet/in.h> | |
51 /* not net_server ? */ | |
52 # include <BeBuild.h> | |
53 /* R5 didn't have usleep, fake it. Haiku and Zeta has it now. */ | |
54 # 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
|
55 # include <OS.h> |
1670 | 56 /* 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
|
57 # 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
|
58 # 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
|
59 # 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
|
60 # 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
|
61 # 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
|
62 # endif |
230
9f4f4ca9f7b5
simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff
changeset
|
63 #endif |
9f4f4ca9f7b5
simpler strptime - added os_support.[ch] - moved localtime_r to os_support.c
bellard
parents:
diff
changeset
|
64 |
4206 | 65 #if CONFIG_NETWORK |
66 #if !HAVE_SOCKLEN_T | |
3124 | 67 typedef int socklen_t; |
68 #endif | |
69 | |
1670 | 70 /* most of the time closing a socket is just closing an fd */ |
4206 | 71 #if !HAVE_CLOSESOCKET |
1670 | 72 #define closesocket close |
73 #endif | |
74 | |
4206 | 75 #if CONFIG_FFSERVER |
76 #if !HAVE_POLL_H | |
1797 | 77 typedef unsigned long nfds_t; |
78 | |
79 struct pollfd { | |
80 int fd; | |
81 short events; /* events to look for */ | |
3175 | 82 short revents; /* events that occurred */ |
1797 | 83 }; |
84 | |
85 /* events & revents */ | |
86 #define POLLIN 0x0001 /* any readable data available */ | |
87 #define POLLOUT 0x0002 /* file descriptor is writeable */ | |
88 #define POLLRDNORM POLLIN | |
89 #define POLLWRNORM POLLOUT | |
90 #define POLLRDBAND 0x0008 /* priority readable data */ | |
91 #define POLLWRBAND 0x0010 /* priority data can be written */ | |
92 #define POLLPRI 0x0020 /* high priority readable data */ | |
93 | |
94 /* revents only */ | |
95 #define POLLERR 0x0004 /* errors pending */ | |
96 #define POLLHUP 0x0080 /* disconnected */ | |
97 #define POLLNVAL 0x1000 /* invalid file descriptor */ | |
98 | |
99 | |
4058 | 100 int poll(struct pollfd *fds, nfds_t numfds, int timeout); |
3039 | 101 #endif /* HAVE_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
|
102 #endif /* CONFIG_FFSERVER */ |
3125 | 103 #endif /* CONFIG_NETWORK */ |
1797 | 104 |
3852 | 105 #endif /* AVFORMAT_OS_SUPPORT_H */ |