Mercurial > libdvdread4.hg
annotate dvd_input.h @ 46:4f40782ab5fc src
Expose the dvd_stat_t struct.
The commits that brought in the DVDFileStat() function from libdvdread
0.9.7 incorrectly made the stat struct opaque. This can't be done because
the API does not use any allocation or deallocation code. So callers of
DVDFileStat cannot declare stat structs. Since we are attempting to
maintain the API compatibility w/ those releases of libdvdread, the
struct has been brought into the header. Thanks again to Rathann for
bringing this issue to the dvdnav list. And thanks to the original
bug reportera(O. Rolland) to fedora.
author | erik |
---|---|
date | Mon, 07 Dec 2009 03:50:20 +0000 |
parents | ac07d427fbc6 |
children | f06a93055430 |
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 | |
34 /** | |
18 | 35 * Function pointers that will be filled in by the input implementation. |
36 * These functions provide the main API. | |
3 | 37 */ |
38 extern dvd_input_t (*dvdinput_open) (const char *); | |
39 extern int (*dvdinput_close) (dvd_input_t); | |
40 extern int (*dvdinput_seek) (dvd_input_t, int); | |
20 | 41 extern int (*dvdinput_title) (dvd_input_t, int); |
3 | 42 extern int (*dvdinput_read) (dvd_input_t, void *, int, int); |
43 extern char * (*dvdinput_error) (dvd_input_t); | |
44 | |
45 /** | |
46 * Setup function accessed by dvd_reader.c. Returns 1 if there is CSS support. | |
47 */ | |
48 int dvdinput_setup(void); | |
49 | |
23 | 50 #endif /* LIBDVDREAD_DVD_INPUT_H */ |