summaryrefslogtreecommitdiff
path: root/xine_input_vdr.h
blob: fa9c29fc20f2095d0fcf3ca0cf45ea78287a6c9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
 * xine_input_vdr.h:  
 *
 * See the main source file 'xineliboutput.c' for copyright information and
 * how to reach the author.
 *
 * $Id: xine_input_vdr.h,v 1.5 2008-03-31 20:36:03 phintuka Exp $
 *
 */

#ifndef __XINE_INPUT_VDR_H_
#define __XINE_INPUT_VDR_H_

#if defined __cplusplus
extern "C" {
#endif

struct input_plugin_s;
struct osd_command_s;
struct frontend_s;

typedef struct vdr_input_plugin_funcs_s {
  /* VDR --> input plugin (only local mode) */
  int  (*push_input_write)(struct input_plugin_s *, const char *, int);
  int  (*push_input_control)(struct input_plugin_s *, const char *);
  int  (*push_input_osd)(struct input_plugin_s *, struct osd_command_s *);
  /* input plugin --> frontend (only local mode) */
  void (*xine_input_event)(const char *, const char *);
  /* input plugin --> frontend (remote mode) */
  int  (*intercept_osd)(struct frontend_s *, struct osd_command_s *);
  /* input plugin --> frontend */
  void *(*fe_control)(struct frontend_s *, const char *);
  struct frontend_s *fe_handle;
  /* frontend --> input plugin (remote mode) */
  int  (*input_control)(struct input_plugin_s *, const char *, const char *, int, int);
} vdr_input_plugin_funcs_t;

#define CONTROL_OK            0
#define CONTROL_UNKNOWN      -1 
#define CONTROL_PARAM_ERROR  -2 
#define CONTROL_DISCONNECTED -3

typedef struct grab_data_s {
  int size;
  char *data;
} grab_data_t;

#if defined __cplusplus
}
#endif


#endif /*__XINE_INPUT_VDR_H_*/