Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ShExBy/shex_roo.../usr/include/linux/dvb
File: ca.h
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
[0] Fix | Delete
/*
[1] Fix | Delete
* ca.h
[2] Fix | Delete
*
[3] Fix | Delete
* Copyright (C) 2000 Ralph Metzler <ralph@convergence.de>
[4] Fix | Delete
* & Marcus Metzler <marcus@convergence.de>
[5] Fix | Delete
* for convergence integrated media GmbH
[6] Fix | Delete
*
[7] Fix | Delete
* This program is free software; you can redistribute it and/or
[8] Fix | Delete
* modify it under the terms of the GNU General Lesser Public License
[9] Fix | Delete
* as published by the Free Software Foundation; either version 2.1
[10] Fix | Delete
* of the License, or (at your option) any later version.
[11] Fix | Delete
*
[12] Fix | Delete
* This program is distributed in the hope that it will be useful,
[13] Fix | Delete
* but WITHOUT ANY WARRANTY; without even the implied warranty of
[14] Fix | Delete
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[15] Fix | Delete
* GNU General Public License for more details.
[16] Fix | Delete
*
[17] Fix | Delete
* You should have received a copy of the GNU Lesser General Public License
[18] Fix | Delete
* along with this program; if not, write to the Free Software
[19] Fix | Delete
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
[20] Fix | Delete
*
[21] Fix | Delete
*/
[22] Fix | Delete
[23] Fix | Delete
#ifndef _DVBCA_H_
[24] Fix | Delete
#define _DVBCA_H_
[25] Fix | Delete
[26] Fix | Delete
/**
[27] Fix | Delete
* struct ca_slot_info - CA slot interface types and info.
[28] Fix | Delete
*
[29] Fix | Delete
* @num: slot number.
[30] Fix | Delete
* @type: slot type.
[31] Fix | Delete
* @flags: flags applicable to the slot.
[32] Fix | Delete
*
[33] Fix | Delete
* This struct stores the CA slot information.
[34] Fix | Delete
*
[35] Fix | Delete
* @type can be:
[36] Fix | Delete
*
[37] Fix | Delete
* - %CA_CI - CI high level interface;
[38] Fix | Delete
* - %CA_CI_LINK - CI link layer level interface;
[39] Fix | Delete
* - %CA_CI_PHYS - CI physical layer level interface;
[40] Fix | Delete
* - %CA_DESCR - built-in descrambler;
[41] Fix | Delete
* - %CA_SC -simple smart card interface.
[42] Fix | Delete
*
[43] Fix | Delete
* @flags can be:
[44] Fix | Delete
*
[45] Fix | Delete
* - %CA_CI_MODULE_PRESENT - module (or card) inserted;
[46] Fix | Delete
* - %CA_CI_MODULE_READY - module is ready for usage.
[47] Fix | Delete
*/
[48] Fix | Delete
[49] Fix | Delete
struct ca_slot_info {
[50] Fix | Delete
int num;
[51] Fix | Delete
int type;
[52] Fix | Delete
#define CA_CI 1
[53] Fix | Delete
#define CA_CI_LINK 2
[54] Fix | Delete
#define CA_CI_PHYS 4
[55] Fix | Delete
#define CA_DESCR 8
[56] Fix | Delete
#define CA_SC 128
[57] Fix | Delete
[58] Fix | Delete
unsigned int flags;
[59] Fix | Delete
#define CA_CI_MODULE_PRESENT 1
[60] Fix | Delete
#define CA_CI_MODULE_READY 2
[61] Fix | Delete
};
[62] Fix | Delete
[63] Fix | Delete
[64] Fix | Delete
/**
[65] Fix | Delete
* struct ca_descr_info - descrambler types and info.
[66] Fix | Delete
*
[67] Fix | Delete
* @num: number of available descramblers (keys).
[68] Fix | Delete
* @type: type of supported scrambling system.
[69] Fix | Delete
*
[70] Fix | Delete
* Identifies the number of descramblers and their type.
[71] Fix | Delete
*
[72] Fix | Delete
* @type can be:
[73] Fix | Delete
*
[74] Fix | Delete
* - %CA_ECD - European Common Descrambler (ECD) hardware;
[75] Fix | Delete
* - %CA_NDS - Videoguard (NDS) hardware;
[76] Fix | Delete
* - %CA_DSS - Distributed Sample Scrambling (DSS) hardware.
[77] Fix | Delete
*/
[78] Fix | Delete
struct ca_descr_info {
[79] Fix | Delete
unsigned int num;
[80] Fix | Delete
unsigned int type;
[81] Fix | Delete
#define CA_ECD 1
[82] Fix | Delete
#define CA_NDS 2
[83] Fix | Delete
#define CA_DSS 4
[84] Fix | Delete
};
[85] Fix | Delete
[86] Fix | Delete
/**
[87] Fix | Delete
* struct ca_caps - CA slot interface capabilities.
[88] Fix | Delete
*
[89] Fix | Delete
* @slot_num: total number of CA card and module slots.
[90] Fix | Delete
* @slot_type: bitmap with all supported types as defined at
[91] Fix | Delete
* &struct ca_slot_info (e. g. %CA_CI, %CA_CI_LINK, etc).
[92] Fix | Delete
* @descr_num: total number of descrambler slots (keys)
[93] Fix | Delete
* @descr_type: bitmap with all supported types as defined at
[94] Fix | Delete
* &struct ca_descr_info (e. g. %CA_ECD, %CA_NDS, etc).
[95] Fix | Delete
*/
[96] Fix | Delete
struct ca_caps {
[97] Fix | Delete
unsigned int slot_num;
[98] Fix | Delete
unsigned int slot_type;
[99] Fix | Delete
unsigned int descr_num;
[100] Fix | Delete
unsigned int descr_type;
[101] Fix | Delete
};
[102] Fix | Delete
[103] Fix | Delete
/**
[104] Fix | Delete
* struct ca_msg - a message to/from a CI-CAM
[105] Fix | Delete
*
[106] Fix | Delete
* @index: unused
[107] Fix | Delete
* @type: unused
[108] Fix | Delete
* @length: length of the message
[109] Fix | Delete
* @msg: message
[110] Fix | Delete
*
[111] Fix | Delete
* This struct carries a message to be send/received from a CI CA module.
[112] Fix | Delete
*/
[113] Fix | Delete
struct ca_msg {
[114] Fix | Delete
unsigned int index;
[115] Fix | Delete
unsigned int type;
[116] Fix | Delete
unsigned int length;
[117] Fix | Delete
unsigned char msg[256];
[118] Fix | Delete
};
[119] Fix | Delete
[120] Fix | Delete
/**
[121] Fix | Delete
* struct ca_descr - CA descrambler control words info
[122] Fix | Delete
*
[123] Fix | Delete
* @index: CA Descrambler slot
[124] Fix | Delete
* @parity: control words parity, where 0 means even and 1 means odd
[125] Fix | Delete
* @cw: CA Descrambler control words
[126] Fix | Delete
*/
[127] Fix | Delete
struct ca_descr {
[128] Fix | Delete
unsigned int index;
[129] Fix | Delete
unsigned int parity;
[130] Fix | Delete
unsigned char cw[8];
[131] Fix | Delete
};
[132] Fix | Delete
[133] Fix | Delete
#define CA_RESET _IO('o', 128)
[134] Fix | Delete
#define CA_GET_CAP _IOR('o', 129, struct ca_caps)
[135] Fix | Delete
#define CA_GET_SLOT_INFO _IOR('o', 130, struct ca_slot_info)
[136] Fix | Delete
#define CA_GET_DESCR_INFO _IOR('o', 131, struct ca_descr_info)
[137] Fix | Delete
#define CA_GET_MSG _IOR('o', 132, struct ca_msg)
[138] Fix | Delete
#define CA_SEND_MSG _IOW('o', 133, struct ca_msg)
[139] Fix | Delete
#define CA_SET_DESCR _IOW('o', 134, struct ca_descr)
[140] Fix | Delete
[141] Fix | Delete
[142] Fix | Delete
/* This is needed for legacy userspace support */
[143] Fix | Delete
typedef struct ca_slot_info ca_slot_info_t;
[144] Fix | Delete
typedef struct ca_descr_info ca_descr_info_t;
[145] Fix | Delete
typedef struct ca_caps ca_caps_t;
[146] Fix | Delete
typedef struct ca_msg ca_msg_t;
[147] Fix | Delete
typedef struct ca_descr ca_descr_t;
[148] Fix | Delete
[149] Fix | Delete
[150] Fix | Delete
[151] Fix | Delete
#endif
[152] Fix | Delete
[153] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function