/usr/include/libbdplus/bdplus.h is in libbdplus-dev 0.1.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 | /*
* This file is part of libbdplus
* Copyright (C) 2008-2010 Accident
* Copyright (C) 2013 VideoLAN
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef BDPLUS_H_INCLUDED
#define BDPLUS_H_INCLUDED
#include <stdint.h>
/* opaque types */
typedef struct bdplus_s bdplus_t;
typedef struct bdplus_st_s bdplus_st_t;
/* Memory region types for bdplus_mmap() */
#define MMAP_ID_PSR 0
#define MMAP_ID_GPR 1
/* Events from application to bdplus */
#define BDPLUS_EVENT_START 0x00000000
#define BDPLUS_EVENT_TITLE 0x00000110
#define BDPLUS_EVENT_APPLICATION 0x00000210
#define BDPLUS_RUN_CONVTAB 0xffffffff /* get conversion table when disc is played without menus */
/*
* Get the bdplus library version number.
*
*/
void bdplus_get_version(int *major, int *minor, int *micro);
/*
* Initialise the bdplus library.
*
* @param path Path to BD disc root
* @param config_path Path to BD+ configuration (optional)
* @param vid BD disc Volume ID
* @return bdplus handle, NULL on error
*/
bdplus_t *bdplus_init(const char *path, const char *config_path, const uint8_t *vid);
/* get BD+ content code generation */
int32_t bdplus_get_code_gen(bdplus_t *plus);
/* get BD+ content code release date */
int32_t bdplus_get_code_date(bdplus_t *plus);
/*
* Release the bdplus library.
*
* @param bdplus handle
*/
void bdplus_free(bdplus_t *);
/*
* Map player memory region.
*
* @param id Memory region type
* @param mem Memory region address
*/
void bdplus_mmap(bdplus_t *, uint32_t id, void *mem);
/*
* Set media key
*
* @param mk BD disc Media Key
*/
void bdplus_set_mk(bdplus_t *, const uint8_t *mk);
/*
* Register PSR handler functions.
*
* @param regs Application-specific handle for psr_read/psr_write
* @param psr_read Function used to read from PSR
* @param psr_write Function used to write to PSR
*/
void bdplus_psr(bdplus_t *,
void *regs,
uint32_t (*psr_read) (void *regs, int reg),
int (*psr_write)(void *regs, int reg, uint32_t value));
/*
* Start the bdplus VM
*/
int32_t bdplus_start(bdplus_t *);
/*
* Send event to the bdplus VM.
*
* @param event event type (BDPLUS_EVENT_*)
*/
int32_t bdplus_event(bdplus_t *, uint32_t event, uint32_t param1, uint32_t param2);
/*
* Stream interface
*/
/*
* Select m2ts file for playback.
*
* @param m2ts m2ts file number
* @return stream handle, NULL on error
*/
bdplus_st_t *bdplus_m2ts(bdplus_t *, uint32_t m2ts);
/*
* Close stream handle.
*/
void bdplus_m2ts_close(bdplus_st_t *);
/*
* Notify stream seek.
*
* @param offset new byte offset of the stream.
*/
int32_t bdplus_seek(bdplus_st_t *, uint64_t offset);
/*
* Patch stream buffer.
*
* @param len buffer length
* @param buffer stream data
* @return Number of patches performed for the buffer (statistics).
*/
int32_t bdplus_fixup(bdplus_st_t *, int len, uint8_t *buffer);
#endif /* BDPLUS_H_INCLUDED */
|