mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-30 17:50:58 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			93 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef smbcontrol smbclient nmblookup smbstatus
 | |
| 
 | |
| local expl msgs args
 | |
| 
 | |
| case $service in
 | |
|   smbcontrol)
 | |
|     case $CURRENT in
 | |
|       3)
 | |
| 	msgs=( debug ping profile debuglevel profilelevel )
 | |
| 	case $words[CURRENT-1] in
 | |
| 	  nmbd) msgs=( $msgs force-election ) ;;
 | |
| 	  smbd) msgs=( $msgs printer-notify ) ;;
 | |
| 	  -i) return 1 ;;
 | |
| 	esac
 | |
|         _wanted message-type expl 'message types' compadd -a msgs
 | |
|       ;;
 | |
|       4)
 | |
|         case $words[CURRENT-1] in
 | |
| 	  profile)
 | |
| 	    _wanted parameter expl 'parameter' compadd on off flush count
 | |
| 	  ;;
 | |
| 	  debug) _message -e levels 'debug level' ;;
 | |
| 	  ping) _message -e numbers 'number of ping messages' ;;
 | |
| 	esac
 | |
|       ;;
 | |
|       *)
 | |
|         _arguments \
 | |
|           '-i[run interactively]' \
 | |
|           ':destination:(nmbd smbd)'
 | |
|       ;;
 | |
|     esac
 | |
|   ;;
 | |
|   smbclient)
 | |
|     args=(
 | |
|       '(-N -A)2:password'
 | |
|       '(2)-s+[specify location of smb.conf]:smb.conf location:_files'
 | |
|       '(2)-O+[specify socket options]:socket options'
 | |
|       '(2)-R+[specify name resolution order]:name resolution order:_values -s " " "name resolution order" lmhosts host wins bcast'
 | |
|       '(2 -L -D -T)-M+[send message]:host:_hosts'
 | |
|       '(2)-i+[specify NetBIOS scope]:scope'
 | |
|       '(2)-N[suppress password prompt]'
 | |
|       '(2)-n+[specify local NetBIOS name]:local machine name'
 | |
|       '(2)-d+[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)'
 | |
|       '(2)-p+[specify tcp port]:tcp port'
 | |
|       '(2)-l+[specify base log filename]:base log filename'
 | |
|       '(2)-I+[specify IP address of server]:IP address'
 | |
|       '(2)-E[output messages to stderr]'
 | |
|       '(2)-U+[specify username]:username:_users'
 | |
|       '(2)-A+[specify file containing username/password]:file:_files'
 | |
|       '(2 -M -D -T)-L+[list services on server]:host:_hosts'
 | |
|       '(2)-t+[specify terminal code]:terminal code'
 | |
|       '(2)-b+[specify buffersize]:transmit/send buffer size (bytes)'
 | |
|       '(2)-W+[specify workgroup]:workgroup'
 | |
|       '(2 -M -L)-T+[specify tar options]:tar options'
 | |
|       '(2 -M -L)-D+[initial directory]:initial directory'
 | |
|       '(2)-c[specify commands]:command string'
 | |
|     )
 | |
|     if (( CURRENT == 2 )); then
 | |
|       args=( $args 
 | |
|         '1:service name:_hosts -P // -S /'
 | |
|         '(-s -O -R -M -i -N -n -d -p -l -I -E -U -A -L -t -b -W -T -D -c)-h[display usage information]'
 | |
|       )
 | |
|     fi
 | |
|     _arguments -s "$args[@]"
 | |
|   ;;
 | |
|   nmblookup)
 | |
|     _arguments -s -A "-*" \
 | |
|       '(-h)-R[set recursion desired in packet]' \
 | |
|       '(-h)-M[search for a master browser]' \
 | |
|       '(-h)-S[lookup node status as well]' \
 | |
|       '(-h)-T[perform reverse DNS on IP addresses]' \
 | |
|       '(-h)-r[use root port 137]' \
 | |
|       '(-h)-A[query node status on IP address]' \
 | |
|       '(-R -M -S -T -r -A -B -U -d -s -i *)-h[print help message]' \
 | |
|       '(-h)-B+[specify broadcast address]:broadcast address' \
 | |
|       '(-h)-U+[specify unicast address]:unicast address' \
 | |
|       '(-h)-d+[specify debug level]:debug level:(0 1 2 3 4 5 6 7 8 9 10)' \
 | |
|       '(-h)-s+[specify location of smb.conf]:smb.conf location:_files' \
 | |
|       '(-h)-i+[specify NetBIOS scope]:scope' \
 | |
|       '(-h)*:NetBIOS name:_hosts'
 | |
|   ;;
 | |
|   smbstatus)
 | |
|     args='(-b -d -L -p -S)'
 | |
|     _arguments -s \
 | |
|       "$args-b[brief output]" \
 | |
|       "$args-d[detailed output]" \
 | |
|       "$args-L[list only locks]" \
 | |
|       "$args-p[list smbd(8) processes]" \
 | |
|       "$args-S[list only shares]" \
 | |
|       '-s+[specify location of smb.conf]:smb.conf location:_files' \
 | |
|       '-u+[specify user to restrict information to]:user:_users'
 | |
|    ;;
 | |
| esac
 |