summaryrefslogtreecommitdiff
path: root/src/input/input_plugin.h
diff options
context:
space:
mode:
authorDaniel Caujolle-Bert <f1rmb@users.sourceforge.net>2001-05-07 01:31:44 +0000
committerDaniel Caujolle-Bert <f1rmb@users.sourceforge.net>2001-05-07 01:31:44 +0000
commit572a39455ef8eeef47bf640488ed963ae55925e0 (patch)
tree3bca377515b7a7381b84a238bd6d3d2374558592 /src/input/input_plugin.h
parenta3801dae20515db5ba2da755a99b5470df9e8c5d (diff)
downloadxine-lib-572a39455ef8eeef47bf640488ed963ae55925e0.tar.gz
xine-lib-572a39455ef8eeef47bf640488ed963ae55925e0.tar.bz2
Add new mrl_t **get_dir functionality. Fix crash if audio driver == NULL.
CVS patchset: 67 CVS date: 2001/05/07 01:31:44
Diffstat (limited to 'src/input/input_plugin.h')
-rw-r--r--src/input/input_plugin.h47
1 files changed, 40 insertions, 7 deletions
diff --git a/src/input/input_plugin.h b/src/input/input_plugin.h
index c9d01b71d..58c304b68 100644
--- a/src/input/input_plugin.h
+++ b/src/input/input_plugin.h
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: input_plugin.h,v 1.5 2001/05/06 02:37:59 f1rmb Exp $
+ * $Id: input_plugin.h,v 1.6 2001/05/07 01:31:44 f1rmb Exp $
*/
#ifndef HAVE_INPUT_PLUGIN_H
@@ -40,6 +40,30 @@ typedef struct { /* CLUT == Color LookUp Table */
} __attribute__ ((packed)) clut_t;
#endif
+#define MAX_MRL_ENTRIES 255
+
+/* Types of mrls returned by get_dir() */
+#define mrl_unknown 0x0
+#define mrl_dvd 0x1
+#define mrl_vcd 0x3
+#define mrl_net 0x4
+#define mrl_rtp 0x5
+#define mrl_stdin 0x6
+#define mrl_fifo 0x7
+#define mrl_chardev 0x8
+#define mrl_directory 0x9
+#define mrl_blockdev 0xA
+#define mrl_normal 0xB
+#define mrl_symbolic_link 0xC
+#define mrl_sock 0xD
+/* bit for exec file, should be combinated with mrl_normal type*/
+#define mrl_type_exec 0xFFFF8000
+
+typedef struct {
+ char *filename; /* filename without pathname */
+ int type; /* match to mrl_type enum */
+} mrl_t;
+
typedef struct input_plugin_s input_plugin_t;
struct input_plugin_s
@@ -108,7 +132,7 @@ struct input_plugin_s
* ls function
* return value: NULL => filename is a file, **char=> filename is a dir
*/
- char** (*get_dir) (input_plugin_t *this, char *filename, int *nFiles);
+ mrl_t** (*get_dir) (input_plugin_t *this, char *filename, int *nFiles);
/*
@@ -153,20 +177,29 @@ struct input_plugin_s
/*
- * gets the subtitle/menu palette
+ * Request optional datas from input plugin.
*/
- clut_t* (*get_clut) (input_plugin_t *this);
+ int (*get_optional_data) (input_plugin_t *this, void *data, int data_type);
+
};
/*
* possible capabilites an input plugin can have:
*/
-
#define INPUT_CAP_NOCAP 0x00000000
#define INPUT_CAP_SEEKABLE 0x00000001
#define INPUT_CAP_BLOCK 0x00000002
#define INPUT_CAP_AUTOPLAY 0x00000004
-#define INPUT_CAP_BROWSABLE 0x00000008
-#define INPUT_CAP_CLUT 0x00000010
+#define INPUT_CAP_GET_DIR 0x00000008
+#define INPUT_CAP_BROWSABLE 0x00000010
+#define INPUT_CAP_CLUT 0x00000020
+#define INPUT_CAP_AUDIOLANG 0x00000040
+
+
+#define INPUT_OPTIONAL_UNSUPPORTED 0
+#define INPUT_OPTIONAL_SUCCESS 1
+
+#define INPUT_OPTIONAL_DATA_CLUT 1
+#define INPUT_OPTIONAL_DATA_AUDIOLANG 2
#endif