⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ca.tex

📁 linux TV 源码
💻 TEX
字号:
\devsec{DVB CA Device}The DVB CA device controls the conditional access hardware.It can be accessed through \texttt{/dev/dvb/adapter0/ca0}.Data types and and ioctl definitions can be accessed by including\texttt{linux/dvb/ca.h} in your application.\devsubsec{CA Data Types}\devsubsubsec{ca\_slot\_info\_t}\label{caslotinfo}\begin{verbatim}/* slot interface types and info */typedef struct ca_slot_info_s {        int num;               /* slot number */        int type;           /* CA interface this slot supports */#define CA_CI            1  /* CI high level interface */#define CA_CI_LINK       2  /* CI link layer level interface */#define CA_CI_PHYS       4  /* CI physical layer level interface */#define CA_SC          128  /* simple smart card interface */        unsigned int flags;#define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */#define CA_CI_MODULE_READY   2} ca_slot_info_t;\end{verbatim}\devsubsubsec{ca\_descr\_info\_t}\label{cadescrinfo}\begin{verbatim}typedef struct ca_descr_info_s {        unsigned int num;  /* number of available descramblers (keys) */         unsigned int type; /* type of supported scrambling system */#define CA_ECD           1#define CA_NDS           2#define CA_DSS           4} ca_descr_info_t;\end{verbatim}\devsubsubsec{ca\_cap\_t}\label{cacap}\begin{verbatim}typedef struct ca_cap_s {        unsigned int slot_num;  /* total number of CA card and module slots */        unsigned int slot_type; /* OR of all supported types */        unsigned int descr_num; /* total number of descrambler slots (keys) */        unsigned int descr_type;/* OR of all supported types */} ca_cap_t;\end{verbatim}\devsubsubsec{ca\_msg\_t}\label{camsg}\begin{verbatim}/* a message to/from a CI-CAM */typedef struct ca_msg_s {           unsigned int index;                 unsigned int type;        unsigned int length;        unsigned char msg[256];} ca_msg_t;\end{verbatim}\devsubsubsec{ca\_descr\_t}\label{cadescr}\begin{verbatim}typedef struct ca_descr_s {        unsigned int index;            unsigned int parity;        unsigned char cw[8];} ca_descr_t;\end{verbatim}\clearpage\devsubsec{CA Function Calls}\function{open()}{  int open(const char *deviceName, int flags);}{  This system call opens a named ca device (e.g. /dev/ost/ca)   for subsequent use.    When an open() call has succeeded, the device will be ready for use.  The significance of blocking or non-blocking mode is described in   the documentation for functions where there is a difference.   It does not affect the semantics of the open() call itself.   A device opened in blocking mode can later be put into non-blocking mode   (and vice versa) using the F\_SETFL command of the fcntl system  call.    This is a standard system call, documented in the Linux manual   page for fcntl.  Only one user can open the CA Device in O\_RDWR mode. All other attempts to  open the device in this mode will fail, and an error code will be returned.  }{  const char *deviceName & Name of specific video device.\\  int flags & A bit-wise OR of the following flags:\\            & \hspace{1em} O\_RDONLY read-only access\\            & \hspace{1em} O\_RDWR read/write access\\            & \hspace{1em} O\_NONBLOCK open in non-blocking mode \\            & \hspace{1em} (blocking mode is the default)\\  }{  ENODEV    & Device driver not loaded/available.\\  EINTERNAL & Internal error.\\  EBUSY     & Device or resource busy.\\  EINVAL    & Invalid argument.\\}\function{close()}{  int close(int fd);}{  This system call closes a previously opened audio device.  }{  int fd & File descriptor returned by a previous call to open().\\  }{  EBADF & fd is not a valid open file descriptor.\\}%%% Local Variables: %%% mode: latex%%% TeX-master: "dvbapi"%%% End: 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -