diff options
author | Oliver Kiddle <opk@zsh.org> | 2025-01-27 23:10:16 +0100 |
---|---|---|
committer | Oliver Kiddle <opk@zsh.org> | 2025-01-27 23:34:59 +0100 |
commit | 4e4274eda6012aead1f236502b163ba063bc465a (patch) | |
tree | 6635dd84f2aff322e452a91dc8f5d67a8a2e434e /Completion/Linux/Command | |
parent | f3b865b9155269ba0dee7ced93b061e78df507c1 (diff) | |
download | zsh-4e4274eda6012aead1f236502b163ba063bc465a.tar.gz zsh-4e4274eda6012aead1f236502b163ba063bc465a.zip |
53328: completion options update
Diffstat (limited to 'Completion/Linux/Command')
-rw-r--r-- | Completion/Linux/Command/_cpupower | 1 | ||||
-rw-r--r-- | Completion/Linux/Command/_cryptsetup | 32 | ||||
-rw-r--r-- | Completion/Linux/Command/_ethtool | 12 | ||||
-rw-r--r-- | Completion/Linux/Command/_iptables | 166 | ||||
-rw-r--r-- | Completion/Linux/Command/_selinux | 17 | ||||
-rw-r--r-- | Completion/Linux/Command/_sshfs | 13 | ||||
-rw-r--r-- | Completion/Linux/Command/_valgrind | 8 |
7 files changed, 227 insertions, 22 deletions
diff --git a/Completion/Linux/Command/_cpupower b/Completion/Linux/Command/_cpupower index d342b69d9..cb6f37fb0 100644 --- a/Completion/Linux/Command/_cpupower +++ b/Completion/Linux/Command/_cpupower @@ -20,7 +20,6 @@ cmds=( 'info:show global power parameters' 'set:set global power parameters' 'monitor:report frequency and idle statistics' - 'powercap-info:show powercapping related kernel and hardware configurations' 'help:print usage information' ) case $state in diff --git a/Completion/Linux/Command/_cryptsetup b/Completion/Linux/Command/_cryptsetup index f7149a76f..897eb94f9 100644 --- a/Completion/Linux/Command/_cryptsetup +++ b/Completion/Linux/Command/_cryptsetup @@ -13,7 +13,7 @@ _arguments -s \ '(-y --verify-passphrase)'{-y,--verify-passphrase}'[query for password twice]' \ '(-d --key-file)'{-d+,--key-file=}'[set keyfile]:key file:_files' \ '--master-key-file=[set master key]:key file:_files' \ - '--dump-master-key[dump luks master key]' \ + '--dump-volume-key[dump volume key instead of keyslots info]' \ '(-s --key-size)'{-s+,--key-size=}'[set key size]:size (bits)' \ '(-l --keyfile-size)'{-l+,--keyfile-size=}'[set keyfile size]:size (bytes)' \ '--keyfile-offset=[specify number of bytes to skip in keyfile]:offset (bytes)' \ @@ -37,8 +37,35 @@ _arguments -s \ '--shared[share device with another non-overlapping crypt segment]' \ '--uuid=[set device UUID]:uuid' \ '--allow-discards[allow discard (aka TRIM) requests for device]' \ + '--cancel-deferred[cancel previously set deferred device removal]' \ + '--disable-blkid[disable blkid on-disk signature detection and wiping]' \ + '--disable-external-tokens[disable loading of external LUKS2 token plugins]' \ + "--disable-veracrypt[don't scan for VeraCrypt compatible device]" \ + '--dump-json-metadata[dump info in JSON format (LUKS2 only)]' \ + '--dump-volume-key[dump volume key instead of keyslots info]' \ + '--external-tokens-path=[specify path to directory with external token handlers (plugins)]:path:_directories' \ + '--force-offline-reencrypt[force offline LUKS2 reencryption and bypass active device detection]' \ '--header=[device or file with separated LUKS header]:file:_files' \ - '--test-passphrase[do not activate device, just check passphrase]' \ + '--hw-opal[use HW OPAL encryption together with SW encryption]' \ + '--hw-opal-factory-reset[wipe WHOLE OPAL disk on luksErase]' \ + '--hw-opal-only[use only HW OPAL encryption]' \ + '--keep-key[do not change volume key]' \ + '--link-vk-to-keyring=[set keyring where to link volume key]:string' \ + '--new-keyfile=[read the key for a new slot from a file]:file:_files' \ + '--new-key-slot=[specify slot number for new key]:slot [first free]' \ + '--new-token-id=[token number]:number [any]' \ + '--progress-json[print progress data in json format]' \ + "--test-args[don't run action, just validate all command line parameters]" \ + '--volume-key-file=[use the volume key from file]:file:_files' \ + '--volume-key-keyring=[use the specified keyring key as a volume key]:key' \ + '(-B --block-size)'{-B+,--block-size=}'[reencryption block size]:block size (MiB)' \ + '(-N --new)'{-N,--new}'[create new header on not encrypted device]' \ + '--use-directio[use direct-io when accessing devices]' \ + '--use-fsync[use fsync after each block]' \ + '--write-log[update log file after every block]' \ + "--test-passphrase[don't activate device, just check passphrase]" \ + '--token-replace[replace the current token]' \ + '--token-type=[restrict allowed token types used to retrieve LUKS2 key]:string' \ '--tcrypt-hidden[use hidden header (hidden TCRYPT device)]' \ '--tcrypt-system[device is system TCRYPT drive (with bootloader)]' \ '--tcrypt-backup[use backup (secondary) TCRYPT header]' \ @@ -118,6 +145,7 @@ case $state in 'luksDump:dump header information' 'tcryptDump:dump TCRYPT device information' 'bitlkDump:dump BITLK device information' + 'fvault2Dump:dump FVAULT2 device information' 'luksSuspend:suspend LUKS device and wipe key' 'luksResume:resume suspended LUKS device' 'luksHeaderBackup:store binary backup of headers' diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool index 3e3fc0b1d..8cff24e96 100644 --- a/Completion/Linux/Command/_ethtool +++ b/Completion/Linux/Command/_ethtool @@ -157,7 +157,7 @@ if [[ -n $state ]]; then _wanted files expl 'file' _files ;; rx-flow-hash) - _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6} + _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6} gtp{c{4,6}{,t},u{4,6}{,e,u,d}} ;; rule) _message -e ids 'rule id' @@ -177,6 +177,9 @@ if [[ -n $state ]]; then hfunc) _message -e functions 'hash function' ;; + xfrm) + _wanted transformations expl transformation compadd symmetric-xor none + ;; flags) _message -e masks mask ;; @@ -186,6 +189,9 @@ if [[ -n $state ]]; then power-mode-policy) _wanted policies expl 'policy' compadd high auto ;; + tcp-data-split) + _wanted states expl state compadd auto on off + ;; *) case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in -a|--show-pause) @@ -209,7 +215,7 @@ if [[ -n $state ]]; then 'rx-mini[change number of ring entries for the RX Mini ring]' \ 'rx-jumbo[change number of ring entries for the RX Jumbo ring]' \ 'tx[change number of ring entries for the TX ring]' \ - rx-buf-len cqe-size tx-push rx-push tx-push-buf-len + rx-buf-len tcp-data-split cqe-size tx-push rx-push tx-push-buf-len ;; -d|--register-dump) _values -S ' ' -w 'option' \ @@ -306,7 +312,7 @@ if [[ -n $state ]]; then '(weight default)equal' \ '(equal default)weight' \ '(equal weight)default' \ - hkey hfunc delete + hkey hfunc xfrm delete ;; -f|--flash) if (( CURRENT == 4 )); then diff --git a/Completion/Linux/Command/_iptables b/Completion/Linux/Command/_iptables index 892c48710..0a901f0f2 100644 --- a/Completion/Linux/Command/_iptables +++ b/Completion/Linux/Command/_iptables @@ -128,6 +128,27 @@ while ) ;; comment) args+=( '--comment[add comment to rule]:comment' ) ;; + connbytes) + args+=( + '--connbytes:size (min\:[max])' + '--connbytes-dir:packets:(original reply both)' + '--connbytes-mode:mode:(packets bytes avgpkt)' + ) + ;; + connlabel) + args+=( + '--label[match if label name has been set on a connection]:label' + '--set[set label on connection]' + ) + ;; + connlimit) + args+=( + --connlimit-{upto,above}:connections + '--connlimit-mask:prefix length' + --connlimit-{s,d}addr + ) + ;; + connmark) args+=( --mark:value ) ;; conntrack) args+=( '--ctstate[match packet state]:state:->cfstates' @@ -136,18 +157,69 @@ while '--ctorigdst[match original destination address]:*^!:network:_hosts' '--ctreplsrc[match reply source address]:*^!:network:_hosts' '--ctrepldst[match reply destination address]:*^!:network:_hosts' + --ct{orig,repl}{src,dst}port':port:_ports' '--ctstatus[match internal conntrack states]:state:(NONE EXPECTED SEEN_REPLY ASSURED)' '--ctexpire[match remaining lifetime]:time' + '--ctdir:direction:(original reply)' + ) + ;; + cpu) args+=( --cpu:number ) ;; + dccp) + args+=( + --{s,d,source-,destination-}port:port:_ports + '--dccp-types:type:_sequence compadd - REQUEST RESPONSE DATA ACK DATAACK CLOSEREQ CLOSE RESET SYNC SYNCACK INVALID' + --dccp-option:option ) ;; + devgroup) args+=( --{src,dst}group:name ) ;; dscp) args+=( '--dscp[match DSCP field]:value' '--dscp-class[match the DiffServ class]:class' ) ;; + dst) args+=( --dst-len:length --dst-opts:type ) ;; + ecn) args+=( --ecn-{tcp-{cwr,ece},ip-ect} ) ;; esp) args+=( '--espspi[match SPIs in ESP header]:*^!:spi' ) ;; + frag) + args+=( + --fragid:id --fraglen:length + --frag{res,first,more,last} + ) + ;; + hashlimit) + args+=( + --hashlimit-{upto,above,burst}:amount + '--hashlimit-mode:object:_sequence compadd - srcip srcport dstip dstport' + --hashlimit-{src,dst}mask:prefix + --hashlimit-name:name + --hashlimit-htable-size:buckets + --hashlimit-htable-max:entries + --hashlimit-htable-{expire,gcinterval}:msec + --hashlimit-rate-match + --hashlimit-rate-intervale:sec + ) + ;; + hbh) args+=( --hbh-len:length --hbh-opts:type ) ;; helper) args+=( '--helper[match packets related to a conntrack-helper]:helper:(ftp)' ) ;; + hl) args+=( --hl-{eq,lt,gt}:value ) ;; + icmp) args+=( --icmp-type:type ) ;; + icmp6) args+=( --icmpv6-type:type ) ;; + iprange) args+=( --{src,dst}-range':IP range' ) ;; + ipv6header) + args+=( + --soft + '--header:header(hop dst route frag auth esp none prot)' + ) + ;; + ipvs) + args+=( + --ipvs --vproto:protocol --vaddr:address + --vport{,ctl}':port:_ports' + '--vdir:directory:(ORIGINAL REPLY)' + '--vmethod:method:(GATE IPIP MASQ)' + ) + ;; length) args+=( '--length[match packet length]:length' ) ;; limit) args+=( @@ -164,32 +236,120 @@ while '--ports[match where source and destination ports are equal]:ports:->port-list' ) ;; + nfacct) args+=( --nfacct-name:name ) ;; + osf) args+=( --genre:string --{ttl,log}:level ) ;; owner) args+=( '--uid-owner[match packet by user id of creating process]:user id' '--gid-owner[match packet by ggroup id of creating process]:group id' '--pid-owner[match packet by process id of creating process]:process id:_pids' '--sid-owner[match packet by session id of creating process]:session id' - '--cmd-owner[match packet by name of creating command]:command:_command_names -e' + --suppl-groups --socket-exists ) ;; physdev) args+=( '--physdev-in[specify bridge port via which packet is received]:name' '--physdev-out[specify bridge port via which packet is sent]:name' + --physdev-is-{in,out,bridged} ) ;; pkttype) args+=( '--pkt-type[match link-layer packet type]:type:(unicast broadcast multicast)' ) ;; + policy) + args+=( + '--dir:direction:(in out)' + '(--strict)--pol:policy:(none ipsec)' + '(--pol)--strict' + --reqid:id --spi:id + '--proto:encapsulation protocol:(ah esp ipcomp)' + '--mode:encapsulation mode:(tunnel transport)' + --tunnel-{src,dst}:addr --next + ) + ;; + quota) args+=( '--quota:quota (bytes)' ) ;; + rateest) + args+=( + --rateest-{delta,lt,gt,eq} + --rateest{,1,2}:name + --rateest-{bps,pps}{,1,2}:value + ) + ;; + realm) args+=( --realm:value ) ;; + recent) + args+=( + --name:name --r{source,dest} --mask:netmask + '(--rcheck --update --remove)--set' + '(--set --update --remove)--rcheck' + '(--set --rcheck --remove)--update' + '(--set --rcheck --update)--remove' + --seconds:seconds --reap --hitcount:hits --rttl + ) + ;; + rpfilter) args+=( --loose --validmark --accept-local --invert ) ;; + rt) + args+=( + --rt-type:type --rt-segsleft:number --rt-len:length + --rt-0-{res,not-strict} --rt-0-addrs:address + ) + ;; + sctp) + args+=( + --{s,d,source-,destination-}port:port:_ports + '--chunk-types:match type:(all any only):chunk type' + ) + ;; + set) + args+=( + '--match-set:set: :flag' + --return-nomatch --update-counters --update-subcounters + --{packet,byte}s-{eq,lt,gt}:value + ) + ;; + socket) args+=( --transparent --nowildcard --restore-skmark ) ;; state) args+=( '--state[match packet state]:state:->states' ) ;; + statistic) args+=( --mode:mode --{probability,every,packet}:value ) ;; + string) + args+=( + '--algo:strategy:(bm kmp)' + --{from,to}:offset + --{,hex}string:pattern + -icase + ) + ;; + tcp) + args+=( + --{s,d,source-,destination-}port:port:_ports + '--tcp-flags:mask:->tcp-flags:comp:->tcp-flags' + --syn --tcp-option:option + ) + ;; + tcpmss) args+=( --mss:value ) ;; + time) + args+=( + --date{start,stop}:date --time{start,stop}:time + --{month,week}days:day + --contiguous --kerneltz + ) + ;; tos) args+=( '--tos[match type of service field]:type of service:->tos' ) ;; - ttl) args+=( '--ttl[match type to live]:TTL value' ) ;; + ttl) args+=( '--ttl-'{eq,lt,gt}':TTL value' ) ;; + u32) args+=( '--u32:tests' ) ;; + udp) args+=( --{s,d,source-,destination-}port:port:_ports ) ;; esac done +if (( CURRENT > 2 )); then + if [[ $words[CURRENT-1] = (|\\)\! && ! -prefix - ]]; then + args+=( '*: :compadd -S "" - -' ) + else + args+=( '*:negation:(!)' ) + fi +fi + _arguments -C -s \ '(-)'{-h,--help}'[print program information]' \ '(-)'{-V,--version}'[print version information]' \ @@ -211,13 +371,13 @@ _arguments -C -s \ "($cmds -s --src --source)"{-s,--src,--source}'[specify source]:*^!:network:_sequence _hosts' \ "($cmds -d --dst --destination)"{-d,--dst,--destination}'[specify destination]:*^!:network:_sequence _hosts' \ "($cmds -j --jump)"{-j,--jump}'[specify rule target]:target:->targets' \ + "($cmds -g --goto)"{-g,--goto}'[jump to chain with no return]:target:->targets' \ "($cmds -i --in-interface)"{-i,--in-interface}'[specify interface via which packet is received]:*^!:interface:_net_interfaces' \ "($cmds -o --out-interface)"{-o,--out-interface}'[specify interface via which packet is to be sent]:*^!:interface:_net_interfaces' \ "($cmds -f --fragment)"{-f,--fragment}'[match second or further fragments only]' \ "($cmds -D --delete -c --set-counters)"{-c,--set-counters}'[initialise packet and byte counters]:packets: :bytes' \ '(-v --verbose)'{-v,--verbose}'[enable verbose output]' \ '(-w --wait)'{-w,--wait}'[specify maximum wait to acquire xtables lock before giving up]: :_numbers -u seconds -d 1 wait' \ - '(-W --wait-interval)'{-W,--wait-interval}'[specify wait time to try to acquire xtables lock]: :_numbers -u usecs -d "1 second" wait' \ '(-n --numeric)'{-n,--numeric}'[print IP addresses and port numbers in numeric format]' \ '(-x --exact)'{-x,--exact}'[expand numbers (display exact values)]' \ '--line-numbers[print line numbers when listing]' \ diff --git a/Completion/Linux/Command/_selinux b/Completion/Linux/Command/_selinux index a7ba68952..22d78db7d 100644 --- a/Completion/Linux/Command/_selinux +++ b/Completion/Linux/Command/_selinux @@ -1,4 +1,4 @@ -#compdef audit2allow audit2why avcstat chcon checkmodule checkpolicy fixfiles getpidprevcon getsebool matchpathcon newrole restorecon runcon sealert secon sedta seinfo selinuxconlist selinuxdefcon selinuxexeccon semanage semodule semodule_unpackage sepolgen sepolicy sesearch sestatus setenforce setsebool validatetrans +#compdef audit2allow audit2why avcstat chcon checkmodule checkpolicy fixfiles getpidprevcon getsebool matchpathcon newrole restorecon runcon sealert secon sedismod sedta seinfo selinuxconlist selinuxdefcon selinuxexeccon semanage semodule semodule_unpackage sepolgen sepolicy sesearch sestatus setenforce setsebool validatetrans # encompasses checkpolicy libselinux-utils policycoreutils # policycoreutils-devel policycoreutils-python-utils setools-console @@ -127,6 +127,7 @@ case $service in "${ign}(-h --help)"{-h,--help}'[display help information]' '(-U --handle-unknown)'{-U+,--handle-unknown=}'[specify how the kernel should handle unknown classes or permissions]:action:(deny allow reject)' '(-M --mls)'{-M,--mls}'[enable the MLS policy when checking and compiling the policy]' + '(-N --disable-neverallow)'{-N,--disable-neverallow}"[don't check neverallow rules]" '(-o --output)'{-o+,--output=}'[write a policy file]:file:_files' '-c+[specify the policy version]:policy version [latest]' ':input file:_files' @@ -154,7 +155,6 @@ case $service in '--perm-map=[specify file name of perm map]:file:_files' '--interface-info=[specify file name of interface information]:file:_files' '(-x --xperms)'{-x,--xperms}'[generate extended permission rules]' - '--debug[leave generated modules for -M]' '(-w --why)'{-w,--why}'[translate SELinux audit messages into a description of why the access was denied]' "${ign}(-h --help)"{-h,--help}'[display help information]' "${ign}--version[display version information]" @@ -193,7 +193,7 @@ case $service in ;; checkmodule) - args=( + args+=( "${ign}(-)"{-V,--version}'[show policy versions created by this program]' '-m[build a policy module instead of a base module]' '-c+[build a policy module targeting a modular policy version]:version (4-21)' @@ -201,7 +201,7 @@ case $service in ;; checkpolicy) - args=( + args+=( '(-F --conf)'{-F,--conf}'[write policy.conf file rather than binary policy file]' '(-d --debug)'{-d,--debug}'[enter debug mode after loading the policy]' '(-S --sort)'{-S,--sort}'[sort ocontexts before writing out the binary policy]' @@ -347,6 +347,10 @@ case $service in ) ;; + sedismod) + args=( ':pp file:_files -g "*.pp(-.)"' ) + ;; + sedta) args=( '(-p --policy)'{-p+,--policy=}'[specify path to SELinux policy to analyze]:policy:_files' @@ -410,7 +414,10 @@ case $service in selinuxdefcon) args=( + '-r+[specify role]:role' '-l+[specify mcs/mls level]:level' + '-s+[specify service]:service' + '-v[verbose output]' ':user:_users' ':context:_selinux_contexts' ) @@ -726,8 +733,6 @@ case $service in '--auditallowxperm[search auditallowxperm rules]' '--dontaudit[search dontaudit rules]' '--dontauditxperm[search dontauditxperm rules]' - '--neverallow[search neverallow rules]' - '--neverallowxperm[search neverallowxperm rules]' '(-T --type_trans)'{-T,--type_trans}'[search type_transition rules]' '--type_change[search type_change rules]' '--type_member[search type_member rules]' diff --git a/Completion/Linux/Command/_sshfs b/Completion/Linux/Command/_sshfs index 3467fbd8a..48b308066 100644 --- a/Completion/Linux/Command/_sshfs +++ b/Completion/Linux/Command/_sshfs @@ -15,12 +15,13 @@ _arguments -C -S : \ '(-d --debug -f)'{-d,--debug}'[enable debug output]' \ '-f[foreground]' \ '-s[disable multithreaded operation]' \ + '(-v --verbose)'{-v,--verbose}'[print ssh replies and messages]' \ ':remote directory:_user_at_host -S:' \ ':mountpoint:_files -/' && ret=0 if [[ $state == options ]]; then # TODO complete ssh(1) options - _values -s , "options to ssh, sshfs, mount, or FUSE" \ + _values -s , "option to ssh, sshfs, mount, or FUSE" \ 'port:number' \ 'compression: :(yes no)' \ reconnect delay_connect sshfs_sync no_readahead sync_readdir \ @@ -42,14 +43,15 @@ if [[ $state == options ]]; then 'ssh_protocol:version:(1 2)' \ sftp_server:path:_files \ directport:port:_ports \ - slave disable_hardlink transform_symlinks follow_symlinks no_check_root password_stdin \ - debug \ - allow_other allow_root auto_unmount nonempty default_permissions \ + passive disable_hardlink transform_symlinks follow_symlinks no_check_root password_stdin \ + max_conns:number \ + debug nonempty default_permissions \ fsname:filesystem\ name \ subtype:filesystem\ type \ large_read \ max_read:max\ size \ - hard_remove use_ino readdir_ino direct_io kernel_cache auto_cache noauto_cache \ + hard_remove use_ino readdir_ino direct_io \ + kernel_cache auto_cache noauto_cache \ 'umask:permissions' \ 'uid:owner' 'gid:group' \ 'entry_timeout:timeout (seconds) [1]' \ @@ -58,6 +60,7 @@ if [[ $state == options ]]; then 'ac_attr_timeout:timeout (seconds) [= attr_timeout]' \ noforget \ 'remember:time (seconds)' \ + allow_other allow_root auto_unmount \ nopath intr \ 'intr_signal:signal [10]' \ modules:module \ diff --git a/Completion/Linux/Command/_valgrind b/Completion/Linux/Command/_valgrind index 5eaaea338..6bf0e4450 100644 --- a/Completion/Linux/Command/_valgrind +++ b/Completion/Linux/Command/_valgrind @@ -40,7 +40,7 @@ common_report_errors=( '--error-exitcode=-[exit code to return if errors found]:exit code' \ '--error-markers=-[add lines with begin/end markers before/after]:markers (begin,end)' \ '(--show-error-list)-s[show detected errors list and suppression counts at exit]' \ - '--show-error-list=-[show detected errors list and suppression counts at exit]:enable [no]:(yes no)' + '--show-error-list=-[show detected errors list and suppression counts at exit]:enable [no]:(yes no all)' '--keep-debuginfo=-[keep symbols etc for unloaded code]:enable:(yes no)' \ '--show-below-main=-[continue stack traces below main()]:enable [no]:(yes no)' \ '--default-suppression=-[load default suppressions]:enable [yes]:(yes no)' \ @@ -115,6 +115,7 @@ args_memcheck=( $args_addrcheck $common_read_varinfo $common_report_errors + '--show-realloc-size-zero=-[show reallocs with a size of zero]:enable [yes]:(yes no)' ) args_cachegrind=( @@ -215,12 +216,13 @@ _arguments -C ${(P)args} $cmd \ '--child-silent-after-fork=-[omit child output between fork & exec]:enable:(yes no)' \ '--vgdb=-[activate gdbserver]:enable [yes]:(yes no full)' \ '--vgdb-error=-[invoke gdbserver after specified number of errors]:errors [999999999]:errors' \ - '--vgdb-stop-at=-[invoke gdbserver for given events]:event:_sequence compadd - startup exit valgrindabexit all none' \ + '--vgdb-stop-at=-[invoke gdbserver for given events]:event:_sequence compadd - startup exit abexit valgrindabexit all none' \ '--track-fds=-[track open file descriptors]:enable [no]:(yes no all)' \ '--time-stamp=-[add timestamps to log messages]:enable:(yes no)' \ '--log-fd=-[log messages to specified file descriptor]:file descriptor:_file_descriptors' \ '--log-file=-[log messages to specified file with pid appended]:file:_files' \ '--log-socket=-[log messages to socket]:ipaddr\:port' \ + '--enable-debuginfod=-[query debuginfod servers for missing debuginfo]:enable [yes]:(no yes)' \ '*--fullpath-after=-[show full source paths in call stacks]::prefix to remove from paths:_directories' \ '--extra-debuginfo-path=-[specify absolute path to search for additional debug symbols]:path:_directories' \ '--debuginfo-server=-[specify server to query for debug symbols]:server:_hosts' \ @@ -233,6 +235,7 @@ _arguments -C ${(P)args} $cmd \ '--run-libc-freeres=-[free up glibc memory at exit]:enable [yes]:(yes no)' \ '--run-cxx-freeres=-[free up libstdc++ memory at exit]:enable [yes]:(yes no)' \ '--sim-hints=-[activate unusual sim behaviours]:hint [none]:_sequence compadd - lax-ioctls lax-doors fuse-compatible enable-outer no-inner-prefix no-nptl-pthread-stackcache fallback-llsc none' \ + '--scheduling-quantum=-[thread-scheduling timeslice in number of basic blocks]:blocks [100000]' \ '--fair-sched=-[schedule threads fairly on multicore systems]:enable [no]:(yes no try)' \ '--kernel-variant=-[handle non-standard kernel variants]:kernel variant:_sequence compadd - bproc android-no-hw-tls android-gpu-sgx5xx android-gpu-adreno3xx' \ '--merge-recursive-frames=-[merge frames between identical program counters in specified max frames]:frames [0]' \ @@ -247,6 +250,7 @@ _arguments -C ${(P)args} $cmd \ '--unw-stack-scan-thresh=-[enable stack-scan unwind if fewer than specified number of good frames found]:frames' \ '--resync-filter=-[attempt to avoid expensive address-space-resync operations]:enable:(yes no verbose)' \ '--max-threads=-[specify maximum number of threads that valgrind can handle]:threads [500]' \ + '--realloc-zero-bytes-frees=-[should calls to realloc() with a size of 0 free memory and return NULL]:enable:(yes no)' \ && return typeset -a tools |