#compdef ping if _pick_variant iputils=iputils unix -V; then _arguments \ '-a[audible]' \ '-A[adaptive]' \ '-b[allow pinging a broadcast address]' \ '-B[do not allow ping to change source address]' \ '-c:count' \ '-d[set SO_DEBUG on the socket]' \ '-f[flood ping]' \ '-i:interval in seconds' \ '-I:iface:_net_interfaces' \ '-l:preload number' \ '-L[suppress loopback of multicast packets]' \ '-n[numeric output only]' \ '-p:padding pattern' \ '-Q:QoS TOS bits' \ '-q[quiet]' \ '-r[bypass normal routing tables]' \ '-R[record route]' \ '-s:packet size in bytes' \ '-S:sndbuf' \ '-t:timeout in seconds' \ '-T:timestamp option:(tsonly tsandaddr tsprespec)' \ '-M:Path MTU Discovery strategy:((do\:prohibit\ fragmentation want\:fragment\ locally dont\:do\ not\ set\ DF\ flag))' \ '-U[print full user-to-user latency]' \ '-v[verbose]' \ '-w:deadline in seconds' \ '-W:seconds to wait for a response' \ ':host:_hosts' else # FreeBSD 4.11 _arguments \ '-A[audible for no packet]' \ '-Q[somewhat quiet]' \ '-R[record route]' \ '-a[audible for each packet]' \ '-d[set SO_DEBUG on the socket]' \ '-f[flood ping]' \ '-n[numeric output only]' \ '-q[quiet]' \ '-r[bypass normal routing tables]' \ '-v[verbose]' \ '-c:count' \ '-i:wait seconds' \ '-l:preload number' \ '-m:ttl' \ '-p:padding pattern' \ '-P:IPsec policy' \ '-s:packet size in bytes' \ '-S:src addr' \ '-t:timeout in seconds' \ '-L[suppress loopback of multicast packets]' \ '-I:iface:_net_interfaces' \ '-T:ttl for multicasted packets' \ ':host:_hosts' fi