about summary refs log tree commit diff
path: root/Completion/BSD/Command/_ktrace
blob: 13c11f15d276d0ae9b2cf5ef57992e720c6cce88 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#compdef ktrace

local args=(
  '-a[append to the trace file]'
  '(*)-C[disable tracing on all user owned processes or all processes if executed by root]'
  '-c[clear the trace points]'
  '-d[trace current decendants]'
  '-f+[log trace to specified file]:trace file:_files'
  '(-p *)-g+[enable/disable tracing on specified process group]:pgid:_pgids'
  '-i[inherit trace flags on future children]'
  '(-g *)-p+[enable/disable tracing on specified PID]: :_pids'
  '-t+[select information to include in dump]:trace string:_ktrace_points'
  '*:: : _normal -p ktrace'
)

case $OSTYPE; in
  openbsd*)
    args+=(
      '-B[process relocations immediately]'
    )
    ;;
  netbsd*)
    args+=(
      '-n[stop tracing if writes to the trace file would block]'
      '-s[write to the trace file with synchronized I/O]'
    )
    ;;
esac

_arguments -s -S -A '-*' : $args