summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_dhclient34
1 files changed, 29 insertions, 5 deletions
diff --git a/Completion/Unix/Command/_dhclient b/Completion/Unix/Command/_dhclient
index 47af999b0..5208ea05b 100644
--- a/Completion/Unix/Command/_dhclient
+++ b/Completion/Unix/Command/_dhclient
@@ -1,7 +1,31 @@
-#compdef dhclient
+#compdef dhclient dhclient3
-_arguments \
- '-p[Port to transmit to / listen on]' \
+local _dhclient_common_args
+
+_dhclient_common_args=(
+ '-p[port to transmit to / listen on]:_ports'
+ '-d[force to run in foreground]'
+ ':interface:_net_interfaces'
+)
+
+if _pick_variant three=V3 two --help; then
+ _arguments \
+ '-q[quiet]' \
+ '-1[only try once to get a lease]' \
+ '-r[release the current lease]' \
+ '-lf[lease file]:lease file:_files' \
+ '-pf[pid file]:pid file:_files' \
+ '-cf[config file]:config file:_files' \
+ '-sf[script file]:script file:_files' \
+ '-e[env vars to pass to child processes]:env var key value pairs:' \
+ '-s[transmit to specific target instead of broadcast]:server:_hosts' \
+ '-g[force giaddr field]:relay:_hosts' \
+ '-n[do not configure any interfaces]' \
+ '-nw[daemonize immediately rather than wait for IP acquisition]' \
+ '-w[do not exit if there are no interfaces found to configure]' \
+ "$_dhclient_common_args[@]"
+else
+ _arguments \
'-e[Exit if configuration failed after a certain time]' \
- '-d[Force to run in foreground]' \
- ':Interface:_net_interfaces'
+ "$_dhclient_common_args[@]"
+fi