1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/**************************************************************************** 2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** This header was automatically generated from a Linux kernel header 5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** of the same name, to make information necessary for userspace to 6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** call into the kernel available to libc. It contains only constants, 7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** structures, and macros generated from the original header, and thus, 8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** contains no copyrightable information. 9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** To edit the content of this header, modify the corresponding 11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** Any manual change here will be lost the next time this script will 15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** be run. You've been warned! 16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/ 19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _DVBCA_H_ 20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _DVBCA_H_ 211308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferrisstruct ca_slot_info { 22d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int num; 23d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao int type; 24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_CI 1 25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_CI_LINK 2 26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_CI_PHYS 4 27655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_DESCR 8 28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_SC 128 29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int flags; 30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_CI_MODULE_PRESENT 1 31655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_CI_MODULE_READY 2 321308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris}; 331308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferrisstruct ca_descr_info { 34d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int num; 35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int type; 36655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_ECD 1 37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_NDS 2 38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_DSS 4 391308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris}; 401308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferrisstruct ca_caps { 41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int slot_num; 42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int slot_type; 43d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int descr_num; 44d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int descr_type; 451308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris}; 461308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferrisstruct ca_msg { 47d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int index; 48d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int type; 49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int length; 50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char msg[256]; 511308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris}; 521308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferrisstruct ca_descr { 53d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int index; 54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned int parity; 55d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao unsigned char cw[8]; 561308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris}; 57655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define CA_RESET _IO('o', 128) 581308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define CA_GET_CAP _IOR('o', 129, struct ca_caps) 591308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define CA_GET_SLOT_INFO _IOR('o', 130, struct ca_slot_info) 601308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define CA_GET_DESCR_INFO _IOR('o', 131, struct ca_descr_info) 611308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define CA_GET_MSG _IOR('o', 132, struct ca_msg) 621308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define CA_SEND_MSG _IOW('o', 133, struct ca_msg) 631308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris#define CA_SET_DESCR _IOW('o', 134, struct ca_descr) 641308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferristypedef struct ca_slot_info ca_slot_info_t; 651308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferristypedef struct ca_descr_info ca_descr_info_t; 661308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferristypedef struct ca_caps ca_caps_t; 671308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferristypedef struct ca_msg ca_msg_t; 681308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferristypedef struct ca_descr ca_descr_t; 69655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif 70