File:  [DVB] / multiplexer / command.h
Revision 1.3: download - view: text, annotated - select for diffs
Mon Apr 9 15:26:03 2001 UTC (23 years, 1 month ago) by oskar
Branches: MAIN
CVS tags: HEAD
Keep SID more stable across mplex

/*
 * ISO 13818 stream multiplexer
 * Copyright (C) 2001 Convergence Integrated Media GmbH Berlin
 * Author: Oskar Schirmer (oskar@convergence.de)
 */


/* Tokens to denote main commands:
 */
enum {
  C_HELP = 1,
  C_VERS,
  C_QUIT,
  C_VERB,
  C_OPES,
  C_OPS,
  C_OTS,
  C_CLOS,
  C_APPE,
  C_FILE,
  C_CROP,
  C_REPT,
  C_TSID,
  C_FROP,
  C_BUSY,
  C_TIMD,
  C_FPSI,
  C_BSCR
};

typedef struct {
  byte token;      /* 0, if com* is not set */
  byte width;      /* size of field to print comlong in help, 0 to term list */
  short comshort;  /* -1, if no short version */
  char *comlong;   /* NULL for purely explanatory lines */
  char *explain;   /* exaplanatory string, may contain %s to insert explmulti*/
  char *explmulti; /* is inserted only when splice_multipleprograms is TRUE */
} command_list;    /* otherwise if explmulti is NULL, ignore the whole line */

/* Linked list to hold pairs of filerefnum and filenames, as
 * long as not used during an "open" or "append" operation:
 */
typedef struct filerefer_list {
  struct filerefer_list *next;
  int filerefnum;
  char *filename;
} filerefer_list;

boolean command_init (int cargc,
    char **cargv);
boolean command_expected (unsigned int *nfds,
    struct pollfd *ufds);
void command_process (boolean readable);


LinuxTV legacy CVS <linuxtv.org/cvs>