summaryrefslogtreecommitdiffstats
path: root/libdvdread-embedded/src/dvd_input.h
diff options
context:
space:
mode:
Diffstat (limited to 'libdvdread-embedded/src/dvd_input.h')
-rw-r--r--libdvdread-embedded/src/dvd_input.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/libdvdread-embedded/src/dvd_input.h b/libdvdread-embedded/src/dvd_input.h
new file mode 100644
index 0000000..470cfa4
--- /dev/null
+++ b/libdvdread-embedded/src/dvd_input.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2001, 2002 Samuel Hocevar <sam@zoy.org>,
+ * HÃ¥kan Hjort <d95hjort@dtek.chalmers.se>
+ *
+ * This file is part of libdvdread.
+ *
+ * libdvdread 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.
+ *
+ * libdvdread 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 libdvdread; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef LIBDVDREAD_DVD_INPUT_H
+#define LIBDVDREAD_DVD_INPUT_H
+
+/**
+ * Defines and flags. Make sure they fit the libdvdcss API!
+ */
+#define DVDINPUT_NOFLAGS 0
+
+#define DVDINPUT_READ_DECRYPT (1 << 0)
+
+typedef struct dvd_input_s *dvd_input_t;
+
+#if defined( __MINGW32__ )
+# undef lseek
+# define lseek _lseeki64
+# undef off_t
+# define off_t off64_t
+# undef stat
+# define stat _stati64
+# undef fstat
+# define fstat _fstati64
+# undef wstat
+# define wstat _wstati64
+#endif
+
+#ifdef __ANDROID__
+# undef lseek
+# define lseek lseek64
+# undef off_t
+# define off_t off64_t
+#endif
+
+/**
+ * Function pointers that will be filled in by the input implementation.
+ * These functions provide the main API.
+ */
+extern dvd_input_t (*dvdinput_open) (void *, dvd_logger_cb *,
+ const char *,
+ dvd_reader_stream_cb *);
+extern int (*dvdinput_close) (dvd_input_t);
+extern int (*dvdinput_seek) (dvd_input_t, int);
+extern int (*dvdinput_title) (dvd_input_t, int);
+extern int (*dvdinput_read) (dvd_input_t, void *, int, int);
+
+/**
+ * Setup function accessed by dvd_reader.c. Returns 1 if there is CSS support.
+ */
+int dvdinput_setup(void *, dvd_logger_cb *);
+
+#endif /* LIBDVDREAD_DVD_INPUT_H */