vhost: remove socket linked file when deleting vhost interface
[vpp.git] / extras / emacs / plugin-api-skel.el
1 ;;; plugin-api-skel.el - vpp engine plug-in "all-apih.c" skeleton
2 ;;;
3 ;;; Copyright (c) 2016 Cisco and/or its affiliates.
4 ;;; Licensed under the Apache License, Version 2.0 (the "License");
5 ;;; you may not use this file except in compliance with the License.
6 ;;; You may obtain a copy of the License at:
7 ;;;
8 ;;;     http://www.apache.org/licenses/LICENSE-2.0
9 ;;;
10 ;;; Unless required by applicable law or agreed to in writing, software
11 ;;; distributed under the License is distributed on an "AS IS" BASIS,
12 ;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ;;; See the License for the specific language governing permissions and
14 ;;; limitations under the License.
15
16 (require 'skeleton)
17
18 (define-skeleton skel-plugin-api
19 "Insert a plug-in '<name>.api' skeleton "
20 nil
21 '(if (not (boundp 'plugin-name))
22      (setq plugin-name (read-string "Plugin name: ")))
23 '(setq PLUGIN-NAME (upcase plugin-name))
24 "
25 /* Define a simple enable-disable binary API to control the feature */
26
27 define " plugin-name "_enable_disable {
28     /* Client identifier, set from api_main.my_client_index */
29     u32 client_index;
30
31     /* Arbitrary context, so client can match reply to request */
32     u32 context;
33
34     /* Enable / disable the feature */
35     u8 enable_disable;
36
37     /* Interface handle */
38     u32 sw_if_index;
39 };
40
41 define " plugin-name "_enable_disable_reply {
42     /* From the request */
43     u32 context;
44
45     /* Return value, zero means all OK */
46     i32 retval;
47 };
48 ")