File:  [DVB] / margi2 / margi.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Dec 3 22:41:07 2000 UTC (23 years, 6 months ago) by cvs
Branches: CIM
CVS tags: margi043
initial public CVS release 

/* 
    margi.h

    Copyright (C) Marcus Metzler for convergence integrated media.

    This program 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.

    This program 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 this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/


#ifndef margi_cs_h
#define margi_cs_h

#include "cardbase.h"
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/sched.h>
#include <linux/ptrace.h>
#include <linux/malloc.h>
#include <linux/string.h>
#include <linux/timer.h>
#include <linux/delay.h>
#include <asm/io.h>
#include <asm/system.h>
//#include <linux/videodev.h>


/*
  PES
*/

#define PROG_STREAM_MAP  0xBC
#define PRIVATE_STREAM1  0xBD
#define PADDING_STREAM   0xBE
#define PRIVATE_STREAM2  0xBF
#define AUDIO_STREAM_S   0xC0
#define AUDIO_STREAM_E   0xDF
#define VIDEO_STREAM_S   0xE0
#define VIDEO_STREAM_E   0xEF
#define ECM_STREAM       0xF0
#define EMM_STREAM       0xF1
#define DSM_CC_STREAM    0xF2
#define ISO13522_STREAM  0xF3
#define PROG_STREAM_DIR  0xFF


#define PBUFFER 100
enum{AUDIO, VIDEO};


typedef struct p2t_s{
	u8           pes[PBUFFER];
	int          type;
	long int     pos;
	int          frags;
} p2t_t;


u_char read_indexed_register(struct cvdv_cards *card, int addr);
void write_indexed_register(struct cvdv_cards *card, int addr,
			    u_char data);
void WriteByte(struct cvdv_cards *card, int addr, u_char data);
u_char ReadByte(struct cvdv_cards *card, int addr);
void MaskByte(struct cvdv_cards *card, int addr, u_char mask, u_char bits);
int MargiFreeBuffers(struct cvdv_cards *card);
int MargiSetBuffers(struct cvdv_cards *card, u32 size);
int MargiFlush (struct cvdv_cards *card);
int MargiPush(struct cvdv_cards *card, int count, const char *data);
int DecoderStartChannel(struct cvdv_cards *card);
int DecoderStopChannel(struct cvdv_cards *card);
void DACSetFrequency(struct cvdv_cards *card, int khz, int multiple);
stream_type get_stream_type(struct cvdv_cards *card);
audio_type get_audio_type(struct cvdv_cards *card);


#endif

LinuxTV legacy CVS <linuxtv.org/cvs>