]> git.sesse.net Git - vlc/blob - extras/libdvdcss/libdvdcss.h
77b26647225450769d1188f586ce5b85e8f697d5
[vlc] / extras / libdvdcss / libdvdcss.h
1 /*****************************************************************************
2  * private.h: private DVD reading library data
3  *****************************************************************************
4  * Copyright (C) 1998-2001 VideoLAN
5  * $Id: libdvdcss.h,v 1.3 2001/06/14 02:47:44 sam Exp $
6  *
7  * Authors: Stéphane Borel <stef@via.ecp.fr>
8  *          Samuel Hocevar <sam@zoy.org>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  * 
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
23  *****************************************************************************/
24
25 /*****************************************************************************
26  * Needed headers
27  *****************************************************************************/
28 #include "css.h"
29
30 /*****************************************************************************
31  * The libdvdcss structure
32  *****************************************************************************/
33 struct dvdcss_s
34 {
35     /* File descriptor */
36     int i_fd;
37
38     /* Decryption stuff */
39     css_t     css;
40     boolean_t b_encrypted;
41
42     /* Error management */
43     char     *psz_error;
44     boolean_t b_errors;
45     boolean_t b_debug;
46
47 };
48
49 /*****************************************************************************
50  * Error management
51  *****************************************************************************/
52 #if defined( _WIN32 ) && defined( _MSC_VER )
53 #   define DVDCSS_ERROR( x ) fprintf( stderr, "libdvdcss error: %s\n", x );
54 #   define DVDCSS_DEBUG( x ) fprintf( stderr, "libdvdcss debug: %s\n", x );
55 #else
56 #   define DVDCSS_ERROR( x... ) fprintf( stderr, "libdvdcss error: %s\n", ##x );
57 #   define DVDCSS_DEBUG( x... ) fprintf( stderr, "libdvdcss debug: %s\n", ##x );
58 #endif
59
60 static __inline__ void _dvdcss_error( dvdcss_handle dvdcss, char *psz_string )
61 {
62     if( dvdcss->b_errors )
63     {
64         DVDCSS_ERROR( psz_string );
65     }
66
67     dvdcss->psz_error = psz_string;
68 }
69
70 static __inline__ void _dvdcss_debug( dvdcss_handle dvdcss, char *psz_string )
71 {
72     if( dvdcss->b_debug )
73     {
74         DVDCSS_DEBUG( psz_string );
75     }
76 }
77
78