diff options
author | Dave Barach <dave@barachs.net> | 2019-05-29 09:59:51 -0400 |
---|---|---|
committer | Dave Barach <dave@barachs.net> | 2019-05-29 10:00:21 -0400 |
commit | 913f4c9a8824c1bd167d3a103aec902a14c08697 (patch) | |
tree | d4a5c894e524c245abd74e8b8a33875be40ed139 /extras/emacs/plugin-api-skel.el | |
parent | 02d576b754191a6dbffb7829db7cb18567b9b97f (diff) |
emacs-skeleton: improve generated .api files
Type cleanups:
s/u8/bool/ for "enable_disable"
s/u32/vl_api_interface_index_t/ for "sw_if_index"
Add an API version stamp.
Add a doxygen tag for the binary API.
Add Apache-2 licence text.
Change-Id: I2fa168336efb0f1d9b9b6dec945589cbc5fd5595
Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'extras/emacs/plugin-api-skel.el')
-rw-r--r-- | extras/emacs/plugin-api-skel.el | 53 |
1 files changed, 40 insertions, 13 deletions
diff --git a/extras/emacs/plugin-api-skel.el b/extras/emacs/plugin-api-skel.el index 74519e70d83..f776ce2a44c 100644 --- a/extras/emacs/plugin-api-skel.el +++ b/extras/emacs/plugin-api-skel.el @@ -21,10 +21,45 @@ nil '(if (not (boundp 'plugin-name)) (setq plugin-name (read-string "Plugin name: "))) '(setq PLUGIN-NAME (upcase plugin-name)) -" -/* Define a simple enable-disable binary API to control the feature */ +"/* + * " plugin-name ".api - binary API skeleton + * + * Copyright (c) <current-year> <your-organization> + * Licensed under the Apache License, Version 2.0 (the \"License\"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an \"AS IS\" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ -define " plugin-name "_enable_disable { +/** + * @file " plugin-name ".api + * @brief VPP control-plane API messages. + * + * This file defines VPP control-plane binary API messages which are generally + * called through a shared memory interface. + */ + +/* Version and type recitations */ + +option version = \"0.1.0\"; +import \"vnet/interface_types.api\"; + + +/** @brief API to enable / disable " plugin-name " on an interface + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param enable_disable - 1 to enable, 0 to disable the feature + @param sw_if_index - interface handle +*/ + +autoreply define " plugin-name "_enable_disable { /* Client identifier, set from api_main.my_client_index */ u32 client_index; @@ -32,17 +67,9 @@ define " plugin-name "_enable_disable { u32 context; /* Enable / disable the feature */ - u8 enable_disable; + bool enable_disable; /* Interface handle */ - u32 sw_if_index; -}; - -define " plugin-name "_enable_disable_reply { - /* From the request */ - u32 context; - - /* Return value, zero means all OK */ - i32 retval; + vl_api_interface_index_t sw_if_index; }; ") |