|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* This file is part of libbluray
|
|
Packit |
5e46da |
* Copyright (C) 2013-2015 VideoLAN
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* This library is free software; you can redistribute it and/or
|
|
Packit |
5e46da |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit |
5e46da |
* License as published by the Free Software Foundation; either
|
|
Packit |
5e46da |
* version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
5e46da |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
5e46da |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
5e46da |
* Lesser General Public License for more details.
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
5e46da |
* License along with this library. If not, see
|
|
Packit |
5e46da |
* <http://www.gnu.org/licenses/>.
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#ifndef _BD_LIBBDPLUS_H_
|
|
Packit |
5e46da |
#define _BD_LIBBDPLUS_H_
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#include "util/attributes.h"
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#include <stdint.h>
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct bd_bdplus BD_BDPLUS;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE int libbdplus_required(void *have_file_handle, int (*have_file)(void *, const char *, const char *));
|
|
Packit |
5e46da |
BD_PRIVATE BD_BDPLUS *libbdplus_load(void);
|
|
Packit |
5e46da |
BD_PRIVATE int libbdplus_is_mmbd(BD_BDPLUS *);
|
|
Packit |
5e46da |
BD_PRIVATE int libbdplus_init(BD_BDPLUS *p, const char *root, const char *device,
|
|
Packit |
5e46da |
void *open_file_handle, void *open_file_fp,
|
|
Packit |
5e46da |
const uint8_t *vid, const uint8_t *mk);
|
|
Packit |
5e46da |
BD_PRIVATE void libbdplus_unload(BD_BDPLUS **p);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE int libbdplus_get_gen(BD_BDPLUS *p);
|
|
Packit |
5e46da |
BD_PRIVATE int libbdplus_get_date(BD_BDPLUS *p);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE void libbdplus_mmap(BD_BDPLUS *p, uint32_t region_id, void *mem);
|
|
Packit |
5e46da |
BD_PRIVATE void libbdplus_psr(BD_BDPLUS *p, void *regs, void *read, void *write);
|
|
Packit |
5e46da |
BD_PRIVATE void libbdplus_start(BD_BDPLUS *p);
|
|
Packit |
5e46da |
BD_PRIVATE void libbdplus_event(BD_BDPLUS *p, uint32_t event, uint32_t param1, uint32_t param2);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#define BD_BDPLUS_TYPE 0x1000
|
|
Packit |
5e46da |
BD_PRIVATE const uint8_t *libbdplus_get_data(BD_BDPLUS *p, int type);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* stream layer
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
typedef struct bd_bdplus_st BD_BDPLUS_ST;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE BD_BDPLUS_ST *libbdplus_m2ts(BD_BDPLUS *p, uint32_t clip_id, uint64_t pos);
|
|
Packit |
5e46da |
BD_PRIVATE int libbdplus_seek(BD_BDPLUS_ST *p, uint64_t pos);
|
|
Packit |
5e46da |
BD_PRIVATE int libbdplus_fixup(BD_BDPLUS_ST *p, uint8_t *buf, int len);
|
|
Packit |
5e46da |
BD_PRIVATE int libbdplus_m2ts_close(BD_BDPLUS_ST **p);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#endif /* _BD_BDPLUS_H_ */
|