00001
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef _DVDCSS_DVDCSS_H
00031 #ifndef _DOXYGEN_SKIP_ME
00032 #define _DVDCSS_DVDCSS_H 1
00033 #endif
00034
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038
00040 typedef struct dvdcss_s* dvdcss_t;
00041
00042
00044 #define DVDCSS_BLOCK_SIZE 2048
00045
00047 #define DVDCSS_NOFLAGS 0
00048
00050 #define DVDCSS_READ_DECRYPT (1 << 0)
00051
00053 #define DVDCSS_SEEK_MPEG (1 << 0)
00054
00056 #define DVDCSS_SEEK_KEY (1 << 1)
00057
00058
00059
00060
00061
00062 extern char * dvdcss_interface_2;
00063
00064
00065
00066
00067
00068 extern dvdcss_t dvdcss_open ( char *psz_target );
00069 extern int dvdcss_close ( dvdcss_t );
00070 extern int dvdcss_seek ( dvdcss_t,
00071 int i_blocks,
00072 int i_flags );
00073 extern int dvdcss_read ( dvdcss_t,
00074 void *p_buffer,
00075 int i_blocks,
00076 int i_flags );
00077 extern int dvdcss_readv ( dvdcss_t,
00078 void *p_iovec,
00079 int i_blocks,
00080 int i_flags );
00081 extern char * dvdcss_error ( dvdcss_t );
00082
00083
00084
00085
00086
00087 #ifndef _DOXYGEN_SKIP_ME
00088 #define dvdcss_title(a,b) dvdcss_seek(a,b,DVDCSS_SEEK_KEY)
00089 #define dvdcss_handle dvdcss_t
00090 #endif
00091
00092
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096
00097 #endif