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

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

?? udpmsg.c

?? 飛鴿傳書for linux X圖形界面下源碼
?? C
字號:
/* * brocas.c - IP Messenger 1.20 protocol * Copyright (C) 1996 by candy */char rcsid_brocas[] = "$Id: brocas.c,v 3.1 1996/11/21 13:28:23 candy Exp candy $";#include <ctype.h>#include <stdarg.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#include <unistd.h>#include <sys/time.h> /* setitimer() *//* includes below are order dependent */#include <sys/param.h> /* htons() */#include <sys/types.h> /* socket() */#include <sys/socket.h> /* socket() */#include <netinet/in.h> /* inet_addr() INADDR_ANY */#include <arpa/inet.h> /* inet_addr() */#include <netdb.h> /* gethostbyname() */#ifdef SOCKS#include <socks.h>#endif#include "xipmsg.h"#include "kanji.h"#include "brocas.h"#include "dyna.h"#if defined BSD4_4#define SENDTO(s,msg,len,flags,to,tolen) sendto(s,msg,len,flags,to,tolen)#define SETSOCKOPT(s,level,optname,optval,optlen) setsockopt(s,level,optname,optval,optlen)#else#define SENDTO(s,msg,len,flags,to,tolen) sendto(s,msg,len,flags,(struct sockaddr *)to,tolen)#define SETSOCKOPT(s,level,optname,optval,optlen) setsockopt(s,level,optname,(char *)optval,optlen)#endifstatic int debug_flag;static int bro_socket;static int bro_port;static char *bro_user;static const char *bro_host;static int verbose;static char *myname;#define lan_width 32#define lan_height 32static unsigned char lan_bits[] = { 0xe0,0x00,0x00,0x1f,0x50,0x07,0xc0,0x35,0xb0,0xfa,0xbf,0x2a,0x58,0x55,0x55, 0x35,0xa8,0xaa,0xaa,0x2a,0x58,0x55,0x55,0x55,0xa8,0xaa,0xaa,0x6a,0x58,0x55, 0x55,0x55,0xa8,0xaa,0xaa,0x6a,0x58,0x01,0x55,0x50,0xa8,0x00,0x08,0x60,0x58, 0x18,0x00,0x46,0x28,0x18,0x00,0x46,0x50,0x00,0x00,0x40,0x30,0x30,0x00,0x46, 0x30,0x78,0x00,0x4f,0x30,0x78,0x00,0x4f,0x20,0x30,0x00,0x46,0x20,0x00,0x00, 0x40,0x58,0x00,0x00,0x40,0x6c,0x00,0x00,0x40,0xd6,0x00,0x60,0x40,0xab,0x00, 0xf0,0x40,0x55,0x01,0x60,0x20,0xaa,0x02,0x00,0x20,0x55,0x05,0x00,0x30,0xaa, 0x1a,0x00,0x38,0x55,0x61,0xf8,0x6f,0xaa,0x80,0x27,0x55,0x55,0x00,0x04,0x6b, 0xaa,0x00,0x88,0xd0,0x55,0x00,0x70,0xa8};static unsigned char *icon = lan_bits;static unsigned longatoaddr(const char *host){	unsigned long ret = INADDR_NONE;	struct hostent *he = gethostbyname(host);	if (he == NULL) {		fprintf(stderr, "%s: %s: unknown host.\n", myname, host);	}	if (he != NULL) {		if (he->h_addrtype == AF_INET && he->h_length <= sizeof(ret)) {			memcpy(&ret, he->h_addr_list[0], he->h_length);		}	}	return ret;}/* atoaddr */static size_tiov_total(const struct iov_t *v){	size_t total = 0;	while (v != NULL) {		total += v->iov_len;		v = v->iov_next;	}/* while */	return total;}/* iov_total */static void *iov_gather(void *buf_, const struct iov_t *v){	char *buf = buf_;	while (v != NULL) {		memcpy(buf, v->iov_base, v->iov_len);		buf += v->iov_len;		v = v->iov_next;	}/* while */	return buf_;}/* iov_gather */static ssize_tsendtov(int so, int flags, const struct sockaddr *to, int tolen, const struct iov_t *iov){	ssize_t err = -1;	size_t total = iov_total(iov);	char *buf = malloc(total);	if (buf != NULL) {		iov_gather(buf, iov);		err = SENDTO(so, buf, total, flags, to, tolen);		if (err < 0)			perror("sendto");		free(buf);	}	return err;}/* sendtov */static unsigned long msg_number;static intsend_msgv(int so, const union saddr *to, unsigned long command, int retryflag, const struct iov_t *iov){	char lbuf[2 + 12 + USERNAME_MAX + 1 + HOSTNAME_MAX + 1 + 12];	int err = -1, flags = 0;	struct iov_t v;	sprintf(lbuf, "1:%ld:%.*s:%.*s:%lu:", msg_number++, USERNAME_MAX, bro_user, HOSTNAME_MAX, bro_host, command);	SET_IOV(&v, (void *)iov, lbuf, strlen(lbuf));	if (retryflag) {		err = sendtov(so, flags, &to->sa, sizeof(to->sin), &v);	}	return err;}/* send_msgv *//* * ネットワ〖クの判峽 */struct dynet_t STRUCT_DYNA(union saddr);struct dynet_t dynet;static intnetwork_add(const char *broad){	unsigned long addr = atoaddr(broad);	if (addr != INADDR_NONE) {		union saddr *net;		net = DYNA_NEXT(&dynet);		if (net != NULL) {			memset(net, '\0', sizeof(*net));			net->sin.sin_family = AF_INET;			net->sin.sin_addr.s_addr = atoaddr(broad);			net->sin.sin_port = htons(bro_port);		}	}	return 0;}/* network_add */static intnetwork_bro_send(int so, const char *msg){	union saddr *sin = DYNA_BUF(&dynet);	if (sin != NULL) {		char *sjis = malloc(strlen(msg) + 1);		if (sjis != NULL) {			unsigned long cmd = IPMSG_SENDMSG | IPMSG_SENDCHECKOPT;			int retry = 1;			int i, err;			struct iov_t v[2];			stretos(sjis, msg);			SET_IOV(&v[0], &v[1], sjis, strlen(sjis) + 1);			SET_IOV(&v[1], NULL, (void *)icon, 128);			for (i = 0; i < DYNA_USED(&dynet); i++) {				err = send_msgv(so, sin, cmd, retry, v);				sin++;			}/* for */			free(sjis);		}	}	return 0;}/* network_bro_send *//* * */intbro_init(int port, const char *user, const char *host, const char * const *bros){	int so = socket(PF_INET, SOCK_DGRAM, 0);	DYNA_IZ(&dynet, 32);	bro_port = port;	bro_user = malloc(strlen(user) * 2 + 1);	if (bro_user != NULL)		stretos(bro_user, user);	else		bro_user = (char *)user;	bro_host = host;	msg_number = time(NULL);	while (*bros != NULL)		network_add(*bros++);	if (so >= 0) {		int optval = 1;		int err = SETSOCKOPT(so, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(optval));		if (err < 0) {			close(so);			so = -1;		}	}	bro_socket = so;	return so;}/* bro_init */static intfnain(int so, FILE *fp){	char buf[5120];	size_t size = fread(buf, 1, sizeof(buf) - 1, fp);	buf[size] = '\0';	return network_bro_send(so, buf);}/* fnain */static intnain(int so, const char *name){	FILE *fp = fopen(name, "r");	int err = -1;	if (fp != NULL) {		err = fnain(so, fp);		fclose(fp);	}	return err;}/* nain */static char *get_env(const char *e){	char *ret = NULL, *p = getenv(e);	if (p != NULL) {		ret = malloc(strlen(p) + 1);		if (ret != NULL)			strcpy(ret, p);	}	return p;}/* get_env */static char usage_msg[] =	"usage: %s [-v][-d n] {[-f file] | [-m message]} [-p port] [-u user] address address...\n"	;intmain(int argc, char *argv[]){	int ex, show_usage = 0, ch;	int port = 2425;	char *user = get_env("USER"), *filename = NULL, *message = NULL;	myname = argv[0];	while ((ch = getopt(argc, argv, "d:f:m:p:u:vV")) != EOF) {		switch (ch) {		default:		case 'V':			show_usage++;			break;		case 'd':			debug_flag = strtol(optarg, NULL, 0);			break;		case 'f':			filename = optarg;			break;		case 'm':			message = optarg;			break;		case 'p':			port = strtol(optarg, NULL, 0);			break;		case 'u':			user = optarg;			break;		case 'v':			verbose++;			break;		}/* switch */	}/* while */	if (argc - optind < 1)		show_usage++;	ex = 1;	if (show_usage) {		fprintf(stderr, usage_msg, myname);	}	else {		const char * const *v = (const char * const *)&argv[optind];		char hostname[64];		int so;		if (user == NULL)			user = "anonymous";		gethostname(hostname, sizeof(hostname));		if (strchr(hostname, '.') != NULL)			*strchr(hostname, '.') = '\0';		so = bro_init(port, user, hostname, v);		if (so >= 0) {			int err = 0;			if (message != NULL)				err = network_bro_send(so, message);			else if (filename != NULL)				err = nain(so, filename);			else				err = fnain(so, stdin);			ex = err != 0;		}	}	return ex;}/* main */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久蜜臀| 亚洲激情图片小说视频| 亚洲视频一区二区免费在线观看 | 久久蜜桃香蕉精品一区二区三区| 国产午夜精品一区二区| 亚洲777理论| 91在线视频在线| 久久亚洲一级片| 日本少妇一区二区| 一本大道久久a久久精品综合| 26uuu精品一区二区在线观看| 亚洲国产精品一区二区www | 国产精品动漫网站| 国产真实乱子伦精品视频| 欧美人动与zoxxxx乱| 亚洲三级免费观看| 99这里只有精品| 中文一区二区在线观看| 国模冰冰炮一区二区| 日韩欧美一区二区三区在线| 亚洲mv大片欧洲mv大片精品| 91极品美女在线| 亚洲伦在线观看| 91在线视频18| 亚洲免费色视频| 色综合久久久久综合体| 亚洲日本免费电影| 97se亚洲国产综合自在线| 中文字幕一区二区三区在线播放| 国产91清纯白嫩初高中在线观看 | 久久91精品国产91久久小草| 日韩一区二区三区高清免费看看| 亚洲一区二区在线观看视频| 欧美中文字幕不卡| 亚洲国产aⅴ成人精品无吗| 日本高清无吗v一区| 久久99国产乱子伦精品免费| 日韩欧美一区二区免费| 国产综合久久久久久鬼色| 久久在线免费观看| 风流少妇一区二区| 成人欧美一区二区三区白人| 91免费看`日韩一区二区| 亚洲综合一二区| 欧美日本乱大交xxxxx| 日本视频免费一区| 精品福利一区二区三区| 国产精品91xxx| 国产精品高潮呻吟| 欧美三级三级三级| 久久99精品国产麻豆婷婷| 久久久国产一区二区三区四区小说| 国产精品综合一区二区| 中文字幕在线播放不卡一区| 色综合一区二区三区| 天堂一区二区在线免费观看| 欧美videofree性高清杂交| 国产伦精品一区二区三区免费迷| 中文字幕va一区二区三区| 欧美性一级生活| 精品一区二区免费| 亚洲欧洲性图库| 欧美区一区二区三区| 国产九色精品成人porny| 亚洲激情中文1区| 欧美α欧美αv大片| 99久久综合狠狠综合久久| 亚洲宅男天堂在线观看无病毒| 日韩精品综合一本久道在线视频| 成人高清免费在线播放| 日韩av网站在线观看| 国产精品网站在线观看| 欧美猛男gaygay网站| 高清免费成人av| 日韩电影一二三区| 中文字幕一区二区三区在线不卡| 欧美日韩亚洲不卡| 丁香亚洲综合激情啪啪综合| 亚洲综合小说图片| 国产蜜臀av在线一区二区三区 | 成人精品免费网站| 麻豆成人在线观看| 亚洲五月六月丁香激情| 中文av一区特黄| 26uuuu精品一区二区| 欧美日韩高清一区二区三区| 成人午夜伦理影院| 久草中文综合在线| 偷拍一区二区三区| 一区二区三区在线视频观看58| 久久毛片高清国产| 日韩西西人体444www| 91国偷自产一区二区三区成为亚洲经典 | 久久综合成人精品亚洲另类欧美 | 亚洲欧洲精品一区二区三区不卡| 在线成人免费观看| 91国偷自产一区二区开放时间| 国产成人精品三级| 激情伊人五月天久久综合| 三级在线观看一区二区| 一区二区久久久久久| 中文字幕亚洲在| 中文字幕精品一区二区精品绿巨人| 日韩一级片网址| 欧美日本国产视频| 欧美日韩高清一区二区三区| 在线观看av一区| 91极品视觉盛宴| 日本乱人伦aⅴ精品| 不卡的看片网站| 成人毛片视频在线观看| 国产成人啪免费观看软件| 久久国产三级精品| 狠狠色伊人亚洲综合成人| 久久精品国产精品亚洲精品| 免费看欧美女人艹b| 日本亚洲欧美天堂免费| 蜜桃一区二区三区在线观看| 免费观看日韩电影| 免费国产亚洲视频| 久草热8精品视频在线观看| 国内外成人在线视频| 国产精品自拍在线| www.在线欧美| 色老综合老女人久久久| 精品视频一区 二区 三区| 欧美无砖砖区免费| 欧美一区二区三区在线| 精品av久久707| 中文字幕免费一区| 亚洲乱码国产乱码精品精小说 | 亚洲男人电影天堂| 亚洲一区视频在线| 青青草国产精品97视觉盛宴| 麻豆精品视频在线观看免费| 国产中文字幕一区| 99精品国产91久久久久久| 在线免费观看日本一区| 欧美电影影音先锋| 国产色一区二区| 亚洲精品国产第一综合99久久| 亚洲国产成人av网| 国产在线精品一区在线观看麻豆| 高清视频一区二区| 欧美日韩精品免费| 国产欧美一二三区| 午夜国产精品影院在线观看| 国产麻豆9l精品三级站| 色94色欧美sute亚洲13| 精品国产伦一区二区三区免费| 国产精品乱人伦一区二区| 亚洲国产一区二区三区| 国模无码大尺度一区二区三区| 99精品久久久久久| 欧美成人综合网站| 亚洲激情欧美激情| 国产自产高清不卡| 精品视频免费在线| 国产色婷婷亚洲99精品小说| 亚洲福利电影网| 成人午夜又粗又硬又大| 555夜色666亚洲国产免| 美女脱光内衣内裤视频久久网站| 国产成人aaaa| 日韩精品一区二区三区在线播放 | 亚洲国产精品传媒在线观看| 亚洲一区二区三区四区中文字幕 | 欧美性做爰猛烈叫床潮| 国产亚洲精久久久久久| 午夜影院在线观看欧美| 成人一道本在线| 欧美xxxxxxxxx| 亚洲主播在线播放| bt7086福利一区国产| 欧美精品一区二区三区一线天视频| 一区二区国产视频| 成人午夜在线视频| 亚洲精品一区二区三区99| 亚洲大片免费看| 色哟哟在线观看一区二区三区| 久久精品在这里| 久久成人av少妇免费| 欧美精品自拍偷拍动漫精品| 一区二区三区四区在线免费观看| 国产成人自拍网| 久久久久久久久免费| 人妖欧美一区二区| 91精品中文字幕一区二区三区| 综合自拍亚洲综合图不卡区| 国产一区欧美日韩| 日韩免费视频线观看| 午夜精品福利一区二区三区蜜桃| 色婷婷国产精品久久包臀| 综合中文字幕亚洲| 色综合中文字幕| 亚洲精品乱码久久久久久日本蜜臀| 99久久婷婷国产| 中文字幕在线不卡| 91丨porny丨在线| 亚洲欧美一区二区不卡|