#compdef dhcpcd
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for dhcpcd 2.3.2.
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Julien Nicoulaud <julien.nicoulaud@gmail.com>
#
# ------------------------------------------------------------------------------


_arguments \
    '1:network interface:_net_interfaces' \
  - release \
    '(-k --release)'{-k,--release}'[causes an existing dhcpcd process running on the interface to release it'\''s lease, deconfigure the interface and then exit]' \
  - exit \
    '(-x --exit)'{-x,--exit}'[causes an existing dhcpcd process running on the interface to exit]' \
  - main \
    '(-d --debug)'{-d,--debug}'[echo debug and informational messages to the console]' \
    '(-h --hostname)'{-h,--hostname}'[specify the hostname sent, or an empty string to stop any hostname from being sent]:hostname:_hosts' \
    '(-i --classid)'{-i,--classid}'[override the DHCP vendor classid field we send]:classid' \
    '(-l --leasetime)'{-l,--leasetime}'[request a specific lease time in seconds]:lease time \(seconds\)' \
    '(-m --metric)'{-m,--metric}'[added routes will use the metric on systems where this is supported]:metric' \
    '(-n --renew)'{-n,--renew}'[notifies an existing dhcpcd process running on the interface to renew it'\''s lease]' \
    '(-p --persistent)'{-p,--persistent}'[don'\''t deconfigure the interface and configuration at exit]' \
    '(-r --request)'{-r,--request}'[skip the broadcast request step and just request an address]:address' \
    '(-s --inform)'{-s,--inform}'[behaves exactly like -r, but sends a DHCP inform instead of a request]:address' \
    '(-t --timeout)'{-t,--timeout}'[timeout after seconds, instead of the default 20]:timeout \(seconds\)' \
    '(-u --userclass)'{-u,--userclass}'[tags the DHCP message with the userclass class]:class' \
    '*'{-H,--sethostname}'[forces dhcpcd to set the hostname as supplied by the DHCP server]' \
    '({-I --clientid)'{-I,--clientid}'[send clientid as a client identifier string]:clientid' \
    '*'{-S,--mscsr}'[request Microsoft specific Classless Static Routes (RFC 3442) code as well]' \
    '(-A --noarp)'{-A,--noarp}'[don'\''t request or claim the address by ARP]' \
    '(-G --nogateway)'{-G,--nogateway}'[don'\''t set any default routes]' \
    '(-L --noipv4ll)'{-L,--noipv4ll}'[don'\''t use IPv4LL at all]' \
    '(-M --nomtu)'{-M,--nomtu}'[don'\''t set the MTU of the interface]' \
    '(-N --nontp)'{-N,--nontp}'[don'\''t touch /etc/ntpd.conf or restart the ntp service]' \
    '(-R --nodns)'{-R,--nodns}'[don'\''t send DNS information to resolvconf or touch /etc/resolv.conf]' \
    '(-T --test)'{-T,--test}'[on receipt of discover messages, simply print the contents of the DHCP message to the console]' \
    '(-Y --nonis)'{-Y,--nonis}'[don'\''t touch /etc/yp.conf or restart the ypbind service]'

# Local Variables:
# mode: Shell-Script
# sh-indentation: 2
# indent-tabs-mode: nil
# sh-basic-offset: 2
# End:
# vim: ft=zsh sw=2 ts=2 et
