#autoload
# Options:
#
# -a add "all" as an additional match
# -n add "none" as an additional match
local expl all none
local ifile=/usr/include/sys/syscall.h
local -au syscalls
zparseopts -D -K -E a=all n=none
[[ $OSTYPE = linux* ]] && ifile=/usr/include/bits/syscall.h
syscalls=( ${${${(M)${(f)"$(<$ifile)"}:#?define[[:blank:]]##SYS_*}#*[[:blank:]]SYS_}%%[[:blank:]]*} ) 2>/dev/null
[[ -n $all ]] && syscalls+=( all )
[[ -n $none ]] && syscalls+=( none )
_description syscalls expl 'system call'
compadd "$@" "$expl[@]" -a syscalls