X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Femacs%2Fplugin-h-skel.el;h=21655109588d925405f65d62487b5e3c252ce12d;hb=f52420d507f0ff810f5146b7153781e313d7bc07;hp=94f60afcfa0e1d220b731687a4d38c974e926035;hpb=104404348fdb54504e65c39182d405bdcee926fd;p=vpp.git diff --git a/extras/emacs/plugin-h-skel.el b/extras/emacs/plugin-h-skel.el index 94f60afcfa0..21655109588 100644 --- a/extras/emacs/plugin-h-skel.el +++ b/extras/emacs/plugin-h-skel.el @@ -24,7 +24,7 @@ nil '(setq capital-oh-en "ON") " /* - * " plugin-name ".h - skeleton vpp engine plug-in header file + * " plugin-name ".h - skeleton vpp engine plug-in header file * * Copyright (c) * Licensed under the Apache License, Version 2.0 (the \"License\"); @@ -53,15 +53,28 @@ typedef struct { /* API message ID base */ u16 msg_id_base; + /* on/off switch for the periodic function */ + u8 periodic_timer_enabled; + /* Node index, non-zero if the periodic process has been created */ + u32 periodic_node_index; + /* convenience */ vlib_main_t * vlib_main; vnet_main_t * vnet_main; ethernet_main_t * ethernet_main; } " plugin-name "_main_t; -" plugin-name "_main_t " plugin-name "_main; +extern " plugin-name "_main_t " plugin-name "_main; + +extern vlib_node_registration_t " plugin-name "_node; +extern vlib_node_registration_t " plugin-name "_periodic_node; + +/* Periodic function events */ +#define " PLUGIN-NAME "_EVENT1 1 +#define " PLUGIN-NAME "_EVENT2 2 +#define " PLUGIN-NAME "_EVENT_PERIODIC_ENABLE_DISABLE 3 -vlib_node_registration_t " plugin-name "_node; +void " plugin-name "_create_periodic_process (" plugin-name "_main_t *); #endif /* __included_" plugin-name "_h__ */