diff options
author | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-11-03 12:25:56 +0000 |
---|---|---|
committer | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-11-03 12:25:56 +0000 |
commit | 689d0cc0f40c3a03d2e4dacf1f0d891da329a9c9 (patch) | |
tree | 3e26dfac993216bc9ff233808b412980de5a54f2 /libdvdcss/libdvdcss.h | |
parent | b23a127c9a4588515256c2c9510beb63441a9d64 (diff) | |
download | mpv-689d0cc0f40c3a03d2e4dacf1f0d891da329a9c9.tar.bz2 mpv-689d0cc0f40c3a03d2e4dacf1f0d891da329a9c9.tar.xz |
Move libdvdcss into its own subdirectory.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20629 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libdvdcss/libdvdcss.h')
-rw-r--r-- | libdvdcss/libdvdcss.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/libdvdcss/libdvdcss.h b/libdvdcss/libdvdcss.h new file mode 100644 index 0000000000..9fad5d84ce --- /dev/null +++ b/libdvdcss/libdvdcss.h @@ -0,0 +1,104 @@ +/***************************************************************************** + * libdvdcss.h: private DVD reading library data + ***************************************************************************** + * Copyright (C) 1998-2001 VideoLAN + * $Id$ + * + * Authors: Stéphane Borel <stef@via.ecp.fr> + * Samuel Hocevar <sam@zoy.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + *****************************************************************************/ + +struct iovec; + +/***************************************************************************** + * The libdvdcss structure + *****************************************************************************/ +struct dvdcss_s +{ + /* File descriptor */ + char * psz_device; + int i_fd; + int i_read_fd; + int i_pos; + + /* File handling */ + int ( * pf_seek ) ( dvdcss_t, int ); + int ( * pf_read ) ( dvdcss_t, void *, int ); + int ( * pf_readv ) ( dvdcss_t, struct iovec *, int ); + + /* Decryption stuff */ + int i_method; + css_t css; + int b_ioctls; + int b_scrambled; + dvd_title_t *p_titles; + + /* Key cache directory and pointer to the filename */ + char psz_cachefile[PATH_MAX]; + char * psz_block; + + /* Error management */ + char * psz_error; + int b_errors; + int b_debug; + +#ifdef WIN32 + int b_file; + char * p_readv_buffer; + int i_readv_buf_size; +#endif + +#ifndef WIN32 + int i_raw_fd; +#endif +}; + +/***************************************************************************** + * libdvdcss method: used like init flags + *****************************************************************************/ +#define DVDCSS_METHOD_KEY 0 +#define DVDCSS_METHOD_DISC 1 +#define DVDCSS_METHOD_TITLE 2 + +/***************************************************************************** + * Functions used across the library + *****************************************************************************/ +#define print_error(dvdcss,msg) _print_error(dvdcss,msg) +#if defined( _MSC_VER ) +#include <stdarg.h> +__forceinline void print_debug(dvdcss_t dvdcss, const char *msg,...) +{ + va_list args; + + fprintf( stderr, "libdvdcss debug: " ); + va_start( args, msg ); + vfprintf( stderr, msg, args ); + va_end( args ); + fprintf( stderr, "\n" ); +} +#else +#define print_debug(dvdcss,msg,args...) \ + if( dvdcss->b_debug ) \ + { \ + fprintf( stderr, "libdvdcss debug: " ); \ + fprintf( stderr, msg, ##args ); \ + fprintf( stderr, "\n" ); \ + } +#endif + +void _print_error ( dvdcss_t, char * ); + |