1 /*
2  * This file is part of libbluray
3  * Copyright (C) 2010 fraxinas
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library. If not, see
17  * <http://www.gnu.org/licenses/>.
18  */
19 
20 #if !defined(_META_PARSE_H_)
21 #define _META_PARSE_H_
22 
23 #include "util/attributes.h"
24 
25 struct bd_disc;
26 struct meta_dl;
27 struct meta_tn;
28 struct meta_root;
29 
30 typedef struct meta_root META_ROOT;
31 
32 typedef struct meta_tn {
33     char                 language_code[4];
34     char *               filename;
35 
36     unsigned             playlist;
37     unsigned             num_chapter;
38     char               **chapter_name;
39 } META_TN;
40 
41 BD_PRIVATE struct meta_root *     meta_parse(struct bd_disc *disc) BD_ATTR_MALLOC;
42 BD_PRIVATE void                   meta_free (struct meta_root **index);
43 BD_PRIVATE const struct meta_dl * meta_get  (const struct meta_root *meta_root, const char *language_code);
44 BD_PRIVATE const struct meta_tn * meta_get_tn(const struct meta_root *meta_root, const char *language_code, unsigned playlist);
45 
46 #endif // _META_PARSE_H_
47 
48