
. ../include/common

modules_loaded_C='cut -d\  -f1 /proc/modules'
modules_installed_C='find "/lib/modules/$(uname -r)/"* -type f -name "${XPC_PATTERN}"\*.o -printf "%f\n" | sed s/.o$//'

cmd=modprobe

optcomplete  $cmd all a
optcomplete  $cmd showconfig c
optcomplete  $cmd debug d
optcomplete  $cmd autoclean k
optcomplete  $cmd list l
optcomplete  $cmd n show
optcomplete  $cmd quiet q
optcomplete -V rem $cmd remove r
optcomplete  $cmd syslog s
optcomplete -C 'find "/lib/modules/$(uname -r)/"*  -type d -printf "%f\n%p\n" |sed s@^/lib/modules/$(uname -r)/@@|sort -u #'  $cmd type t
optcomplete  $cmd verbose v
optcomplete  $cmd V version
optcomplete -f  $cmd config C
optcomplete -C '
if test "$XPC_rem"; then
	'"$modules_loaded_C"' | grep -F "$XPC_PATTERN"
else
	'"$modules_installed_C"' | grep -F "$XPC_PATTERN" 
fi #' $cmd NONOPT

optcomplete -m long,getoptparse  $cmd

complete -F xpcompfunc  $cmd


cmd=insmod

optcomplete   $cmd f force
optcomplete   $cmd h help
optcomplete   $cmd k autoclean
optcomplete   $cmd L lock
optcomplete   $cmd m map
optcomplete   $cmd n noload
optcomplete   $cmd p probe
optcomplete   $cmd q quiet
optcomplete   $cmd r root
optcomplete   $cmd s syslog
optcomplete   $cmd S kallsyms
optcomplete   $cmd v verbose
optcomplete   $cmd X x export noexport
optcomplete   $cmd Y y ksymoops noksymoops
optcomplete -m arg_required  $cmd o name
optcomplete -f  $cmd O blob
optcomplete -m arg_required  $cmd P
optcomplete -d  $cmd e persist
optcomplete -V mod -f -C "$modules_installed_C  #"  $cmd NONOPT1
optcomplete -C "modinfo \"\$XPC_mod\" 2>&1 | sed -n 's/^parm: *\([^ ]\+\).*/\1/p' #"  $cmd NONOPT

optcomplete -m long,getoptparse  $cmd


cmd=modinfo

optcomplete  $cmd author a
optcomplete  $cmd description d
optcomplete  $cmd n filename
optcomplete -m arg_required  $cmd f format
optcomplete  $cmd p parameters
optcomplete  $cmd h help
optcomplete  $cmd V version
optcomplete -f -C "$modules_installed_C #"   $cmd NONOPT

optcomplete -m long  $cmd

complete -F xpcompfunc  $cmd


cmd=rmmod

optcomplete   $cmd a all
optcomplete   $cmd e persist
optcomplete   $cmd h help
optcomplete   $cmd r stacks
optcomplete   $cmd s syslog
optcomplete   $cmd v verbose
optcomplete   $cmd V version
optcomplete -C "$modules_loaded_C #"   $cmd NONOPT

optcomplete -m long  $cmd

complete -F xpcompfunc  $cmd


cmd=depmod

optcomplete -V all $cmd a A
optcomplete  $cmd e
optcomplete  $cmd n
optcomplete  $cmd s
optcomplete  $cmd v
optcomplete  $cmd q
optcomplete  $cmd V
optcomplete  $cmd r
optcomplete  $cmd u
optcomplete -d  $cmd b
optcomplete -f  $cmd C
optcomplete -f  $cmd F
optcomplete -m rlhint -C "
if test -n \"\$XPC_all\"; then
	find /lib/modules -mindepth 1 -maxdepth 1 -type d -printf '%f\n'
else
	echo -e '\efilename'
	compgen -f -- \"\$XPC_PATTERN\"
fi #"  $cmd NONOPT

optcomplete -m long,getoptparse  $cmd

complete -F xpcompfunc  $cmd


unset cmd ${!xpc_*} modules_loaded_C modules_installed_C
