From 622f6e3335a0dd1a97cdaee9913c1f105f3e36fa Mon Sep 17 00:00:00 2001
From: js <devnull@localhost>
Date: Mon, 10 Feb 2003 10:18:16 -0200
Subject: - merged GNU FDL lincense from NEWSTRUCT branch - updated from
 DVB_API_VERSION 3 - various minor fixes/additions - bumped version number to
 1.0.0-pre1 to match wth upcoming   linuxtv-dvb driver release

---
 dvb-spec/dvbapi/sec.tex | 282 ------------------------------------------------
 1 file changed, 282 deletions(-)
 delete mode 100644 dvb-spec/dvbapi/sec.tex

(limited to 'dvb-spec/dvbapi/sec.tex')

diff --git a/dvb-spec/dvbapi/sec.tex b/dvb-spec/dvbapi/sec.tex
deleted file mode 100644
index 88342c3a6..000000000
--- a/dvb-spec/dvbapi/sec.tex
+++ /dev/null
@@ -1,282 +0,0 @@
-\devsec{DVB SEC API}
-
-The DVB SEC device controls the Satellite Equipment Control of 
-the DVB hardware, i.e. DiSEqC and V-SEC.
-It is accessed through \texttt{/dev/ost/sec}.
-
-\devsubsec{SEC Data Types}
-
-\devsubsubsec{secDiseqcCmd}
-\label{secdiseqccmd}
-
-\begin{verbatim}
-struct secDiseqcCmd {
-        uint8_t addr;
-        uint8_t cmd;
-        uint8_t numParams;
-        uint8_t params[SEC_MAX_DISEQC_PARAMS];
-};
-\end{verbatim}
-
-
-\devsubsubsec{secVoltage}
-\label{secvoltage}
-
-\begin{verbatim}
-typedef uint32_t secVoltage;
-\end{verbatim}
-\begin{verbatim}
-enum {
-        SEC_VOLTAGE_OFF,
-        SEC_VOLTAGE_LT, 
-        SEC_VOLTAGE_13, 
-        SEC_VOLTAGE_13_5,
-        SEC_VOLTAGE_18,  
-        SEC_VOLTAGE_18_5
-};
-\end{verbatim}
-
-
-\devsubsubsec{secToneMode}
-\label{sectonemode}
-
-\begin{verbatim}
-typedef uint32_t secToneMode;
-\end{verbatim}
-\begin{verbatim}
-typedef enum {
-        SEC_TONE_ON,
-        SEC_TONE_OFF
-} secToneMode_t;
-\end{verbatim}
-
-
-\devsubsubsec{secMiniCmd}
-\label{secminicmd}
-
-\begin{verbatim}
-typedef uint32_t secMiniCmd;
-\end{verbatim}
-\begin{verbatim}
-typedef enum {
-        SEC_MINI_NONE,
-        SEC_MINI_A,    
-        SEC_MINI_B
-} secMiniCmd_t;
-\end{verbatim}
-\begin{verbatim}
-struct secStatus {
-        int32_t     busMode;
-        secVoltage  selVolt;
-        secToneMode contTone;
-};
-\end{verbatim}
-
-\begin{verbatim}
-enum {
-        SEC_BUS_IDLE,
-        SEC_BUS_BUSY,
-        SEC_BUS_OFF,
-        SEC_BUS_OVERLOAD
-};
-\end{verbatim}
-
-
-\devsubsubsec{secCommand}
-\label{seccommand}
-
-\begin{verbatim}
-struct secCommand {
-        int32_t type;
-        union {
-                struct secDiseqcCmd diseqc;
-                uint8_t vsec;
-                uint32_t pause;
-        } u;
-};
-\end{verbatim}
-
-
-\devsubsubsec{secCmdSequence}
-\label{seccmdsequence}
-
-\begin{verbatim}
-struct secCmdSequence {
-        secVoltage voltage;
-        secMiniCmd miniCommand;
-        secToneMode continuousTone;
-        
-        uint32_t numCommands;
-        struct secCommand* commands;
-};
-\end{verbatim}
-
-\begin{verbatim}
-enum {
-        SEC_CMDTYPE_DISEQC,
-        SEC_CMDTYPE_VSEC,
-        SEC_CMDTYPE_PAUSE
-};
-\end{verbatim}
-
-\begin{verbatim}
-typedef enum {
-        SEC_DISEQC_SENT,
-        SEC_VSEC_SENT,
-        SEC_PAUSE_COMPLETE,
-        SEC_CALLBACK_ERROR
-} secCallback_t;                
-\end{verbatim}
-
-\clearpage
-
-\devsubsec{SEC Function Calls}
-
-\function{open()}{
-  int open(const char *deviceName, int flags);}{
-  This system call opens a named SEC device for subsequent use.
-  If the device is opened in read-only mode, only status and statistics 
-  monitoring is allowed. If the device is opened in read/write mode, all
-  types of operations can be performed.
-  Any number of applications can have simultaneous access to the device.
-  }{
-  const char *deviceName & Name of specific SEC 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\\
-            & The optional flag O\_NONBLOCK is not supported. If O\_NONBLOCK is set, 
-            open() and most other subsequent calls to the device will return -1 and 
-            set errno to EWOULDBLOCK.
-            The communication with the peripheral devices is sequential by nature, 
-            so it is probably preferable to use the device in synchronous mode. 
-            This is the motivation for not going through the extra effort of 
-            implementing asynchronous operation of the device.
-  }{
-  ENODEV    & Device driver not loaded/available.\\
-  EFAULT    & deviceName does not refer to a valid memory area.\\
-  EBUSY     & Device or resource busy.\\
-  EINVAL    & Invalid argument.\\
-}
-
-\function{close()}{
-  int close(int fd);}{
-  This system call closes a previously opened SEC device.
-  }{
-  int fd & File descriptor returned by a previous call to open().\\
-  }{
-  EBADF & fd is not a valid open file descriptor.\\
-}
-
-\ifunction{SEC\_GET\_STATUS}{
-  int ioctl(int fd, int request = SEC\_GET\_STATUS, struct secStatus* status);}{
-  This call gets the status of the device.
-  }{
-  int fd & File descriptor returned by a previous call to open().\\
-  int request & Equals SEC\_GET\_STATUS for this command.\\
-  struct secStatus* status & The status of the device.\\
-  }{
-  ENODEV     & Device driver not loaded/available.\\
-  EFAULT     & status is an invalid pointer.\\
-  EBUSY      & Device or resource busy.\\
-  EINVAL     & Invalid argument.\\
-  EPERM      & File not opened with read permissions.\\
-  EINTERNAL  & Internal error in the device driver.\\
-}
-
-\ifunction{SEC\_RESET\_OVERLOAD}{
-  int ioctl(int fd, int request = SEC\_RESET\_OVERLOAD);}{
-  If the bus has been automatically powered off due to power overload, this
-  ioctl call restores the power to the bus. The call requires read/write 
-  access to the device.
-  This call has no effect if the device is manually powered off.
-  }{
-  int fd & File descriptor returned by a previous call to open().\\
-  int request & Equals SEC\_RESET\_OVERLOAD for this command.\\
-  }{
-  EBADF      & fd is not a valid file descriptor.\\
-  EPERM      & Permission denied (needs read/write access).\\
-  EINTERNAL  & Internal error in the device driver.\\
-}
-
-\ifunction{SEC\_SEND\_SEQUENCE}{
-int ioctl(int fd, int request = SEC\_SEND\_SEQUENCE, struct secCmdSequence *seq);
-}{
-This ioctl call is used to send a sequence of DiSEqCTM and/or V-SEC 
-commands. The first version of the SEC device does not support V-SEC 
-signaling and it aborts the operation with an error code if a V-SEC 
-command is detected in the input data.\\
-\begin{itemize}
-\item[$\bullet$] The call will fail with errno set to EBUSOVERLOAD if the bus is 
-overloaded. If the bus is overloaded, SEC\_RESET\_OVERLOAD can be 
-called and the operation can be retried.
-\item[$\bullet$] If seq.numCommands equals 0 and seq.miniCommand equals SEC\_MINI\_NONE,
-the bus voltage will be switched and the continuous 22kHz tone 
-generation enabled/disabled immediately.
-\end{itemize}\\
-This operation is atomic. If several processes calls this ioctl 
-simultaneously, the operations will be serialized so a complete sequence
-is sent at a time.
-  }{
-  int fd & File descriptor returned by a previous call to open().\\
-  int request & Equals SEC\_SEND\_SEQUENCE for this command.\\
-  struct secCmdSequence *seq & Pointer to the command sequence to be transmitted.\\
-  }{
-  EBADF      & fd is not a valid file descriptor.\\
-  EFAULT     & Seq points to an invalid address.\\
-  EINVAL     & The data structure referred to by seq is invalid in some way.\\
-  EPERM      & Permission denied (needs read/write access).\\
-  EINTERNAL  & Internal error in the device driver.\\
-  EBUSMODE   & The device is not prepared for transmission 
-  (e.g. it might be manually powered off).\\
-  EBUSOVERLOAD & Bus overload has occurred.\\
-}
-
-
-\ifunction{SEC\_SET\_TONE}{
-int ioctl(int fd, int request = SEC\_SET\_TONE, secToneMode tone);
-}{
-This call is used to set the generation of the continuous 22kHz tone. 
-The possibility to just change the tone mode is already provided by 
-ioctl SEC\_SEND\_SEQUENCE, but SEC\_SET\_TONE is an easier to use interface.
-To keep the transmission of a command sequence as 
-an atomic operation, SEC\_SET\_TONE will block if a transmission is in 
-progress. This call requires read/write permissions.
-}{
-int fd & File descriptor returned by a previous call to open().\\
-int request & Equals SEC\_SET\_TONE for this command.\\
-secToneMode tone & The requested tone generation mode (on/off).\\
-}{
-ENODEV    & Device driver not loaded/available.\\
-EBUSY     & Device or resource busy.\\
-EINVAL    & Invalid argument.\\
-EPERM     & File not opened with read permissions.\\
-EINTERNAL & Internal error in the device driver.\\
-}
-
-
-\ifunction{SEC\_SET\_VOLTAGE}{
-int ioctl(int fd, int request = SEC\_SET\_VOLTAGE, secVoltage voltage);
-}{
-This call is used to set the bus voltage. The possibility to just change
-the bus voltage is already provided by ioctl SEC\_SEND\_SEQUENCE, but 
-SEC\_SET\_VOLTAGE is an easier to use interface.
-To keep the transmission of a command sequence as
-an atomic operation, SEC\_SET\_VOLTAGE will block if a transmission is in 
-progress.
-This call requires read/write permissions.
-}{
-int fd & File descriptor returned by a previous call to open().\\
-int request & Equals SEC\_SET\_VOLTAGE for this command.\\
-secVoltage voltage & The requested bus voltage.\\
-}{
-ENODEV    & Device driver not loaded/available.\\
-EBUSY     & Device or resource busy.\\
-EINVAL    & Invalid argument.\\
-EPERM     & File not opened with read permissions.\\
-EINTERNAL & Internal error in the device driver.\\
-}
-
-%%% Local Variables: 
-%%% mode: latex
-%%% TeX-master: "dvbapi"
-%%% End: 
-- 
cgit v1.2.3

