X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Femacs%2Fplugin-api-skel.el;h=f776ce2a44c6f7f703b9537438990d46de39acc6;hb=refs%2Fchanges%2F98%2F24698%2F3;hp=74519e70d834ca632c6c522cb085b8266c8fd53e;hpb=757585db71b78c4edf91ba011be419264de43d1a;p=vpp.git 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; }; ")