⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swat.pl

📁 samba-3.0.22.tar.gz 编译smb服务器的源码
💻 PL
字号:
#! /usr/bin/perl5#### This is a simple script written by Herb Lewis @ SGI <herb@samba.org>## for reporting which parameters are supported by loadparm.c but ## not by SWAT I just thought it looked fun and might be of interest to others## --jerry@samba.org#### Here is a little info on the usage and output format so you don't have## to dig through the code to understand what is printed.#### Useage: swat.pl [path_to_loadparm.c]#### The output consists of 4 columns of information##     Option Name, Global Page, Share Page, Printer Page## The section separaters will also be printed (preceded by 16 *) to show## which options are grouped in the various sections.#### If the option name is preceded by an * it means this is a deprecated option.## If the option name is preceded by 5 spaces it means this is an alias for the## previous option.#### Under the Global Page, Share Page, and Printer Page columns there will be## one of 3 entries, BASIC, ADVANCED, or no. "BASIC" indicates this option will## show in the Basic View of that page in SWAT. "ADVANCED" indicates this## option will show in the Advanced View of that page in SWAT. "No" indicates## that this option is not available on that page in SWAT.#### Under the Global Page column, if an entry begins with an * it indicates that## this is actually specified in Samba as a "service parameter" not a "global## parameter" but you can set a default value for this on the Global Page in## SWAT.#### --herb@samba.org$lastone = "nothing";if (@ARGV[0]) {	$filename = @ARGV[0];} else {	$filename = "/usr3/samba20/samba/source/param/loadparm.c";}open (INFILE,$filename) || die "unable to open $filename\n";while (not eof(INFILE)){	$_ = <INFILE>;	last if ( /^static struct parm_struct parm_table/) ;}print "Option Name                     Global Page  Share Page  Printer Page\n";print "---------------------------------------------------------------------";while (not eof(INFILE)){	$_ = <INFILE>;	last if (/};/);	@fields = split(/,/,$_);	next if not ($fields[0] =~ /^.*{"/);	$fields[0] =~ s/.*{"//;	$fields[0] =~ s/"//;	if ($fields[3] eq $lastone) {		print "     $fields[0]\n";		next;	}	$lastone = $fields[3];	$fields[2] =~ s/^\s+//;	$fields[2] =~ s/\s+$//;	$fields[2] =~ s/}.*$//;	$fields[6] =~ s/^\s+//;	$fields[6] =~ s/\s+$//;	$fields[6] =~ s/}.*$//;	if ($fields[2] =~ /P_SEPARATOR/) {		print "\n****************$fields[0]\n";		next;	}	else {		if ($fields[6] =~ /FLAG_DEPRECATED/) {			print "*$fields[0]".' 'x(31-length($fields[0]));		}		else {			print "$fields[0]".' 'x(32-length($fields[0]));		}	}	if (($fields[2] =~ /P_GLOBAL/) || ($fields[6] =~ /FLAG_GLOBAL/)) {		if ($fields[6] =~ /FLAG_GLOBAL/) {			print "*";		}		else {			print " ";		}		if ($fields[6] =~ /FLAG_BASIC/) {			print "BASIC       ";		}		else {			print "ADVANCED    ";		}	}	else {		print " no          ";	}	if ($fields[6] =~ /FLAG_SHARE/) {		if ($fields[6] =~ /FLAG_BASIC/) {			print "BASIC       ";		}		else {			print "ADVANCED    ";		}	}	else {		print "no          ";	}	if ($fields[6] =~ /FLAG_PRINT/) {		if ($fields[6] =~ /FLAG_BASIC/) {			print "BASIC";		}		else {			print "ADVANCED";		}	}	else {		print "no";	}	print "\n";}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -