summaryrefslogtreecommitdiff
path: root/.zsh/completion/_mausezahn.zsh
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2013-06-07 20:06:13 +0200
committerTobias Klauser <tklauser@distanz.ch>2013-06-07 20:06:13 +0200
commitcc8609a1aa21f135456345a01194f242bec07a2a (patch)
treeeee0fe746c2c944aa32821dc9da3e24a3f22f3f3 /.zsh/completion/_mausezahn.zsh
parent0053dfd996e20b29c8eb2df5d05ba7644898df61 (diff)
Rename completion files, so they get loaded
Diffstat (limited to '.zsh/completion/_mausezahn.zsh')
-rw-r--r--.zsh/completion/_mausezahn.zsh67
1 files changed, 67 insertions, 0 deletions
diff --git a/.zsh/completion/_mausezahn.zsh b/.zsh/completion/_mausezahn.zsh
new file mode 100644
index 0000000..95a9e35
--- /dev/null
+++ b/.zsh/completion/_mausezahn.zsh
@@ -0,0 +1,67 @@
+#compdef mausezahn
+#
+# mausezahn.zsh -- zsh completion function for mausezahn
+#
+# Copyright (C) 2013 Hideo Hattori <hhatto.jp@gmail.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+
+typeset -A opt_args
+
+_packet_type () {
+ _values \
+ "arp" \
+ "bpdu" \
+ "cdp" \
+ "ip" \
+ "icmp" \
+ "udp" \
+ "tcp" \
+ "dns" \
+ "rtp" \
+ "syslog" \
+ "lldp"
+}
+
+_interface_keywords () {
+ _values "interface keyword" \
+ "rand[Use a random MAC address]" \
+ "bc[Use a broadcast MAC address]" \
+ "own[Use own interface MAC address (default for source MAC)]" \
+ "stp[Use IEEE 802.1d STP multicast address]" \
+ "cisco[Use Cisco multicast address as used for CDP, VTP, or PVST+]"
+}
+
+_interfaces () {
+ _wanted interfaces expl 'network interface' \
+ _net_interfaces
+ _values "Pseudo-device that captures on all interfaces" "any"
+}
+
+_arguments -s -S \
+ "-x[Interactive mode with telnet CLI, default port: 25542]" \
+ "(-6)-4[IPv4 mode (default)]" \
+ "(-4)-6[IPv6 mode]" \
+ "-c[Send packet count times, default:1, infinite:0]" \
+ "-d[Apply delay between transmissions. The delay value can be specified in usec (default, no additional unit needed), or in msec (e.g. 100m or 100msec), or in seconds (e.g. 100s or 100sec)]" \
+ "-r[Multiplies the specified delay with a random value]" \
+ "-p[Pad the raw frame to specified length (using random bytes)]" \
+ "-a[Use specified source mac address, no matter what has been specified with other arguments; keywords see below, Default is own interface]:keyword:_interface_keywords" \
+ "-b[Same with destination mac address; keywords]:keywords:_interface_keywords" \
+ "-A[Use specified source IP address (default is own interface IP)]" \
+ "-B[Send packet to specified destination IP or domain name]" \
+ "-P[Use the specified ASCII payload]" \
+ "-f[Read the ASCII payload from a file]:filename:_files" \
+ "-F[Read the hexadecimal payload from a file]:filename:_files" \
+ "-Q[Specify 802.1Q VLAN tag and optional Class of Service, you can specify multiple 802.1Q VLAN tags (QinQ...) by separating them via a comma or a period (e.g. '5:10,20,2:30')]" \
+ "-t[Specify packet type for autobuild (you don't need to care for encapsulations in lower layers, most packet types allow/require additional packet-specific arguments in an <arg-string>; Currently supported types: arp, bpdu, cdp, ip, icmp, udp, tcp, dns, rtp, syslog, lldp and more; For context-help use 'help' as <arg-string>!]:packet_type:_packet_type" \
+ "-T[Specify packet type for server mode, currently only rtp is supported; Enter -T help or -T rtp help for further information]" \
+ "-M[Insert a MPLS label, enter '-M help' for a syntax description]" \
+ "(-V -VV -VVV)"{-V,-VV,-VVV}"[Verbose and more verbose mode]" \
+ "-q[Quiet mode, even omit 'important' standard short messages]" \
+ "-S[Simulation mode: DOES NOT put anything on the wire, this is typically combined with one of the verbose modes (v or V)]" \
+ "-v[Show version]:" \
+ "-h[Print this help]:" \
+ "*::args:_gnu_generic"