Annotation of margi2/margi.h, revision 1.2
1.1 cvs 1: /*
2: margi.h
3:
4: Copyright (C) Marcus Metzler for convergence integrated media.
5:
6: This program is free software; you can redistribute it and/or modify
7: it under the terms of the GNU General Public License as published by
8: the Free Software Foundation; either version 2 of the License, or
9: (at your option) any later version.
10:
11: This program is distributed in the hope that it will be useful,
12: but WITHOUT ANY WARRANTY; without even the implied warranty of
13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: GNU General Public License for more details.
15:
16: You should have received a copy of the GNU General Public License
17: along with this program; if not, write to the Free Software
18: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19: */
20:
21:
22: #ifndef margi_cs_h
23: #define margi_cs_h
24:
25: #include "cardbase.h"
26: #include <linux/kernel.h>
27: #include <linux/init.h>
28: #include <linux/sched.h>
29: #include <linux/ptrace.h>
30: #include <linux/malloc.h>
31: #include <linux/string.h>
32: #include <linux/timer.h>
33: #include <linux/delay.h>
34: #include <asm/io.h>
35: #include <asm/system.h>
36: //#include <linux/videodev.h>
37:
38:
39: /*
40: PES
41: */
42:
43: #define PROG_STREAM_MAP 0xBC
44: #define PRIVATE_STREAM1 0xBD
45: #define PADDING_STREAM 0xBE
46: #define PRIVATE_STREAM2 0xBF
47: #define AUDIO_STREAM_S 0xC0
48: #define AUDIO_STREAM_E 0xDF
49: #define VIDEO_STREAM_S 0xE0
50: #define VIDEO_STREAM_E 0xEF
51: #define ECM_STREAM 0xF0
52: #define EMM_STREAM 0xF1
53: #define DSM_CC_STREAM 0xF2
54: #define ISO13522_STREAM 0xF3
55: #define PROG_STREAM_DIR 0xFF
56:
57:
58: #define PBUFFER 100
59: enum{AUDIO, VIDEO};
60:
61:
62: typedef struct p2t_s{
63: u8 pes[PBUFFER];
64: int type;
65: long int pos;
66: int frags;
67: } p2t_t;
68:
69:
70: u_char read_indexed_register(struct cvdv_cards *card, int addr);
71: void write_indexed_register(struct cvdv_cards *card, int addr,
72: u_char data);
73: void WriteByte(struct cvdv_cards *card, int addr, u_char data);
74: u_char ReadByte(struct cvdv_cards *card, int addr);
75: void MaskByte(struct cvdv_cards *card, int addr, u_char mask, u_char bits);
76: int MargiFreeBuffers(struct cvdv_cards *card);
77: int MargiSetBuffers(struct cvdv_cards *card, u32 size);
78: int MargiFlush (struct cvdv_cards *card);
79: int MargiPush(struct cvdv_cards *card, int count, const char *data);
1.2 ! mocm 80: int MargiWriteDirect(struct cvdv_cards *card, u32 count, const char *data);
1.1 cvs 81: int DecoderStartChannel(struct cvdv_cards *card);
82: int DecoderStopChannel(struct cvdv_cards *card);
83: void DACSetFrequency(struct cvdv_cards *card, int khz, int multiple);
84: stream_type get_stream_type(struct cvdv_cards *card);
85: audio_type get_audio_type(struct cvdv_cards *card);
1.2 ! mocm 86:
! 87: #ifdef NOINT
! 88: void Timerfunction(unsigned long data);
! 89: #endif
1.1 cvs 90:
91:
92: #endif
LinuxTV legacy CVS <linuxtv.org/cvs>