summaryrefslogtreecommitdiffstats
path: root/src/tools/vppapigen/gram.y
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2017-09-28 15:11:16 -0400
committerOle Troan <ot@cisco.com>2017-10-09 13:32:40 +0200
commit0d056e5ede136cd0111dc3f9f41ef7b36a938027 (patch)
tree2f7c61d50f922a55ab7da199e0304a581ee7516f /src/tools/vppapigen/gram.y
parent87da476db0cd804e11463cc453a2bb41c6808542 (diff)
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>
Diffstat (limited to 'src/tools/vppapigen/gram.y')
-rw-r--r--src/tools/vppapigen/gram.y7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/tools/vppapigen/gram.y b/src/tools/vppapigen/gram.y
index 52bb65c524a..5c5d46ff4e0 100644
--- a/src/tools/vppapigen/gram.y
+++ b/src/tools/vppapigen/gram.y
@@ -33,11 +33,12 @@ void generate (YYSTYPE);
YYSTYPE add_vector_vbl(YYSTYPE, YYSTYPE);
YYSTYPE add_variable_length_vector_vbl(YYSTYPE, YYSTYPE);
YYSTYPE set_flags(YYSTYPE, YYSTYPE);
+ YYSTYPE add_version(YYSTYPE, YYSTYPE, YYSTYPE);
%}
%token NAME RPAR LPAR SEMI LBRACK RBRACK NUMBER PRIMTYPE BARF
%token TPACKED DEFINE LCURLY RCURLY STRING UNION
-%token HELPER_STRING COMMA
+%token HELPER_STRING COMMA DOT VL_API_VERSION
%token NOVERSION MANUAL_PRINT MANUAL_ENDIAN TYPEONLY DONT_TRACE AUTOREPLY
%%
@@ -51,6 +52,7 @@ slist: slist stmt {$$ = add_slist ($1, $2);}
stmt: flist defn {$$ = set_flags($1, $2);}
| defn {$$ = $1;}
+ | api_version {$$ = $1;}
;
flist: flist flag {$$ = (YYSTYPE)(unsigned long)
@@ -89,3 +91,6 @@ vbl: NAME {$$ = add_scalar_vbl($1);}
| NAME LBRACK NUMBER RBRACK {$$ = add_vector_vbl($1, $3);}
| NAME LBRACK NAME RBRACK {$$ = add_variable_length_vector_vbl($1, $3);}
;
+
+api_version: VL_API_VERSION NUMBER DOT NUMBER DOT NUMBER
+ {$$ = add_version ($2, $4, $6);}