annotate dvdread/dvd_udf.h @ 25661:293aeec83153

Replace the persistent CODECS_FLAG_SELECTED by a local "stringset" with an almost-trivial implementation. This allows making the builtin codec structs const, and it also makes clearer that this "selected" status is not used outside the init functions.
author reimar
date Sat, 12 Jan 2008 14:05:46 +0000
parents 98ba5d5bfe2d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24050
1542693b2a30 Sync libdvdread with version 0.9.5 (cosmetic changes).
diego
parents: 24047
diff changeset
1 /* -*- c-basic-offset: 2; indent-tabs-mode: nil -*- */
7029
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
2 #ifndef DVD_UDF_H_INCLUDED
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
3 #define DVD_UDF_H_INCLUDED
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
4
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
5 /*
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
6 * This code is based on dvdudf by:
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
7 * Christian Wolff <scarabaeus@convergence.de>.
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
8 *
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
9 * Modifications by:
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
10 * Billy Biggs <vektor@dumbterm.net>.
15874
483e955893b8 update libdvdread to v0.9.4
aurel
parents: 7029
diff changeset
11 * Björn Englund <d4bjorn@dtek.chalmers.se>.
483e955893b8 update libdvdread to v0.9.4
aurel
parents: 7029
diff changeset
12 *
7029
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
13 * dvdudf: parse and read the UDF volume information of a DVD Video
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
14 * Copyright (C) 1999 Christian Wolff for convergence integrated media
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
15 * GmbH The author can be reached at scarabaeus@convergence.de, the
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
16 * project's page is at http://linuxtv.org/dvd/
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
17 *
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
18 * This program is free software; you can redistribute it and/or modify
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
19 * it under the terms of the GNU General Public License as published by
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
20 * the Free Software Foundation; either version 2 of the License, or (at
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
21 * your option) any later version.
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
22 *
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
23 * This program is distributed in the hope that it will be useful, but
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
24 * WITHOUT ANY WARRANTY; without even the implied warranty of
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
26 * General Public License for more details.
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
27 *
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
28 * You should have received a copy of the GNU General Public License
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
29 * along with this program; if not, write to the Free Software
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
30 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
31 * 02111-1307, USA. Or, point your browser to
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
32 * http://www.gnu.org/copyleft/gpl.html
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
33 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
34
24047
de28f9e8cb00 Sync libdvdread with version 0.9.5 (functional changes).
diego
parents: 20981
diff changeset
35 #if defined(HAVE_INTTYPES_H)
7029
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
36 #include <inttypes.h>
24047
de28f9e8cb00 Sync libdvdread with version 0.9.5 (functional changes).
diego
parents: 20981
diff changeset
37 #elif defined(HAVE_STDINT_H)
de28f9e8cb00 Sync libdvdread with version 0.9.5 (functional changes).
diego
parents: 20981
diff changeset
38 #include <stdint.h>
de28f9e8cb00 Sync libdvdread with version 0.9.5 (functional changes).
diego
parents: 20981
diff changeset
39 #endif
7029
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
40
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
41 #include "dvd_reader.h"
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
42
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
43 #ifdef __cplusplus
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
44 extern "C" {
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
45 #endif
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
46
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
47 /**
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
48 * Looks for a file on the UDF disc/imagefile and returns the block number
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
49 * where it begins, or 0 if it is not found. The filename should be an
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
50 * absolute pathname on the UDF filesystem, starting with '/'. For example,
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
51 * '/VIDEO_TS/VTS_01_1.IFO'. On success, filesize will be set to the size of
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
52 * the file in bytes.
24055
98ba5d5bfe2d Sync libdvdread with version 0.9.6.
diego
parents: 24050
diff changeset
53 * This implementation relies on that the file size is less than 2^32
98ba5d5bfe2d Sync libdvdread with version 0.9.6.
diego
parents: 24050
diff changeset
54 * A DVD file can at most be 2^30 (-2048 ?).
7029
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
55 */
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
56 uint32_t UDFFindFile( dvd_reader_t *device, char *filename, uint32_t *size );
24050
1542693b2a30 Sync libdvdread with version 0.9.5 (cosmetic changes).
diego
parents: 24047
diff changeset
57
24047
de28f9e8cb00 Sync libdvdread with version 0.9.5 (functional changes).
diego
parents: 20981
diff changeset
58 void FreeUDFCache(dvd_reader_t *device, void *cache);
15874
483e955893b8 update libdvdread to v0.9.4
aurel
parents: 7029
diff changeset
59 int UDFGetVolumeIdentifier(dvd_reader_t *device,
24050
1542693b2a30 Sync libdvdread with version 0.9.5 (cosmetic changes).
diego
parents: 24047
diff changeset
60 char *volid, unsigned int volid_size);
15874
483e955893b8 update libdvdread to v0.9.4
aurel
parents: 7029
diff changeset
61 int UDFGetVolumeSetIdentifier(dvd_reader_t *device,
24050
1542693b2a30 Sync libdvdread with version 0.9.5 (cosmetic changes).
diego
parents: 24047
diff changeset
62 uint8_t *volsetid, unsigned int volsetid_size);
7029
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
63 #ifdef __cplusplus
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
64 };
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
65 #endif
9db58ffbd73c importing libdvdread 0.9.3 files
arpi
parents:
diff changeset
66 #endif /* DVD_UDF_H_INCLUDED */