/*
PDT (./libevapmm.a/sample.mm) sample
  verbose, v: switch
  command, c: string = D_SAMPLE_COMMAND, "ps -el"
  scale_factor, sf: real = 1.2340896e-1
  millisecond_update_interval, mui: integer = $required
  ignore_output_file_column_one, iofco: boolean = TRUE
  output, o: file = stdout
  queue, q: key plotter, postscript, text, printer, keyend = printer
  destination, d: application = `hostname`
  tty, t: list of name = ("/dev/console", "/dev/tty0", "/dev/tty1")
PDTEND optional_file_list
*/

/*
Define P_EVAP_EXTERN in separately compiled modules!
This will declare pvt as an external so you can reference
parameter values.  No storage is allocated in this case.
*/
#ifndef P_EVAP_EXTERN

struct pdt_header pdt = {
  "PDT Version 2.0 for U*X",
  "./libevapmm.a/sample.mm",
  "optional_file_list"
};

evap_List_Value P_LIST_tty[] = {
  {"/dev/console"},
  {"/dev/tty0"},
  {"/dev/tty1"},
  NULL,
};

evap_Parameter_Value pvt[] = {

  {"help", "?",
   FALSE, TRUE, P_TYPE_SWITCH,
   NULL,
   "FALSE",
   ", usage_help, full_help: Display Command Information",
   0,
   NULL,
   NULL},

  {"verbose", "v",
   FALSE, TRUE, P_TYPE_SWITCH,
   NULL,
   "FALSE",
   ": switch",
   0,
   NULL,
   NULL},

  {"command", "c",
   FALSE, TRUE, P_TYPE_STRING,
   "D_SAMPLE_COMMAND",
   "ps -el",
   ": string = D_SAMPLE_COMMAND, \"ps -el\"",
   0,
   NULL,
   NULL},

  {"scale_factor", "sf",
   FALSE, TRUE, P_TYPE_REAL,
   NULL,
   "1.2340896e-1",
   ": real = 1.2340896e-1",
   0,
   NULL,
   NULL},

  {"millisecond_update_interval", "mui",
   FALSE, TRUE, P_TYPE_INTEGER,
   NULL,
   "$required",
   ": integer = $required",
   0,
   NULL,
   NULL},

  {"ignore_output_file_column_one", "iofco",
   FALSE, TRUE, P_TYPE_BOOLEAN,
   NULL,
   "TRUE",
   ": boolean = TRUE",
   0,
   NULL,
   NULL},

  {"output", "o",
   FALSE, TRUE, P_TYPE_FILE,
   NULL,
   "stdout",
   ": file = stdout",
   0,
   NULL,
   NULL},

  {"queue", "q",
   FALSE, TRUE, P_TYPE_KEY,
   NULL,
   "printer",
   ": key plotter, postscript, text, printer, keyend = printer",
   0,
   NULL,
   "plotter",
   "postscript",
   "text",
   "printer",
   NULL},

  {"destination", "d",
   FALSE, TRUE, P_TYPE_APPLICATION,
   NULL,
   "`hostname`",
   ": application = `hostname`",
   0,
   NULL,
   NULL},

  {"tty", "t",
   FALSE, TRUE, P_TYPE_NAME,
   NULL,
   "",
   ": list of name = (\"/dev/console\", \"/dev/tty0\", \"/dev/tty1\")",
   1,
   P_LIST_tty,
   NULL},

  {NULL}  /* end of parameters */

};
#else
extern evap_Parameter_Value pvt[];
#endif

#define P_verbose 1
#define P_command 2
#define P_scale_factor 3
#define P_millisecond_update_interval 4
#define P_ignore_output_file_column_one 5
#define P_output 6
#define P_queue 7
#define P_destination 8
#define P_tty 9
#define P_NUMBER_OF_PARAMETERS 10
