e2ec5ef77645a662ba31c7cfbd7499794975275a
angie
  Fri Mar 23 16:44:07 2012 -0700
Feature #6152 (Variant Annotation Tool): Initial work, squashed infrom origin/annoGrator branch.  Superclasses annoColumn, annoFilter,
annoRow, annoStreamer, annoGrator, and annoFormatter define the core
interfaces for passing data and configuration to and from components.
The annoGrator superclass can join annoRows on position and pass
forward all rows of secondary source.  The annoGratorQuery module
orchestrates the passing of annoRows between the primary source,
annoGrator(s) and annoFormatter(s).  The subclasses annoStreamDb and
annoFormatTab, together with hg/lib/tests/annoGratorTester.c, can join
columns of two database tables such as hg19's pgNA12878 and knownGene
into tab-separated output.

diff --git src/inc/options.h src/inc/options.h
index eee6138..a3e4004 100644
--- src/inc/options.h
+++ src/inc/options.h
@@ -2,30 +2,33 @@
  *
  * This file is copyright 2002 Jim Kent, but license is hereby
  * granted for all use - public, private or commercial. */
 
 #ifndef OPTIONS_H
 
 /* Types for options */
 #define OPTION_BOOLEAN    0x01
 #define OPTION_STRING     0x02
 #define OPTION_INT        0x04
 #define OPTION_FLOAT      0x10
 #define OPTION_LONG_LONG  0x20
 #define OPTION_MULTI      0x40
 #define OPTION_DOUBLE	  0x80
 
+/* Mask for option types (excluding OPTION_MULTI) */
+#define OPTION_TYPE_MASK (OPTION_BOOLEAN|OPTION_STRING|OPTION_INT|OPTION_FLOAT|OPTION_LONG_LONG|OPTION_DOUBLE)
+
 struct optionSpec
 /* Specification of a single option.  An array of these are passed
  * to optionInit() to validate options. */
 {
     char *name;      /* option name */
     unsigned flags;  /* Flags for option, specifies types */
 };
 
 char *optionVal(char *name, char *defaultVal);
 /* Return named option if in options hash, otherwise default. */
 
 int optionInt(char *name, int defaultVal);
 /* Return integer value of named option, or default value
  * if not set. */