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

📄 tables.pl

📁 samba最新软件
💻 PL
字号:
#!/usr/bin/perl -w#################################################### package to produce a table of all idl parsers# Copyright tridge@samba.org 2003# Copyright jelmer@samba.org 2005# released under the GNU GPLuse strict;use Getopt::Long;use File::Basename;my $opt_output = 'librpc/gen_ndr/tables.c';my $opt_help  = 0;########################################## display help textsub ShowHelp(){    print "           perl NDR interface table generator           Copyright (C) tridge\@samba.org           Usage: tables.pl [options] <idlfile>           \n";    exit(0);}# main programGetOptions (	    'help|h|?' => \$opt_help, 	    'output=s' => \$opt_output,	    );if ($opt_help) {    ShowHelp();    exit(0);}my $init_fns = "";#################################### extract table entries from 1 filesub process_file($){	my $filename = shift;	open(FILE, $filename) || die "unable to open $filename\n";	my $found = 0;	while (my $line = <FILE>) {		if ($line =~ /extern const struct ndr_interface_table (\w+);/) {			$found = 1;			$init_fns.="\tstatus = ndr_table_register(&$1);\n";			$init_fns.="\tif (NT_STATUS_IS_ERR(status)) return status;\n\n";		}	}	if ($found) {		print "#include \"$filename\"\n";	}	close(FILE);}print <<EOF;/* Automatically generated by tables.pl. DO NOT EDIT */#include "includes.h"#include "librpc/ndr/libndr.h"#include "librpc/ndr/ndr_table.h"EOFprocess_file($_) foreach (@ARGV);print <<EOF;NTSTATUS ndr_table_register_builtin_tables(void){	NTSTATUS status;$init_fns		return NT_STATUS_OK;}EOF

⌨️ 快捷键说明

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