29 #ifndef DVDCSS_DVDCSS_H
30 #ifndef _DOXYGEN_SKIP_ME
31 #define DVDCSS_DVDCSS_H 1
49 int ( *
pf_seek ) (
void *p_stream, uint64_t i_pos);
51 int ( *
pf_read ) (
void *p_stream,
void *buffer,
int i_read);
53 int ( *
pf_readv ) (
void *p_stream,
const void *p_iovec,
int i_blocks);
58 #define DVDCSS_BLOCK_SIZE 2048
61 #define DVDCSS_NOFLAGS 0
64 #define DVDCSS_READ_DECRYPT (1 << 0)
67 #define DVDCSS_SEEK_MPEG (1 << 0)
70 #define DVDCSS_SEEK_KEY (1 << 1)
76 #if defined(LIBDVDCSS_EXPORTS)
77 #define LIBDVDCSS_EXPORT __declspec(dllexport) extern
78 #elif defined(LIBDVDCSS_IMPORTS)
79 #define LIBDVDCSS_EXPORT __declspec(dllimport) extern
80 #elif defined(SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT)
81 #define LIBDVDCSS_EXPORT __attribute__((visibility("default"))) extern
83 #define LIBDVDCSS_EXPORT extern
LIBDVDCSS_EXPORT dvdcss_t dvdcss_open(const char *psz_target)
Open a DVD device or directory and return a dvdcss instance.
Definition: libdvdcss.c:502
LIBDVDCSS_EXPORT const char * dvdcss_error(const dvdcss_t)
Return a string containing the last error that occurred in the given libdvdcss instance.
Definition: libdvdcss.c:633
LIBDVDCSS_EXPORT int dvdcss_readv(dvdcss_t, void *p_iovec, int i_blocks, int i_flags)
Read data from the disc into multiple buffers and decrypt data if requested.
Definition: libdvdcss.c:775
#define LIBDVDCSS_EXPORT
Definition: dvdcss.h:83
struct dvdcss_stream_cb dvdcss_stream_cb
LIBDVDCSS_EXPORT int dvdcss_read(dvdcss_t, void *p_buffer, int i_blocks, int i_flags)
Read from the disc and decrypt data if requested.
Definition: libdvdcss.c:701
LIBDVDCSS_EXPORT int dvdcss_close(dvdcss_t)
Clean up library state and structures.
Definition: libdvdcss.c:832
LIBDVDCSS_EXPORT int dvdcss_is_scrambled(dvdcss_t)
Detect whether or not a DVD is scrambled.
Definition: libdvdcss.c:860
LIBDVDCSS_EXPORT int dvdcss_seek(dvdcss_t, int i_blocks, int i_flags)
Seek in the disc and change the current key if requested.
Definition: libdvdcss.c:661
LIBDVDCSS_EXPORT dvdcss_t dvdcss_open_stream(void *p_stream, dvdcss_stream_cb *p_stream_cb)
Open a DVD device using dvdcss_stream_cb.
Definition: libdvdcss.c:516
struct dvdcss_s * dvdcss_t
Definition: dvdcss.h:43
int(* pf_seek)(void *p_stream, uint64_t i_pos)
Definition: dvdcss.h:49
int(* pf_read)(void *p_stream, void *buffer, int i_read)
Definition: dvdcss.h:51
int(* pf_readv)(void *p_stream, const void *p_iovec, int i_blocks)
Definition: dvdcss.h:53