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>