annotate dvd_udf.h @ 168:330ef38ad968 src

Add files from libdvdread. This is to provide better integration with libdvdnav. Better error messages reported to the application etc. We will modify libdvdread files to be portable across all compilers. Currently, libdvdread only behaves with gcc. libdvdread does not like Microsoft Compilers. This portability modification will change libdvdread so much, that I thought it best to finally combine libdvdnav and libdvdread into one lib. Currently the added files are not used. Future commits will change that.
author jcdutton
date Sun, 27 Apr 2003 00:00:49 +0000
parents
children 6b67914ae021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
168
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
1 #ifndef DVD_UDF_H_INCLUDED
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
2 #define DVD_UDF_H_INCLUDED
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
3
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
4 /*
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
5 * This code is based on dvdudf by:
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
6 * Christian Wolff <scarabaeus@convergence.de>.
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
7 *
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
8 * Modifications by:
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
9 * Billy Biggs <vektor@dumbterm.net>.
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
10 * Björn Englund <d4bjorn@dtek.chalmers.se>.
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
11 *
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
12 * dvdudf: parse and read the UDF volume information of a DVD Video
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
13 * Copyright (C) 1999 Christian Wolff for convergence integrated media
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
14 * GmbH The author can be reached at scarabaeus@convergence.de, the
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
15 * project's page is at http://linuxtv.org/dvd/
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
16 *
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
17 * This program is free software; you can redistribute it and/or modify
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
18 * it under the terms of the GNU General Public License as published by
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
19 * the Free Software Foundation; either version 2 of the License, or (at
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
20 * your option) any later version.
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
21 *
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
22 * This program is distributed in the hope that it will be useful, but
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
23 * WITHOUT ANY WARRANTY; without even the implied warranty of
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
25 * General Public License for more details.
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
26 *
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
27 * You should have received a copy of the GNU General Public License
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
28 * along with this program; if not, write to the Free Software
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
29 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
30 * 02111-1307, USA. Or, point your browser to
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
31 * http://www.gnu.org/copyleft/gpl.html
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
32 */
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
33
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
34 #include <inttypes.h>
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
35
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
36 #include "dvd_reader.h"
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
37
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
38 #ifdef __cplusplus
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
39 extern "C" {
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
40 #endif
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
41
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
42 /**
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
43 * Looks for a file on the UDF disc/imagefile and returns the block number
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
44 * where it begins, or 0 if it is not found. The filename should be an
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
45 * absolute pathname on the UDF filesystem, starting with '/'. For example,
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
46 * '/VIDEO_TS/VTS_01_1.IFO'. On success, filesize will be set to the size of
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
47 * the file in bytes.
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
48 */
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
49 uint32_t UDFFindFile( dvd_reader_t *device, char *filename, uint32_t *size );
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
50
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
51 void FreeUDFCache(void *cache);
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
52 int UDFGetVolumeIdentifier(dvd_reader_t *device,
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
53 char *volid, unsigned int volid_size);
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
54 int UDFGetVolumeSetIdentifier(dvd_reader_t *device,
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
55 uint8_t *volsetid, unsigned int volsetid_size);
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
56 #ifdef __cplusplus
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
57 };
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
58 #endif
330ef38ad968 Add files from libdvdread.
jcdutton
parents:
diff changeset
59 #endif /* DVD_UDF_H_INCLUDED */