亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? eventlogadm.c

?? samba-3.0.22.tar.gz 編譯smb服務器的源碼
?? C
字號:
/* * Samba Unix/Linux SMB client utility  * Write Eventlog records to a tdb, perform other eventlog related functions * * * Copyright (C) Brian Moran                2005. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#include "includes.h"#undef  DBGC_CLASS#define DBGC_CLASS DBGC_UTIL_EVENTLOGextern int optind;extern char *optarg;int opt_debug = 0;static void usage( char *s ){	printf( "\nUsage: %s [OPTION]\n\n", s );	printf( " -o write <Eventlog Name> \t\t\t\t\tWrites records to eventlog from STDIN\n" );	printf( " -o addsource <EventlogName> <sourcename> <msgfileDLLname> \tAdds the specified source & DLL eventlog registry entry\n" );	printf( "\nMiscellaneous options:\n" );	printf( " -d\t\t\t\t\t\t\t\tturn debug on\n" );	printf( " -h\t\t\t\t\t\t\t\tdisplay help\n\n" );}static void display_eventlog_names( void ){	const char **elogs;	int i;	elogs = lp_eventlog_list(  );	printf( "Active eventlog names (from smb.conf):\n" );	printf( "--------------------------------------\n" );	if ( elogs ) {		for ( i = 0; elogs[i]; i++ ) {			printf( "\t%s\n", elogs[i] );		}	} 	else		printf( "\t<None specified>\n");}int DoAddSourceCommand( int argc, char **argv, BOOL debugflag, char *exename ){	if ( argc < 3 ) {		printf( "need more arguments:\n" );		printf( "-o addsource EventlogName SourceName /path/to/EventMessageFile.dll\n" );		return -1;	}	/* must open the registry before we access it */	if ( !regdb_init(  ) ) {		printf( "Can't open the registry.\n" );		return -1;	}	if ( !eventlog_add_source( argv[0], argv[1], argv[2] ) )		return -2;	return 0;}int DoWriteCommand( int argc, char **argv, BOOL debugflag, char *exename ){	FILE *f1;	char *argfname;	ELOG_TDB *etdb;	/* fixed constants are bad bad bad  */	pstring linein;	BOOL is_eor;	Eventlog_entry ee;	int pret, rcnum;	f1 = stdin;	if ( !f1 ) {		printf( "Can't open STDIN\n" );		return -1;	}	if ( debugflag ) {		printf( "Starting write for eventlog [%s]\n", argv[0] );		display_eventlog_names(  );	}	argfname = argv[0];	if ( !( etdb = elog_open_tdb( argfname, False ) ) ) {		printf( "can't open the eventlog TDB (%s)\n", argfname );		return -1;	}	ZERO_STRUCT( ee );	/* MUST initialize between records */	while ( !feof( f1 ) ) {		fgets( linein, sizeof( linein ) - 1, f1 );		linein[strlen( linein ) - 1] = 0;	/* whack the line delimiter */		if ( debugflag )			printf( "Read line [%s]\n", linein );		is_eor = False;		pret = parse_logentry( ( char * ) &linein, &ee, &is_eor );		/* should we do something with the return code? */		if ( is_eor ) {			fixup_eventlog_entry( &ee );			if ( opt_debug )				printf( "record number [%d], tg [%d] , tw [%d]\n", ee.record.record_number, ee.record.time_generated, ee.record.time_written );			if ( ee.record.time_generated != 0 ) {				/* printf("Writing to the event log\n"); */				rcnum = write_eventlog_tdb( ELOG_TDB_CTX(etdb), &ee );				if ( !rcnum ) {					printf( "Can't write to the event log\n" );				} else {					if ( opt_debug )						printf( "Wrote record %d\n",							rcnum );				}			} else {				if ( opt_debug )					printf( "<null record>\n" );			}			ZERO_STRUCT( ee );	/* MUST initialize between records */		}	}	elog_close_tdb( etdb , False );	return 0;}/* would be nice to use the popT stuff here, however doing so forces us to drag in a lot of other infrastructure */int main( int argc, char *argv[] ){	int opt, rc;	char *exename;	char *srcname, *eventlogname;	fstring opname;	load_case_tables();	opt_debug = 0;		/* todo set this from getopts */	lp_load( dyn_CONFIGFILE, True, False, False );	exename = argv[0];	srcname = NULL;	/* default */	fstrcpy( opname, "write" );	/* the default */#if 0				/* TESTING CODE */	eventlog_add_source( "System", "TestSourceX", "SomeTestPathX" );#endif	while ( ( opt = getopt( argc, argv, "dho:" ) ) != EOF ) {		switch ( opt ) {		case 'o':			fstrcpy( opname, optarg );			break;		case 'h':			usage( argv[0] );			display_eventlog_names(  );			exit( 0 );			break;		case 'd':			opt_debug = 1;			break;		}	}	argc -= optind;	argv += optind;	if ( argc < 1 ) {		printf( "\nNot enough arguments!\n" );		usage( exename );		exit( 1 );	}	/*  note that the separate command types should call usage if they need to... */	eventlogname = *argv;	while ( 1 ) {		if ( !StrCaseCmp( opname, "addsource" ) ) {			rc = DoAddSourceCommand( argc, argv, opt_debug,						 exename );			break;		}		if ( !StrCaseCmp( opname, "write" ) ) {			rc = DoWriteCommand( argc, argv, opt_debug, exename );			break;		}		printf( "unknown command [%s]\n", opname );		usage( exename );		exit( 1 );		break;	}	return rc;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产无一区二区| 精品国产亚洲在线| 秋霞av亚洲一区二区三| 国产日产精品1区| 在线观看视频一区二区欧美日韩| 久久超碰97人人做人人爱| 亚洲精品国产成人久久av盗摄| 欧美一三区三区四区免费在线看 | 一区二区三区在线观看欧美| 欧美成人一区二区三区片免费| 在线观看网站黄不卡| 成人一区二区三区中文字幕| 男女视频一区二区| 亚洲精品视频免费观看| 中文字幕亚洲区| 久久免费国产精品| 日韩一区二区在线免费观看| 一本色道a无线码一区v| 成人一区二区在线观看| 黄色日韩三级电影| 日韩中文字幕亚洲一区二区va在线 | 亚洲欧美色一区| 国产精品福利一区| 国产视频亚洲色图| 精品国产乱码久久久久久影片| 欧美日韩激情一区| 欧美日韩免费电影| 欧美性大战久久久久久久 | 欧美日韩一区二区在线观看| 97se亚洲国产综合自在线不卡| 国产高清精品网站| 国模一区二区三区白浆| 国产在线视频精品一区| 九九九久久久精品| 激情亚洲综合在线| 精品综合免费视频观看| 极品美女销魂一区二区三区免费| 麻豆免费看一区二区三区| 视频在线观看91| 天堂久久久久va久久久久| 日韩av成人高清| 日本va欧美va瓶| 欧美aaa在线| 九九视频精品免费| 国精产品一区一区三区mba视频 | 99re成人精品视频| 一本色道久久综合亚洲精品按摩| 91在线无精精品入口| 91亚洲精品一区二区乱码| 日韩一级视频免费观看在线| 91麻豆精品91久久久久久清纯| 欧美日韩国产欧美日美国产精品| 欧美日韩一区二区三区四区五区| 欧美日韩亚洲综合在线| 日韩欧美一二区| 久久久亚洲综合| 中文字幕制服丝袜成人av| 亚洲免费观看高清完整版在线观看 | 日本中文在线一区| 美女视频免费一区| 成人av免费观看| 在线一区二区视频| 51精品久久久久久久蜜臀| 精品国产成人系列| 国产精品视频麻豆| 亚洲福中文字幕伊人影院| 欧美aaaaa成人免费观看视频| 国产在线看一区| 91丨porny丨户外露出| 欧美影院一区二区| 2020国产精品| 亚洲精品国产一区二区精华液| 午夜精品免费在线| 国产一区在线观看视频| gogo大胆日本视频一区| 欧美日韩一区二区三区不卡| 久久女同互慰一区二区三区| 中文字幕日韩一区二区| 日韩精品91亚洲二区在线观看| 国模冰冰炮一区二区| 在线国产电影不卡| 久久久91精品国产一区二区精品 | 视频在线观看国产精品| 国产夫妻精品视频| 欧亚洲嫩模精品一区三区| 日韩免费视频一区二区| 亚洲免费资源在线播放| 久久精品国产色蜜蜜麻豆| 92国产精品观看| 欧美成人精品高清在线播放| 亚洲视频精选在线| 久久不见久久见免费视频1| 色成人在线视频| 久久久五月婷婷| 无吗不卡中文字幕| 成人国产精品免费| 91精品福利在线一区二区三区| 成人免费小视频| 精品一区二区三区久久久| 91福利资源站| 国产精品毛片高清在线完整版| 麻豆精品一区二区| 欧美在线一区二区| 中文字幕亚洲一区二区va在线| 国精产品一区一区三区mba桃花 | 亚洲日本欧美天堂| 国产精品一区一区| 日韩欧美卡一卡二| 亚洲综合男人的天堂| av毛片久久久久**hd| 久久人人97超碰com| 日韩—二三区免费观看av| 久久久精品天堂| 日本不卡一区二区| 欧美图片一区二区三区| 中文字幕日韩一区| av一二三不卡影片| 国产午夜精品一区二区三区四区| 免费黄网站欧美| 91精品国产91久久久久久最新毛片 | 香港成人在线视频| 一本大道久久精品懂色aⅴ| 国产精品久久久久aaaa樱花| 国产成人免费视频网站 | 岛国精品在线观看| 精品粉嫩aⅴ一区二区三区四区| 天天综合色天天综合色h| 色婷婷综合久久久久中文| 中文字幕一区视频| 成人动漫一区二区| 国产精品日韩精品欧美在线| 99热99精品| 中文字幕一区三区| 97久久超碰国产精品| 国产精品国产三级国产普通话99 | 欧美色图一区二区三区| 一区二区三区在线免费视频 | 精品国产精品一区二区夜夜嗨| 久久国产人妖系列| 日韩欧美成人一区二区| 精品一区二区三区欧美| 久久影院视频免费| 高清在线观看日韩| 亚洲丝袜精品丝袜在线| 日本高清不卡aⅴ免费网站| 亚洲精品国产a| 欧美日韩国产色站一区二区三区| 免费在线成人网| 久久嫩草精品久久久久| 国产99精品视频| 成人免费一区二区三区视频 | 欧美日韩电影一区| 日本欧美一区二区| 亚洲精品在线三区| 成人精品一区二区三区中文字幕| 国产精品久久夜| 欧美日韩二区三区| 韩国女主播一区二区三区| 中文字幕不卡的av| 欧美体内she精高潮| 美女视频黄 久久| 亚洲国产高清不卡| 91久久免费观看| 国产精品久久久久影院| 在线观看国产日韩| 久久精品72免费观看| 中文字幕乱码久久午夜不卡| 色婷婷国产精品| 麻豆国产91在线播放| 久久精品欧美日韩精品| 欧洲av在线精品| 国产精品自拍一区| 一区二区三区在线播| 日韩欧美国产午夜精品| eeuss鲁一区二区三区| 青青草国产精品97视觉盛宴| 国产欧美久久久精品影院| 欧美亚洲精品一区| 国产精品综合一区二区三区| 亚洲综合色丁香婷婷六月图片| 亚洲精品国产精品乱码不99| www国产成人| 色综合久久中文综合久久97| 捆绑调教美女网站视频一区| 一区二区中文视频| 精品久久人人做人人爱| 97se亚洲国产综合自在线| 久热成人在线视频| 一区二区三区毛片| 26uuu国产电影一区二区| 欧美亚洲国产bt| 国产成a人无v码亚洲福利| 首页亚洲欧美制服丝腿| 日韩一区在线看| 久久免费偷拍视频| 欧美精品在线观看播放| 99国产精品久久久久| 国模大尺度一区二区三区| 午夜视频一区在线观看| 亚洲欧美欧美一区二区三区|