linux/drivers/media/pci/bt8xx/dst_ca.c

// SPDX-License-Identifier: GPL-2.0-or-later
/*
	CA-driver for TwinHan DST Frontend/Card

	Copyright (C) 2004, 2005 Manu Abraham ([email protected])

*/

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/mutex.h>
#include <linux/string.h>
#include <linux/dvb/ca.h>
#include <media/dvbdev.h>
#include <media/dvb_frontend.h>
#include "dst_ca.h"
#include "dst_common.h"

#define DST_CA_ERROR
#define DST_CA_NOTICE
#define DST_CA_INFO
#define DST_CA_DEBUG

#define dprintk(x, y, z, format, arg...)


static DEFINE_MUTEX(dst_ca_mutex);
static unsigned int verbose =;
module_param(verbose, int, 0644);
MODULE_PARM_DESC();

static void put_command_and_length(u8 *data, int command, int length)
{}

static void put_checksum(u8 *check_string, int length)
{}

static int dst_ci_command(struct dst_state* state, u8 * data, u8 *ca_string, u8 len, int read)
{}


static int dst_put_ci(struct dst_state *state, u8 *data, int len, u8 *ca_string, int read)
{}



static int ca_get_app_info(struct dst_state *state)
{}

static int ca_get_ca_info(struct dst_state *state)
{}

static int ca_get_slot_caps(struct dst_state *state, struct ca_caps *p_ca_caps, void __user *arg)
{}

/*	Need some more work	*/
static int ca_get_slot_descr(struct dst_state *state, struct ca_msg *p_ca_message, void __user *arg)
{}


static int ca_get_slot_info(struct dst_state *state, struct ca_slot_info *p_ca_slot_info, void __user *arg)
{}


static int ca_get_message(struct dst_state *state, struct ca_msg *p_ca_message, void __user *arg)
{}

static int handle_dst_tag(struct dst_state *state, struct ca_msg *p_ca_message, struct ca_msg *hw_buffer, u32 length)
{}

static int write_to_8820(struct dst_state *state, struct ca_msg *hw_buffer, u8 length, u8 reply)
{}

static u32 asn_1_decode(u8 *asn_1_array)
{}

static int debug_string(u8 *msg, u32 length, u32 offset)
{}


static int ca_set_pmt(struct dst_state *state, struct ca_msg *p_ca_message, struct ca_msg *hw_buffer, u8 reply, u8 query)
{}


/*	Board supports CA PMT reply ?		*/
static int dst_check_ca_pmt(struct dst_state *state, struct ca_msg *p_ca_message, struct ca_msg *hw_buffer)
{}

static int ca_send_message(struct dst_state *state, struct ca_msg *p_ca_message, void __user *arg)
{}

static long dst_ca_ioctl(struct file *file, unsigned int cmd, unsigned long ioctl_arg)
{}

static int dst_ca_open(struct inode *inode, struct file *file)
{}

static int dst_ca_release(struct inode *inode, struct file *file)
{}

static ssize_t dst_ca_read(struct file *file, char __user *buffer, size_t length, loff_t *offset)
{}

static ssize_t dst_ca_write(struct file *file, const char __user *buffer, size_t length, loff_t *offset)
{}

static const struct file_operations dst_ca_fops =;

static struct dvb_device dvbdev_ca =;

struct dvb_device *dst_ca_attach(struct dst_state *dst, struct dvb_adapter *dvb_adapter)
{}

EXPORT_SYMBOL_GPL();

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();