mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-07-17 06:41:30 +02:00
79 lines
3.4 KiB
Text
79 lines
3.4 KiB
Text
#compdef dhclient dhclient3
|
|
|
|
local args
|
|
|
|
case $OSTYPE in
|
|
(open|free)bsd*)
|
|
args+=(
|
|
'-c+[specify configuration file]:file:_files'
|
|
)
|
|
;|
|
|
freebsd*)
|
|
args+=(
|
|
'(-d)-b[immediately move to the background]'
|
|
'-l+[specify leases file]:file:_files'
|
|
'-p+[specify PID file]:file:_files'
|
|
'-u[reject leases with unknown options]'
|
|
'-q[quiet]'
|
|
)
|
|
;;
|
|
openbsd*)
|
|
args+=(
|
|
'-i+[ignore values provided by leases for specified options]:options'
|
|
"-n[don't configure any interfaces]"
|
|
'-r[release the current lease back to the server it came from]'
|
|
'-v[verbose log messages]'
|
|
)
|
|
;;
|
|
*) # ISC implementation, used on Linux and NetBSD
|
|
args=(
|
|
'!(-6 -S -T -P -D -N)-4'
|
|
'(-4 -s)-6[use the DHCPv6 protocol]'
|
|
'-1[only try once to get a lease]'
|
|
'(-d)-nw[daemonize immediately rather than wait for IP acquisition]'
|
|
"-m[don't require responding ethernet address of dhcp server to match expectation]"
|
|
'-v[verbose log messages]'
|
|
"-w[don't exit if there are no interfaces found to configure]"
|
|
"-n[don't configure any interfaces]"
|
|
'-e[specify env vars to pass to child processes]:env var key value pairs'
|
|
'-q[quiet]'
|
|
'(-x)-r[release the current lease]'
|
|
'(-r)-x[stop the running DHCP client without releaseing current lease]'
|
|
'-p[specify port to transmit to / listen on]:port:_ports'
|
|
'(-6)-s[transmit to specific target instead of broadcast]:server:_hosts'
|
|
'-g[force giaddr field]:relay:_hosts'
|
|
'-i[use a DUID with DHCPv4 clients]'
|
|
'-I[use the standard DDNS scheme]'
|
|
'(-)--version[display version number]'
|
|
'(-4)-S[use Information-request to get only stateless configuration]'
|
|
'(-4)*-T[ask for IPv6 temporary addresses]'
|
|
'(-4)-P[enable IPv6 prefix delegation]'
|
|
'-D[specify DUID selection method]:DUID:((LL\:link-layer LLT\:link-layer\ plus\ timestamp))'
|
|
'(-4)-N[restore normal address query for IPv6]'
|
|
'-lf[lease file]:lease file:_files'
|
|
'(--no-pid)-pf[pid file]:pid file:_files'
|
|
'(-pf)--no-pid[disable writing pid files]'
|
|
'-cf[config file]:config file:_files'
|
|
'-df[duid file]:duid file:_files'
|
|
'-sf[script file]:script file:_files'
|
|
'-4o6[DHCPv4 over DHCPv6 protocol]:port'
|
|
"-nc[don't drop capabilities]"
|
|
'-B[set the BOOTP broadcast flag in request packets]'
|
|
'-C[specify dhcp-client-identifier option]:option'
|
|
'(-F)-H[specify host-name option]:host name:_hosts'
|
|
'(-H)-F[specify fully qualified hostname option]:host name:_hosts'
|
|
'-V[specify vendor-class-identifier option]:option'
|
|
'--request-options[specify list of options the client is to request from the server]:options'
|
|
'--timeout[specify time after which dhclient will decide that no DHCP servers can be contacted]:timeout'
|
|
'--dad-wait-time[specify maximum time to wait for duplicate address detection]:time (seconds)'
|
|
'--prefix-len-hint[specify length to request when requesting new prefixes]:length'
|
|
'--decline-wait-time[specify time an IPv4 client should wait between declining an address and issuing a discover]:time (seconds)'
|
|
'--address-prefix-len[specify length of the prefix for IPv6 addresses]:length'
|
|
'(-)'{--help,-h}'[display usage information]'
|
|
)
|
|
;;
|
|
esac
|
|
|
|
_arguments -s -S -A "-*" $args \
|
|
'(-b -nw)-d[remain as a foreground process]' \
|
|
':interface:_net_interfaces'
|