vppapigen: support per-file (major,minor,patch) version stamps

Add one of these statements to foo.api:

  vl_api_version 1.2.3

to generate a version tuple stanza in foo.api.h:

/****** Version tuple *****/

vl_api_version_tuple(foo, 1, 2, 3)

Change-Id: Ic514439e4677999daa8463a94f948f76b132ff15
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Ole Troan <ot@cisco.com>
diff --git a/src/tools/vppapigen/node.h b/src/tools/vppapigen/node.h
index 65bd5d1..58570d8 100644
--- a/src/tools/vppapigen/node.h
+++ b/src/tools/vppapigen/node.h
@@ -44,6 +44,7 @@
     NODE_VECTOR,
     NODE_COMPLEX,
     NODE_NOVERSION,
+    NODE_VERSION,
     NODE_UWORD,
     NODE_N_TYPES,  /* number of node types with VFT's */
 
@@ -77,10 +78,15 @@
 
 /* To shut up gcc-4.2.x warnings */
 #define CDATA0 ((char *)(this->data[0]))
-#define IDATA1 ((int)(uword)(this->data[1]))
+#define CDATA1 ((char *)(this->data[0]))
 #define CDATA2 ((char *)(this->data[2]))
 #define CDATA3 ((char *)(this->data[3]))
 
+#define IDATA0 ((int)(uword)(this->data[0]))
+#define IDATA1 ((int)(uword)(this->data[1]))
+#define IDATA2 ((int)(uword)(this->data[2]))
+#define IDATA3 ((int)(uword)(this->data[3]))
+
 #define NODE_FLAG_MANUAL_PRINT (1<<0)
 #define NODE_FLAG_MANUAL_ENDIAN (1<<1)
 #define NODE_FLAG_TYPEONLY (1<<3)