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

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

?? main.c

?? 基于LINUX內核驅動的開發
?? C
?? 第 1 頁 / 共 2 頁
字號:
			sleep(persist);		reconnect = 1;		if (cache.valid > 0) {			/* Use cached bdaddr */			r = create_connection(cache.dst, &cache.bdaddr);			if (r < 0) {				terminate = 1;				break;			}			continue;		}		syslog(LOG_INFO, "Inquiring");		/* FIXME: Should we use non general LAP here ? */		ii = NULL;		n  = hci_inquiry(src_dev, search_duration, 0, NULL, &ii, 0);		if (n < 0) {			syslog(LOG_ERR, "Inquiry failed. %s(%d)",						strerror(errno), errno);			continue;		}		for (i = 0; i < n; i++) {			char dst[40];			ba2str(&ii[i].bdaddr, dst);			if (use_sdp) {				syslog(LOG_INFO, "Searching for %s on %s", 						bnep_svc2str(service), dst);				if (bnep_sdp_search(&src_addr, &ii[i].bdaddr, service) <= 0)					continue;			}			r = create_connection(dst, &ii[i].bdaddr);			if (r < 0) {				terminate = 1;				break;			}		}		bt_free(ii);	} while (!terminate && persist);	return r;}static void do_show(void){	bnep_show_connections();}static void do_kill(char *dst){	if (dst)		bnep_kill_connection((void *) strtoba(dst));	else		bnep_kill_all_connections();}static void sig_hup(int sig){	return;}static void sig_term(int sig){	terminate = 1;}static int write_pidfile(void){	int fd;	FILE *f;	pid_t pid;	do {		fd = open(pidfile, O_WRONLY|O_TRUNC|O_CREAT|O_EXCL, 0644);		if (fd == -1) {			/* Try to open the file for read. */			fd = open(pidfile, O_RDONLY);			if (fd < 0) {				syslog(LOG_ERR, "Could not read old pidfile: %s(%d)",							strerror(errno), errno);				return -1;			}						/* We're already running; send a SIGHUP (we presume that they			 * are calling ifup for a reason, so they probably want to			 * rescan) and then exit cleanly and let things go on in the			 * background.  Muck with the filename so that we don't go			 * deleting the pid file for the already-running instance.			 */			f = fdopen(fd, "r");			if (!f) {				syslog(LOG_ERR, "Could not fdopen old pidfile: %s(%d)",							strerror(errno), errno);				close(fd);				return -1;			}			pid = 0;			if (fscanf(f, "%d", &pid) != 1)				pid = 0;			fclose(f);			if (pid) {				/* Try to kill it. */				if (kill(pid, SIGHUP) == -1) {					/* No such pid; remove the bogus pid file. */					syslog(LOG_INFO, "Removing stale pidfile");					unlink(pidfile);					fd = -1;				} else {					/* Got it.  Don't mess with the pid file on					 * our way out. */					syslog(LOG_INFO, "Signalling existing process %d and exiting\n", pid);					pidfile = NULL;					return -1;				}			}		}	} while(fd == -1);	f = fdopen(fd, "w");	if (!f) {		syslog(LOG_ERR, "Could not fdopen new pidfile: %s(%d)",						strerror(errno), errno);		close(fd);		unlink(pidfile);		return -1;	}	fprintf(f, "%d\n", getpid());	fclose(f);	return 0;}static struct option main_lopts[] = {	{ "help",     0, 0, 'h' },	{ "listen",   0, 0, 's' },	{ "connect",  1, 0, 'c' },	{ "search",   2, 0, 'Q' },	{ "kill",     1, 0, 'k' },	{ "killall",  0, 0, 'K' },	{ "role",     1, 0, 'r' },	{ "service",  1, 0, 'd' },	{ "ethernet", 1, 0, 'e' },	{ "device",   1, 0, 'i' },	{ "nosdp",    0, 0, 'D' },	{ "list",     0, 0, 'l' },	{ "show",     0, 0, 'l' },	{ "nodetach", 0, 0, 'n' },	{ "persist",  2, 0, 'p' },	{ "auth",     0, 0, 'A' },	{ "encrypt",  0, 0, 'E' },	{ "secure",   0, 0, 'S' },	{ "master",   0, 0, 'M' },	{ "cache",    0, 0, 'C' },	{ "pidfile",  1, 0, 'P' },	{ "devup",    1, 0, 'u' },	{ "devdown",  1, 0, 'o' },	{ "autozap",  0, 0, 'z' },	{ 0, 0, 0, 0 }};static char main_sopts[] = "hsc:k:Kr:d:e:i:lnp::DQ::AESMC::P:u:o:z";static char main_help[] = 	"Bluetooth PAN daemon version " VERSION " \n"	"Usage:\n"	"\tpand <options>\n"	"Options:\n"	"\t--show --list -l          Show active PAN connections\n"	"\t--listen -s               Listen for PAN connections\n"	"\t--connect -c <bdaddr>     Create PAN connection\n"	"\t--autozap -z              Disconnect automatically on exit\n"	"\t--search -Q[duration]     Search and connect\n"	"\t--kill -k <bdaddr>        Kill PAN connection\n"	"\t--killall -K              Kill all PAN connections\n"	"\t--role -r <role>          Local PAN role (PANU, NAP, GN)\n"	"\t--service -d <role>       Remote PAN service (PANU, NAP, GN)\n"	"\t--ethernet -e <name>      Network interface name\n"	"\t--device -i <bdaddr>      Source bdaddr\n"	"\t--nosdp -D                Disable SDP\n"	"\t--auth -A                 Enable authentication\n"	"\t--encrypt -E              Enable encryption\n"	"\t--secure -S               Secure connection\n"	"\t--master -M               Become the master of a piconet\n"	"\t--nodetach -n             Do not become a daemon\n"	"\t--persist -p[interval]    Persist mode\n"	"\t--cache -C[valid]         Cache addresses\n"	"\t--pidfile -P <pidfile>    Create PID file\n"	"\t--devup -u <script>       Script to run when interface comes up\n"	"\t--devdown -o <script>     Script to run when interface comes down\n";int main(int argc, char *argv[]){	char *dst = NULL, *src = NULL;	struct sigaction sa;	int mode = NONE;	int opt;	while ((opt=getopt_long(argc, argv, main_sopts, main_lopts, NULL)) != -1) {		switch(opt) {		case 'l':			mode = SHOW;			detach = 0;			break;		case 's':			mode = LISTEN;			break;		case 'c':			mode = CONNECT;			dst  = strdup(optarg);			break;		case 'Q':			mode = CONNECT;			if (optarg)				search_duration = atoi(optarg);			break;		case 'k':			mode = KILL;			detach = 0;			dst  = strdup(optarg);			break;		case 'K':			mode = KILL;			detach = 0;			break;		case 'i':			src = strdup(optarg);			break;		case 'r':			bnep_str2svc(optarg, &role);			break;		case 'd':			bnep_str2svc(optarg, &service);			break;		case 'D':			use_sdp = 0;			break;		case 'A':			link_mode |= L2CAP_LM_AUTH;			break;		case 'E':			link_mode |= L2CAP_LM_ENCRYPT;			break;		case 'S':			link_mode |= L2CAP_LM_SECURE;			break;		case 'M':			link_mode |= L2CAP_LM_MASTER;			break;		case 'e':			strncpy(netdev, optarg, 16);			netdev[15] = '\0';			break;		case 'n':			detach = 0;			break;		case 'p':			if (optarg)				persist = atoi(optarg);			else				persist = 5;			break;		case 'C':			if (optarg)				use_cache = atoi(optarg);			else				use_cache = 2;			break;		case 'P':			pidfile = strdup(optarg);			break;		case 'u':			devupcmd = strdup(optarg);			break;		case 'o':			devdowncmd = strdup(optarg);			break;		case 'z':			cleanup = 1;			break;		case 'h':		default:			printf(main_help);			exit(0);		}	}	argc -= optind;	argv += optind;	optind = 0;	if (bnep_init())		return -1;	/* Check non daemon modes first */	switch (mode) {	case SHOW:		do_show();		return 0;	case KILL:		do_kill(dst);		return 0;	case NONE:		printf(main_help);		return 0;	}	/* Initialize signals */	memset(&sa, 0, sizeof(sa));	sa.sa_flags   = SA_NOCLDSTOP;	sa.sa_handler = SIG_IGN;	sigaction(SIGCHLD, &sa, NULL);	sigaction(SIGPIPE, &sa, NULL);	sa.sa_handler = sig_hup;	sigaction(SIGHUP, &sa, NULL);	sa.sa_handler = sig_term;	sigaction(SIGTERM, &sa, NULL);	sigaction(SIGINT,  &sa, NULL);	if (detach && daemon(0, 0)) {		perror("Can't start daemon");		exit(1);	}	openlog("pand", LOG_PID | LOG_NDELAY | LOG_PERROR, LOG_DAEMON);	syslog(LOG_INFO, "Bluetooth PAN daemon version %s", VERSION);	if (src) {		src_dev = hci_devid(src);		if (src_dev < 0 || hci_devba(src_dev, &src_addr) < 0) {			syslog(LOG_ERR, "Invalid source. %s(%d)",						strerror(errno), errno);			return -1;		}	}	if (pidfile && write_pidfile())		return -1;	if (dst) {		/* Disable cache invalidation */		use_cache = 0;		strncpy(cache.dst, dst, sizeof(cache.dst) - 1);		str2ba(dst, &cache.bdaddr);		cache.valid = 1;		free(dst);	}	switch (mode) {	case CONNECT:		do_connect();		break;	case LISTEN:		do_listen();		break;	}	if (pidfile)		unlink(pidfile);	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码一区二区三区在线观看| 日日欢夜夜爽一区| 久久欧美一区二区| 日韩丝袜情趣美女图片| 91精品综合久久久久久| 在线不卡免费欧美| 欧美精品日韩精品| 3d动漫精品啪啪| 精品少妇一区二区三区在线视频| 日韩亚洲欧美在线| 日韩欧美另类在线| 久久一夜天堂av一区二区三区| 精品处破学生在线二十三| 精品欧美一区二区久久| 久久综合给合久久狠狠狠97色69| 久久伊人蜜桃av一区二区| 欧美激情资源网| 亚洲免费视频成人| 丝袜美腿亚洲一区二区图片| 视频在线观看一区二区三区| 日本一道高清亚洲日美韩| 久久国产福利国产秒拍| 国产麻豆日韩欧美久久| www.亚洲人| 一本色道久久综合亚洲91| 色老汉一区二区三区| 欧美三区在线视频| 日韩欧美你懂的| 国产精品入口麻豆九色| 亚洲色欲色欲www| 亚洲1区2区3区视频| 美女视频黄 久久| 国产成人小视频| 色久综合一二码| 91精品国产美女浴室洗澡无遮挡| 精品福利一二区| 国产精品妹子av| 午夜私人影院久久久久| 精品一区精品二区高清| 成人在线视频一区| 欧美日韩一级视频| 精品国产乱码久久久久久免费| 欧美经典一区二区三区| 亚洲尤物在线视频观看| 美日韩一区二区| k8久久久一区二区三区 | 99国产精品久久久久久久久久| 一本大道av一区二区在线播放| 欧美一区二区三区在| 国产性天天综合网| 亚洲风情在线资源站| 精品一区二区三区影院在线午夜| aa级大片欧美| 日韩精品一区二区三区中文不卡| 国产精品护士白丝一区av| 日韩精品国产欧美| 99精品视频在线观看免费| 欧美一区二区三区免费观看视频| 久久免费午夜影院| 性做久久久久久| www.成人网.com| 久久婷婷国产综合国色天香| 亚洲一区二区三区在线| 国产成人8x视频一区二区| 欧美日韩一级视频| 国产精品久久久久久久久果冻传媒| 日韩成人伦理电影在线观看| 99re在线精品| 久久久综合视频| 日韩黄色小视频| 色综合久久久久综合| 久久久亚洲综合| 免费在线观看视频一区| 色综合久久88色综合天天免费| 337p粉嫩大胆噜噜噜噜噜91av| 午夜精品123| www.视频一区| 国产视频一区在线播放| 日韩电影在线观看电影| 91麻豆产精品久久久久久| 久久久久九九视频| 免费在线观看日韩欧美| 欧美三日本三级三级在线播放| 亚洲情趣在线观看| 成人中文字幕合集| 久久麻豆一区二区| 国内成+人亚洲+欧美+综合在线| 欧美日韩黄色影视| 一区二区三区日韩精品视频| 夫妻av一区二区| 久久久久久久久久看片| 理论电影国产精品| 日韩欧美中文一区二区| 日韩黄色一级片| 777午夜精品视频在线播放| 亚洲国产成人av| 欧美在线免费观看亚洲| 亚洲日本丝袜连裤袜办公室| 9l国产精品久久久久麻豆| 欧美国产欧美综合| 国产成人在线观看免费网站| 久久嫩草精品久久久精品| 九九精品视频在线看| 欧美一区二区久久| 久久精品国产免费| 欧美电影免费观看高清完整版| 日精品一区二区| 日韩视频在线一区二区| 蜜桃传媒麻豆第一区在线观看| 91精品中文字幕一区二区三区| 日本大胆欧美人术艺术动态| 欧美一级二级三级蜜桃| 另类小说色综合网站| 久久你懂得1024| 粉嫩av一区二区三区| 亚洲色图清纯唯美| 色噜噜狠狠成人中文综合| 亚洲一区二区中文在线| 宅男在线国产精品| 久久丁香综合五月国产三级网站| 亚洲精品一区二区三区四区高清 | 一本色道久久综合亚洲精品按摩| 亚洲男帅同性gay1069| 在线观看精品一区| 日韩av电影免费观看高清完整版在线观看 | 欧美日韩久久一区二区| 日韩高清在线一区| 精品成人一区二区| 成人午夜视频福利| 亚洲精品日日夜夜| 69久久夜色精品国产69蝌蚪网| 奇米影视一区二区三区| 精品成人在线观看| 不卡大黄网站免费看| 亚洲一区欧美一区| 久久色在线观看| 99re视频精品| 日本va欧美va精品发布| 久久精品一区二区三区不卡 | 99精品黄色片免费大全| 婷婷丁香激情综合| 久久亚洲私人国产精品va媚药| 不卡的av在线| 日本欧美久久久久免费播放网| 欧美极品美女视频| 欧美日韩一级黄| 丁香啪啪综合成人亚洲小说 | 99r国产精品| 日本在线观看不卡视频| 国产精品美女久久久久久久久| 欧美日韩一区在线观看| 国产精品亚洲人在线观看| 亚洲精品亚洲人成人网 | 五月婷婷激情综合网| 久久香蕉国产线看观看99| 色哟哟精品一区| 韩国一区二区在线观看| 亚洲欧美激情在线| 欧美哺乳videos| 91福利国产成人精品照片| 韩国精品在线观看| 亚洲电影中文字幕在线观看| 久久久亚洲精品石原莉奈| 欧美色男人天堂| 成人99免费视频| 日本不卡中文字幕| 亚洲六月丁香色婷婷综合久久| 精品国一区二区三区| 欧美亚洲免费在线一区| 国产一区二区三区国产| 亚洲成人精品一区| 日韩伦理电影网| 久久久久国产精品麻豆ai换脸| 欧美日韩国产在线观看| 成人精品国产一区二区4080| 青青青伊人色综合久久| 亚洲欧美日韩一区二区| 国产无人区一区二区三区| 日韩一区二区影院| 欧美体内she精视频| av成人免费在线| 国产一区二区三区电影在线观看 | 九色porny丨国产精品| 午夜精品久久久久久久| 亚洲色图清纯唯美| 一区免费观看视频| 国产免费久久精品| 精品伦理精品一区| 日韩一级二级三级| 日韩亚洲欧美综合| 91精品国产福利在线观看| 欧美体内she精高潮| 一本大道久久a久久综合婷婷| 成人激情开心网| 国产成人丝袜美腿| 国产福利一区在线观看| 国产一区二区三区av电影 | 精品国产乱码久久久久久图片| 91精品国产手机| 666欧美在线视频|