Annotation of multiplexer/command.h, revision 1.11

1.1       oskar       1: /*
                      2:  * ISO 13818 stream multiplexer
                      3:  * Copyright (C) 2001 Convergence Integrated Media GmbH Berlin
1.11    ! oskar       4:  * Copyright (C) 2004 Oskar Schirmer (oskar@scara.com)
1.10      oskar       5:  *
                      6:  * This program is free software; you can redistribute it and/or modify
                      7:  * it under the terms of the GNU General Public License as published by
                      8:  * the Free Software Foundation; either version 2 of the License, or
                      9:  * (at your option) any later version.
                     10:  *
                     11:  * This program is distributed in the hope that it will be useful,
                     12:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
                     13:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                     14:  * GNU General Public License for more details.
                     15:  *
                     16:  * You should have received a copy of the GNU General Public License
                     17:  * along with this program; if not, write to the Free Software
                     18:  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
1.1       oskar      19:  */
                     20: 
                     21: 
1.3       oskar      22: /* Tokens to denote main commands:
                     23:  */
1.2       oskar      24: enum {
                     25:   C_HELP = 1,
                     26:   C_VERS,
                     27:   C_QUIT,
                     28:   C_VERB,
                     29:   C_OPES,
                     30:   C_OPS,
                     31:   C_OTS,
                     32:   C_CLOS,
                     33:   C_APPE,
                     34:   C_FILE,
                     35:   C_CROP,
                     36:   C_REPT,
                     37:   C_FROP,
                     38:   C_BUSY,
                     39:   C_TIMD,
                     40:   C_FPSI,
1.4       oskar      41:   C_TSID,
                     42:   C_TSSI,
1.7       oskar      43:   C_TSSP,
1.8       oskar      44:   C_DSCR,
                     45:   C_DSCS,
                     46:   C_DSCP,
1.6       oskar      47:   C_TRGI,
                     48:   C_TRGO,
1.5       oskar      49:   C_CONF,
                     50:   C_STAT,
1.11    ! oskar      51:   C_BSCR,
        !            52:   C_CPID
1.2       oskar      53: };
1.1       oskar      54: 
                     55: typedef struct {
1.3       oskar      56:   byte token;      /* 0, if com* is not set */
                     57:   byte width;      /* size of field to print comlong in help, 0 to term list */
                     58:   short comshort;  /* -1, if no short version */
                     59:   char *comlong;   /* NULL for purely explanatory lines */
                     60:   char *explain;   /* exaplanatory string, may contain %s to insert explmulti*/
                     61:   char *explmulti; /* is inserted only when splice_multipleprograms is TRUE */
                     62: } command_list;    /* otherwise if explmulti is NULL, ignore the whole line */
1.2       oskar      63: 
1.3       oskar      64: /* Linked list to hold pairs of filerefnum and filenames, as
                     65:  * long as not used during an "open" or "append" operation:
                     66:  */
1.2       oskar      67: typedef struct filerefer_list {
                     68:   struct filerefer_list *next;
                     69:   int filerefnum;
                     70:   char *filename;
                     71: } filerefer_list;
1.1       oskar      72: 
                     73: boolean command_init (int cargc,
                     74:     char **cargv);
                     75: boolean command_expected (unsigned int *nfds,
                     76:     struct pollfd *ufds);
                     77: void command_process (boolean readable);
                     78: 

LinuxTV legacy CVS <linuxtv.org/cvs>