#compdef coreadm
_coreadm() {
local -a content option
content=(
"anon[anonymous private mappings]"
"ctf[CTF type information]"
"data[writable private file mappings]"
"dism[DISM mappings]"
"heap[process heap]"
"ism[ISM mappings]"
"rodata[read-only private file mappings]"
"shanon[anonymous shared mappings]"
"shfile[file-backed shared mappings]"
"shm[System V shared memory]"
"stack[process stack]"
"symtab[symbol table sections for loaded files]"
"text[readable and executable private file mappings]"
)
option=(
"global"\:"Allow global core dumps"
"global-setid"\:"Allow set-id global core dumps"
"log"\:"Generate a syslog message on global core dump"
"process"\:"Allow per-process core dumps"
"proc-setid"\:"Allow set-id per-process core dumps"
)
# _values doesn't quite work for us here -- the separator can be either
# "+" or "-"
_arguments -s \
- set1 \
'-g[global core file name pattern]:' \
'-G[global core file content]:content:_values -s + "content" $content' \
'-i[per-process core file name pattern]:' \
'-I[per-process core file content]:content:_values -s + "content" $content' \
'*-d[disable core option]:option:(($option))' \
'*-e[enable core option]:option:(($option))' \
- set2 \
'-p[PID-specific per-process core file name pattern]:' \
'-P[PID-specific per-process core file content]:content:_values -s + "content" $content' \
'*:pids:_pids' \
- set3 \
'-u[update options from coreadm.conf]'
}
_coreadm "$@"
Copyright 2K16 - 2K18 Indonesian Hacker Rulez