Merge svn changes up to r28204
[mplayer/glamo.git] / libdvdread / dvd_input.h
blob607619e2d0b8ffbed215795bd3744a4e2c9fe9bb
1 /* -*- c-basic-offset: 2; indent-tabs-mode: nil -*- */
2 #ifndef DVD_INPUT_H_INCLUDED
3 #define DVD_INPUT_H_INCLUDED
5 /*
6 * Copyright (C) 2001, 2002 Samuel Hocevar <sam@zoy.org>,
7 * HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
24 /**
25 * Defines and flags. Make sure they fit the libdvdcss API!
27 #define DVDINPUT_NOFLAGS 0
29 #define DVDINPUT_READ_DECRYPT (1 << 0)
31 typedef struct dvd_input_s *dvd_input_t;
33 /**
34 * Pointers which will be filled either the input methods functions.
36 extern dvd_input_t (*dvdinput_open) (const char *);
37 extern int (*dvdinput_close) (dvd_input_t);
38 extern int (*dvdinput_seek) (dvd_input_t, int);
39 extern int (*dvdinput_title) (dvd_input_t, int);
40 extern int (*dvdinput_read) (dvd_input_t, void *, int, int);
41 extern char * (*dvdinput_error) (dvd_input_t);
43 /**
44 * Free any objects allocated by dvdinput_setup.
45 * Should only be called when libdvdread is not to be used any more.
46 * Closes dlopened libraries.
48 void dvdinput_free(void);
50 /**
51 * Setup function accessed by dvd_reader.c. Returns 1 if there is CSS support.
53 int dvdinput_setup(void);
55 #endif /* DVD_INPUT_H_INCLUDED */