From 913f4c9a8824c1bd167d3a103aec902a14c08697 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Wed, 29 May 2019 09:59:51 -0400 Subject: 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 --- extras/emacs/plugin-api-skel.el | 53 +++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 13 deletions(-) (limited to 'extras/emacs/plugin-api-skel.el') 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) + * 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; }; ") -- cgit 1.2.3-korg