Mercurial > libdvdread4.hg
annotate dvd_input.h @ 51:f06a93055430 src
Win32: large file support under Mingw to go over 2G limits
Patch by John Stebbins of Handbrake
| author | jb |
|---|---|
| date | Tue, 01 Jun 2010 17:07:13 +0000 |
| parents | ac07d427fbc6 |
| children |
| rev | line source |
|---|---|
| 3 | 1 /* |
| 2 * Copyright (C) 2001, 2002 Samuel Hocevar <sam@zoy.org>, | |
| 22 | 3 * HÃ¥kan Hjort <d95hjort@dtek.chalmers.se> |
| 3 | 4 * |
|
21
4aa618ae094f
Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents:
20
diff
changeset
|
5 * This file is part of libdvdread. |
|
4aa618ae094f
Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents:
20
diff
changeset
|
6 * |
|
4aa618ae094f
Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents:
20
diff
changeset
|
7 * libdvdread is free software; you can redistribute it and/or modify |
| 3 | 8 * it under the terms of the GNU General Public License as published by |
| 9 * the Free Software Foundation; either version 2 of the License, or | |
| 10 * (at your option) any later version. | |
| 20 | 11 * |
|
21
4aa618ae094f
Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents:
20
diff
changeset
|
12 * libdvdread is distributed in the hope that it will be useful, |
| 3 | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 15 * GNU General Public License for more details. | |
| 16 * | |
|
21
4aa618ae094f
Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents:
20
diff
changeset
|
17 * You should have received a copy of the GNU General Public License along |
|
4aa618ae094f
Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents:
20
diff
changeset
|
18 * with libdvdread; if not, write to the Free Software Foundation, Inc., |
|
4aa618ae094f
Use consistent license headers everywhere: Fix FSF address and boilerplate.
diego
parents:
20
diff
changeset
|
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
| 3 | 20 */ |
| 21 | |
| 23 | 22 #ifndef LIBDVDREAD_DVD_INPUT_H |
| 23 #define LIBDVDREAD_DVD_INPUT_H | |
| 24 | |
| 3 | 25 /** |
| 26 * Defines and flags. Make sure they fit the libdvdcss API! | |
| 27 */ | |
| 28 #define DVDINPUT_NOFLAGS 0 | |
| 29 | |
| 30 #define DVDINPUT_READ_DECRYPT (1 << 0) | |
| 31 | |
| 32 typedef struct dvd_input_s *dvd_input_t; | |
| 33 | |
|
51
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
34 #if defined( __MINGW32__ ) |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
35 # undef lseek |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
36 # define lseek _lseeki64 |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
37 # undef off_t |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
38 # define off_t off64_t |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
39 # undef stat |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
40 # define stat _stati64 |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
41 # define fstat _fstati64 |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
42 # define wstat _wstati64 |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
43 #endif |
|
f06a93055430
Win32: large file support under Mingw to go over 2G limits
jb
parents:
23
diff
changeset
|
44 |
| 3 | 45 /** |
| 18 | 46 * Function pointers that will be filled in by the input implementation. |
| 47 * These functions provide the main API. | |
| 3 | 48 */ |
| 49 extern dvd_input_t (*dvdinput_open) (const char *); | |
| 50 extern int (*dvdinput_close) (dvd_input_t); | |
| 51 extern int (*dvdinput_seek) (dvd_input_t, int); | |
| 20 | 52 extern int (*dvdinput_title) (dvd_input_t, int); |
| 3 | 53 extern int (*dvdinput_read) (dvd_input_t, void *, int, int); |
| 54 extern char * (*dvdinput_error) (dvd_input_t); | |
| 55 | |
| 56 /** | |
| 57 * Setup function accessed by dvd_reader.c. Returns 1 if there is CSS support. | |
| 58 */ | |
| 59 int dvdinput_setup(void); | |
| 60 | |
| 23 | 61 #endif /* LIBDVDREAD_DVD_INPUT_H */ |
