blob: 57c15c825e38e8497d853d737e9a42b8e84a0245 [file] [log] [blame]
Dave Barach8d0f2f02018-03-12 09:31:36 -04001;;; Copyright (c) 2016 Cisco and/or its affiliates.
2;;; Licensed under the Apache License, Version 2.0 (the "License");
3;;; you may not use this file except in compliance with the License.
4;;; You may obtain a copy of the License at:
5;;;
6;;; http://www.apache.org/licenses/LICENSE-2.0
7;;;
8;;; Unless required by applicable law or agreed to in writing, software
9;;; distributed under the License is distributed on an "AS IS" BASIS,
10;;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11;;; See the License for the specific language governing permissions and
12;;; limitations under the License.
13
Ed Warnickecb9cada2015-12-08 15:45:58 -070014;;; cli-cmd-skel.el - cli command skeleton
15
16(require 'skeleton)
17
Keith Burns (alagalah)ca46d8c2016-03-18 07:22:15 -070018(define-skeleton skel-cli-cmd
Ed Warnickecb9cada2015-12-08 15:45:58 -070019"Insert a CLI command "
20nil
21'(setq cmd-name (skeleton-read "Command Name: "))
22'(setq path (skeleton-read "Path: "))
23
24"
25static clib_error_t *
26" cmd-name "_command_fn (vlib_main_t * vm,
27 unformat_input_t * input,
28 vlib_cli_command_t * cmd)
29{
30 while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) {
31 if (unformat (input, \"whatever %d\", &whatever))
32 ;
33 else
34 return clib_error_return (0, \"unknown input `%U'\",
35 format_unformat_error, input);
36 }
37 return 0;
38}
39
40VLIB_CLI_COMMAND (" cmd-name "_command, static) = {
41 .path = \"" path "\",
42 .short_help = \"" path "\",
43 .function = " cmd-name "_command_fn,
44};
45")