annotate libdvdcss/device.h @ 33263:5f527a9a9521

Add an exit function. This function will allow performing clean-up operations. (MPlayer calls guiDone() before exiting, but only if the GUI has been initialized, i.e. if guiInit() has been called successfully. Any exit_player()/exit_player_with_rc() after GUI's cfg_read() until guiInit(), or any exit_player() during guiInit() itself will end the GUI without calling guiDone(). This exit function will at least handle abortions during guiInit() itself. It will be called twice in case of an guiExit() after GUI initialization - first directly, next by guiDone() via MPlayer's exit_player_with_rc().)
author ib
date Tue, 03 May 2011 12:19:22 +0000
parents cda66f57f7a5
children 691431d2289e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
1 /*****************************************************************************
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
2 * device.h: DVD device access
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
3 *****************************************************************************
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
4 * Copyright (C) 1998-2002 VideoLAN
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
5 * $Id$
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
6 *
27442
afa2cc0166be Sync libdvdcss with upstream version r212.
diego
parents: 20613
diff changeset
7 * Authors: Stéphane Borel <stef@via.ecp.fr>
27462
60bd1a7f3fc6 Sync libdvdcss with upstream version 1.2.10.
diego
parents: 27442
diff changeset
8 * Sam Hocevar <sam@zoy.org>
27442
afa2cc0166be Sync libdvdcss with upstream version r212.
diego
parents: 20613
diff changeset
9 * Håkan Hjort <d95hjort@dtek.chalmers.se>
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
10 *
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
11 * This program is free software; you can redistribute it and/or modify
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
12 * it under the terms of the GNU General Public License as published by
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
14 * (at your option) any later version.
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
15 *
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
16 * This program is distributed in the hope that it will be useful,
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
19 * GNU General Public License for more details.
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
20 *
31098
9e9595c779cf libdvdcss: cosmetics: Fix FSF address and program name in license headers.
diego
parents: 27462
diff changeset
21 * You should have received a copy of the GNU General Public License along
9e9595c779cf libdvdcss: cosmetics: Fix FSF address and program name in license headers.
diego
parents: 27462
diff changeset
22 * with libdvdcss; if not, write to the Free Software Foundation, Inc.,
9e9595c779cf libdvdcss: cosmetics: Fix FSF address and program name in license headers.
diego
parents: 27462
diff changeset
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
24 *****************************************************************************/
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
25
32265
cda66f57f7a5 Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents: 31099
diff changeset
26 #ifndef DVDCSS_DEVICE_H
cda66f57f7a5 Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents: 31099
diff changeset
27 #define DVDCSS_DEVICE_H
cda66f57f7a5 Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents: 31099
diff changeset
28
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
29 /*****************************************************************************
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
30 * iovec structure: vectored data entry
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
31 *****************************************************************************/
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
32 #if defined( WIN32 ) && !defined( SYS_CYGWIN )
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
33 # include <io.h> /* read() */
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
34 #else
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
35 # include <sys/types.h>
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
36 # include <sys/uio.h> /* struct iovec */
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
37 #endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
38
32265
cda66f57f7a5 Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents: 31099
diff changeset
39 #include "dvdcss/dvdcss.h"
cda66f57f7a5 Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents: 31099
diff changeset
40
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
41 #if defined( WIN32 ) && !defined( SYS_CYGWIN )
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
42 struct iovec
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
43 {
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
44 void *iov_base; /* Pointer to data. */
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
45 size_t iov_len; /* Length of data. */
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
46 };
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
47 #endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
48
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
49 /*****************************************************************************
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
50 * Device reading prototypes
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
51 *****************************************************************************/
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
52 int _dvdcss_use_ioctls ( dvdcss_t );
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
53 void _dvdcss_check ( dvdcss_t );
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
54 int _dvdcss_open ( dvdcss_t );
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
55 int _dvdcss_close ( dvdcss_t );
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
56
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
57 /*****************************************************************************
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
58 * Device reading prototypes, raw-device specific
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
59 *****************************************************************************/
31099
f43e87f69590 libdvdcss: OS/2 support; this merges upstream revisions 220 and 229.
diego
parents: 31098
diff changeset
60 #if !defined(WIN32) && !defined(SYS_OS2)
20613
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
61 int _dvdcss_raw_open ( dvdcss_t, char const * );
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
62 #endif
e68f255d7d64 Move libdvdcss into its own subdirectory.
diego
parents:
diff changeset
63
32265
cda66f57f7a5 Sync some minor changes from upstream libdvdcss, up to r237.
diego
parents: 31099
diff changeset
64 #endif /* DVDCSS_DEVICE_H */