Mercurial > mplayer.hg
annotate libmpdvdkit2/dvdcss.h @ 16510:881e136ebf1a
add FreeBSD default cd/dvd devices
author | nexus |
---|---|
date | Sat, 17 Sep 2005 20:53:20 +0000 |
parents | c2ddedd0619e |
children | 954cdf2171f6 |
rev | line source |
---|---|
7027 | 1 /** |
2 * \file dvdcss.h | |
3 * \author Stéphane Borel <stef@via.ecp.fr> | |
4 * \author Samuel Hocevar <sam@zoy.org> | |
5 * \brief The \e libdvdcss public header. | |
6 * | |
7 * This header contains the public types and functions that applications | |
8 * using \e libdvdcss may use. | |
9 */ | |
10 | |
11 /* | |
12 * Copyright (C) 1998-2002 VideoLAN | |
14860
c2ddedd0619e
Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents:
9333
diff
changeset
|
13 * |
c2ddedd0619e
Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents:
9333
diff
changeset
|
14 * Modified for use with MPlayer, changes contained in libdvdcss_changes.diff. |
c2ddedd0619e
Mark modified files as such to comply more closely with GPL ¡ø2a.
diego
parents:
9333
diff
changeset
|
15 * detailed CVS changelog at http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/ |
7027 | 16 * $Id$ |
17 * | |
18 * This program is free software; you can redistribute it and/or modify | |
19 * it under the terms of the GNU General Public License as published by | |
20 * the Free Software Foundation; either version 2 of the License, or | |
21 * (at your option) any later version. | |
9333
f0f0f176d298
sync with libdvdcss 1.2.5 (including u8->uint8_t and whitespace cosmetics...)
arpi
parents:
7033
diff
changeset
|
22 * |
7027 | 23 * This program is distributed in the hope that it will be useful, |
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
26 * GNU General Public License for more details. | |
27 * | |
28 * You should have received a copy of the GNU General Public License | |
29 * along with this program; if not, write to the Free Software | |
30 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. | |
31 */ | |
32 | |
33 #ifndef _DVDCSS_DVDCSS_H | |
34 #ifndef _DOXYGEN_SKIP_ME | |
35 #define _DVDCSS_DVDCSS_H 1 | |
36 #endif | |
37 | |
38 #ifdef __cplusplus | |
39 extern "C" { | |
40 #endif | |
41 | |
42 /** Library instance handle, to be used for each library call. */ | |
43 typedef struct dvdcss_s* dvdcss_t; | |
44 | |
45 | |
46 /** The block size of a DVD. */ | |
47 #define DVDCSS_BLOCK_SIZE 2048 | |
48 | |
49 /** The default flag to be used by \e libdvdcss functions. */ | |
50 #define DVDCSS_NOFLAGS 0 | |
51 | |
52 /** Flag to ask dvdcss_read() to decrypt the data it reads. */ | |
53 #define DVDCSS_READ_DECRYPT (1 << 0) | |
54 | |
55 /** Flag to tell dvdcss_seek() it is seeking in MPEG data. */ | |
56 #define DVDCSS_SEEK_MPEG (1 << 0) | |
57 | |
58 /** Flag to ask dvdcss_seek() to check the current title key. */ | |
59 #define DVDCSS_SEEK_KEY (1 << 1) | |
60 | |
61 | |
62 /* | |
63 * Our version number. The variable name contains the interface version. | |
64 */ | |
65 extern char * dvdcss_interface_2; | |
66 | |
67 | |
68 /* | |
69 * Exported prototypes. | |
70 */ | |
71 extern dvdcss_t dvdcss_open ( char *psz_target ); | |
72 extern int dvdcss_close ( dvdcss_t ); | |
7033 | 73 extern int dvdcss_title ( dvdcss_t, |
74 int i_block ); | |
7027 | 75 extern int dvdcss_seek ( dvdcss_t, |
76 int i_blocks, | |
77 int i_flags ); | |
78 extern int dvdcss_read ( dvdcss_t, | |
79 void *p_buffer, | |
80 int i_blocks, | |
81 int i_flags ); | |
82 extern int dvdcss_readv ( dvdcss_t, | |
83 void *p_iovec, | |
84 int i_blocks, | |
85 int i_flags ); | |
86 extern char * dvdcss_error ( dvdcss_t ); | |
87 | |
88 | |
89 /* | |
90 * Deprecated stuff. | |
91 */ | |
92 #ifndef _DOXYGEN_SKIP_ME | |
93 #define dvdcss_title(a,b) dvdcss_seek(a,b,DVDCSS_SEEK_KEY) | |
94 #define dvdcss_handle dvdcss_t | |
95 #endif | |
96 | |
97 | |
98 #ifdef __cplusplus | |
99 } | |
100 #endif | |
101 | |
102 #endif /* <dvdcss/dvdcss.h> */ |