Annotation of multiplexer/command.h, revision 1.10
1.1 oskar 1: /*
2: * ISO 13818 stream multiplexer
3: * Copyright (C) 2001 Convergence Integrated Media GmbH Berlin
1.9 oskar 4: * Author: 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.2 oskar 51: C_BSCR
52: };
1.1 oskar 53:
54: typedef struct {
1.3 oskar 55: byte token; /* 0, if com* is not set */
56: byte width; /* size of field to print comlong in help, 0 to term list */
57: short comshort; /* -1, if no short version */
58: char *comlong; /* NULL for purely explanatory lines */
59: char *explain; /* exaplanatory string, may contain %s to insert explmulti*/
60: char *explmulti; /* is inserted only when splice_multipleprograms is TRUE */
61: } command_list; /* otherwise if explmulti is NULL, ignore the whole line */
1.2 oskar 62:
1.3 oskar 63: /* Linked list to hold pairs of filerefnum and filenames, as
64: * long as not used during an "open" or "append" operation:
65: */
1.2 oskar 66: typedef struct filerefer_list {
67: struct filerefer_list *next;
68: int filerefnum;
69: char *filename;
70: } filerefer_list;
1.1 oskar 71:
72: boolean command_init (int cargc,
73: char **cargv);
74: boolean command_expected (unsigned int *nfds,
75: struct pollfd *ufds);
76: void command_process (boolean readable);
77:
LinuxTV legacy CVS <linuxtv.org/cvs>