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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rdp.c

?? LInux 下的遠(yuǎn)程桌面工具 Rdesktop
?? C
?? 第 1 頁 / 共 3 頁
字號:
	s_mark_end(s);	rdp_send_data(s, RDP_DATA_PDU_SYNCHRONISE);}/* Send a single input event */voidrdp_send_input(uint32 time, uint16 message_type, uint16 device_flags, uint16 param1, uint16 param2){	STREAM s;	s = rdp_init_data(16);	out_uint16_le(s, 1);	/* number of events */	out_uint16(s, 0);	/* pad */	out_uint32_le(s, time);	out_uint16_le(s, message_type);	out_uint16_le(s, device_flags);	out_uint16_le(s, param1);	out_uint16_le(s, param2);	s_mark_end(s);	rdp_send_data(s, RDP_DATA_PDU_INPUT);}/* Send a client window information PDU */voidrdp_send_client_window_status(int status){	STREAM s;	static int current_status = 1;	if (current_status == status)		return;	s = rdp_init_data(12);	out_uint32_le(s, status);	switch (status)	{		case 0:	/* shut the server up */			break;		case 1:	/* receive data again */			out_uint32_le(s, 0);	/* unknown */			out_uint16_le(s, g_width);			out_uint16_le(s, g_height);			break;	}	s_mark_end(s);	rdp_send_data(s, RDP_DATA_PDU_CLIENT_WINDOW_STATUS);	current_status = status;}/* Send persistent bitmap cache enumeration PDU's */static voidrdp_enum_bmpcache2(void){	STREAM s;	HASH_KEY keylist[BMPCACHE2_NUM_PSTCELLS];	uint32 num_keys, offset, count, flags;	offset = 0;	num_keys = pstcache_enumerate(2, keylist);	while (offset < num_keys)	{		count = MIN(num_keys - offset, 169);		s = rdp_init_data(24 + count * sizeof(HASH_KEY));		flags = 0;		if (offset == 0)			flags |= PDU_FLAG_FIRST;		if (num_keys - offset <= 169)			flags |= PDU_FLAG_LAST;		/* header */		out_uint32_le(s, 0);		out_uint16_le(s, count);		out_uint16_le(s, 0);		out_uint16_le(s, 0);		out_uint16_le(s, 0);		out_uint16_le(s, 0);		out_uint16_le(s, num_keys);		out_uint32_le(s, 0);		out_uint32_le(s, flags);		/* list */		out_uint8a(s, keylist[offset], count * sizeof(HASH_KEY));		s_mark_end(s);		rdp_send_data(s, 0x2b);		offset += 169;	}}/* Send an (empty) font information PDU */static voidrdp_send_fonts(uint16 seq){	STREAM s;	s = rdp_init_data(8);	out_uint16(s, 0);	/* number of fonts */	out_uint16_le(s, 0);	/* pad? */	out_uint16_le(s, seq);	/* unknown */	out_uint16_le(s, 0x32);	/* entry size */	s_mark_end(s);	rdp_send_data(s, RDP_DATA_PDU_FONT2);}/* Output general capability set */static voidrdp_out_general_caps(STREAM s){	out_uint16_le(s, RDP_CAPSET_GENERAL);	out_uint16_le(s, RDP_CAPLEN_GENERAL);	out_uint16_le(s, 1);	/* OS major type */	out_uint16_le(s, 3);	/* OS minor type */	out_uint16_le(s, 0x200);	/* Protocol version */	out_uint16(s, 0);	/* Pad */	out_uint16(s, 0);	/* Compression types */	out_uint16_le(s, g_use_rdp5 ? 0x40d : 0);	/* Pad, according to T.128. 0x40d seems to 	   trigger	   the server to start sending RDP5 packets. 	   However, the value is 0x1d04 with W2KTSK and	   NT4MS. Hmm.. Anyway, thankyou, Microsoft,	   for sending such information in a padding 	   field.. */	out_uint16(s, 0);	/* Update capability */	out_uint16(s, 0);	/* Remote unshare capability */	out_uint16(s, 0);	/* Compression level */	out_uint16(s, 0);	/* Pad */}/* Output bitmap capability set */static voidrdp_out_bitmap_caps(STREAM s){	out_uint16_le(s, RDP_CAPSET_BITMAP);	out_uint16_le(s, RDP_CAPLEN_BITMAP);	out_uint16_le(s, g_server_depth);	/* Preferred colour depth */	out_uint16_le(s, 1);	/* Receive 1 BPP */	out_uint16_le(s, 1);	/* Receive 4 BPP */	out_uint16_le(s, 1);	/* Receive 8 BPP */	out_uint16_le(s, 800);	/* Desktop width */	out_uint16_le(s, 600);	/* Desktop height */	out_uint16(s, 0);	/* Pad */	out_uint16(s, 1);	/* Allow resize */	out_uint16_le(s, g_bitmap_compression ? 1 : 0);	/* Support compression */	out_uint16(s, 0);	/* Unknown */	out_uint16_le(s, 1);	/* Unknown */	out_uint16(s, 0);	/* Pad */}/* Output order capability set */static voidrdp_out_order_caps(STREAM s){	uint8 order_caps[32];	memset(order_caps, 0, 32);	order_caps[0] = 1;	/* dest blt */	order_caps[1] = 1;	/* pat blt */	order_caps[2] = 1;	/* screen blt */	order_caps[3] = (g_bitmap_cache ? 1 : 0);	/* memblt */	order_caps[4] = 0;	/* triblt */	order_caps[8] = 1;	/* line */	order_caps[9] = 1;	/* line */	order_caps[10] = 1;	/* rect */	order_caps[11] = (g_desktop_save ? 1 : 0);	/* desksave */	order_caps[13] = 1;	/* memblt */	order_caps[14] = 1;	/* triblt */	order_caps[20] = (g_polygon_ellipse_orders ? 1 : 0);	/* polygon */	order_caps[21] = (g_polygon_ellipse_orders ? 1 : 0);	/* polygon2 */	order_caps[22] = 1;	/* polyline */	order_caps[25] = (g_polygon_ellipse_orders ? 1 : 0);	/* ellipse */	order_caps[26] = (g_polygon_ellipse_orders ? 1 : 0);	/* ellipse2 */	order_caps[27] = 1;	/* text2 */	out_uint16_le(s, RDP_CAPSET_ORDER);	out_uint16_le(s, RDP_CAPLEN_ORDER);	out_uint8s(s, 20);	/* Terminal desc, pad */	out_uint16_le(s, 1);	/* Cache X granularity */	out_uint16_le(s, 20);	/* Cache Y granularity */	out_uint16(s, 0);	/* Pad */	out_uint16_le(s, 1);	/* Max order level */	out_uint16_le(s, 0x147);	/* Number of fonts */	out_uint16_le(s, 0x2a);	/* Capability flags */	out_uint8p(s, order_caps, 32);	/* Orders supported */	out_uint16_le(s, 0x6a1);	/* Text capability flags */	out_uint8s(s, 6);	/* Pad */	out_uint32_le(s, g_desktop_save == False ? 0 : 0x38400);	/* Desktop cache size */	out_uint32(s, 0);	/* Unknown */	out_uint32_le(s, 0x4e4);	/* Unknown */}/* Output bitmap cache capability set */static voidrdp_out_bmpcache_caps(STREAM s){	int Bpp;	out_uint16_le(s, RDP_CAPSET_BMPCACHE);	out_uint16_le(s, RDP_CAPLEN_BMPCACHE);	Bpp = (g_server_depth + 7) / 8;	/* bytes per pixel */	out_uint8s(s, 24);	/* unused */	out_uint16_le(s, 0x258);	/* entries */	out_uint16_le(s, 0x100 * Bpp);	/* max cell size */	out_uint16_le(s, 0x12c);	/* entries */	out_uint16_le(s, 0x400 * Bpp);	/* max cell size */	out_uint16_le(s, 0x106);	/* entries */	out_uint16_le(s, 0x1000 * Bpp);	/* max cell size */}/* Output bitmap cache v2 capability set */static voidrdp_out_bmpcache2_caps(STREAM s){	out_uint16_le(s, RDP_CAPSET_BMPCACHE2);	out_uint16_le(s, RDP_CAPLEN_BMPCACHE2);	out_uint16_le(s, g_bitmap_cache_persist_enable ? 2 : 0);	/* version */	out_uint16_be(s, 3);	/* number of caches in this set */	/* max cell size for cache 0 is 16x16, 1 = 32x32, 2 = 64x64, etc */	out_uint32_le(s, BMPCACHE2_C0_CELLS);	out_uint32_le(s, BMPCACHE2_C1_CELLS);	if (pstcache_init(2))	{		out_uint32_le(s, BMPCACHE2_NUM_PSTCELLS | BMPCACHE2_FLAG_PERSIST);	}	else	{		out_uint32_le(s, BMPCACHE2_C2_CELLS);	}	out_uint8s(s, 20);	/* other bitmap caches not used */}/* Output control capability set */static voidrdp_out_control_caps(STREAM s){	out_uint16_le(s, RDP_CAPSET_CONTROL);	out_uint16_le(s, RDP_CAPLEN_CONTROL);	out_uint16(s, 0);	/* Control capabilities */	out_uint16(s, 0);	/* Remote detach */	out_uint16_le(s, 2);	/* Control interest */	out_uint16_le(s, 2);	/* Detach interest */}/* Output activation capability set */static voidrdp_out_activate_caps(STREAM s){	out_uint16_le(s, RDP_CAPSET_ACTIVATE);	out_uint16_le(s, RDP_CAPLEN_ACTIVATE);	out_uint16(s, 0);	/* Help key */	out_uint16(s, 0);	/* Help index key */	out_uint16(s, 0);	/* Extended help key */	out_uint16(s, 0);	/* Window activate */}/* Output pointer capability set */static voidrdp_out_pointer_caps(STREAM s){	out_uint16_le(s, RDP_CAPSET_POINTER);	out_uint16_le(s, RDP_CAPLEN_POINTER);	out_uint16(s, 0);	/* Colour pointer */	out_uint16_le(s, 20);	/* Cache size */}/* Output share capability set */static voidrdp_out_share_caps(STREAM s){	out_uint16_le(s, RDP_CAPSET_SHARE);	out_uint16_le(s, RDP_CAPLEN_SHARE);	out_uint16(s, 0);	/* userid */	out_uint16(s, 0);	/* pad */}/* Output colour cache capability set */static voidrdp_out_colcache_caps(STREAM s){	out_uint16_le(s, RDP_CAPSET_COLCACHE);	out_uint16_le(s, RDP_CAPLEN_COLCACHE);	out_uint16_le(s, 6);	/* cache size */	out_uint16(s, 0);	/* pad */}static uint8 caps_0x0d[] = {	0x01, 0x00, 0x00, 0x00, 0x09, 0x04, 0x00, 0x00,	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,	0x00, 0x00, 0x00, 0x00};static uint8 caps_0x0c[] = { 0x01, 0x00, 0x00, 0x00 };static uint8 caps_0x0e[] = { 0x01, 0x00, 0x00, 0x00 };static uint8 caps_0x10[] = {	0xFE, 0x00, 0x04, 0x00, 0xFE, 0x00, 0x04, 0x00,	0xFE, 0x00, 0x08, 0x00, 0xFE, 0x00, 0x08, 0x00,	0xFE, 0x00, 0x10, 0x00, 0xFE, 0x00, 0x20, 0x00,	0xFE, 0x00, 0x40, 0x00, 0xFE, 0x00, 0x80, 0x00,	0xFE, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x08,	0x00, 0x01, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00};/* Output unknown capability sets */static voidrdp_out_unknown_caps(STREAM s, uint16 id, uint16 length, uint8 * caps){	out_uint16_le(s, id);	out_uint16_le(s, length);	out_uint8p(s, caps, length - 4);}#define RDP5_FLAG 0x0030/* Send a confirm active PDU */static voidrdp_send_confirm_active(void){	STREAM s;	uint32 sec_flags = g_encryption ? (RDP5_FLAG | SEC_ENCRYPT) : RDP5_FLAG;	uint16 caplen =		RDP_CAPLEN_GENERAL + RDP_CAPLEN_BITMAP + RDP_CAPLEN_ORDER +		RDP_CAPLEN_BMPCACHE + RDP_CAPLEN_COLCACHE +		RDP_CAPLEN_ACTIVATE + RDP_CAPLEN_CONTROL +		RDP_CAPLEN_POINTER + RDP_CAPLEN_SHARE +		0x58 + 0x08 + 0x08 + 0x34 /* unknown caps */  +		4 /* w2k fix, why? */ ;	s = sec_init(sec_flags, 6 + 14 + caplen + sizeof(RDP_SOURCE));	out_uint16_le(s, 2 + 14 + caplen + sizeof(RDP_SOURCE));	out_uint16_le(s, (RDP_PDU_CONFIRM_ACTIVE | 0x10));	/* Version 1 */	out_uint16_le(s, (g_mcs_userid + 1001));	out_uint32_le(s, g_rdp_shareid);	out_uint16_le(s, 0x3ea);	/* userid */	out_uint16_le(s, sizeof(RDP_SOURCE));	out_uint16_le(s, caplen);	out_uint8p(s, RDP_SOURCE, sizeof(RDP_SOURCE));	out_uint16_le(s, 0xd);	/* num_caps */	out_uint8s(s, 2);	/* pad */	rdp_out_general_caps(s);	rdp_out_bitmap_caps(s);	rdp_out_order_caps(s);	g_use_rdp5 ? rdp_out_bmpcache2_caps(s) : rdp_out_bmpcache_caps(s);	rdp_out_colcache_caps(s);	rdp_out_activate_caps(s);	rdp_out_control_caps(s);	rdp_out_pointer_caps(s);	rdp_out_share_caps(s);	rdp_out_unknown_caps(s, 0x0d, 0x58, caps_0x0d);	/* international? */	rdp_out_unknown_caps(s, 0x0c, 0x08, caps_0x0c);	rdp_out_unknown_caps(s, 0x0e, 0x08, caps_0x0e);	rdp_out_unknown_caps(s, 0x10, 0x34, caps_0x10);	/* glyph cache? */	s_mark_end(s);	sec_send(s, sec_flags);}/* Process a general capability set */static voidrdp_process_general_caps(STREAM s){	uint16 pad2octetsB;	/* rdp5 flags? */	in_uint8s(s, 10);	in_uint16_le(s, pad2octetsB);	if (!pad2octetsB)		g_use_rdp5 = False;}/* Process a bitmap capability set */static voidrdp_process_bitmap_caps(STREAM s){	uint16 width, height, depth;	in_uint16_le(s, depth);	in_uint8s(s, 6);	in_uint16_le(s, width);	in_uint16_le(s, height);	DEBUG(("setting desktop size and depth to: %dx%dx%d\n", width, height, depth));	/*	 * The server may limit depth and change the size of the desktop (for	 * example when shadowing another session).	 */	if (g_server_depth != depth)	{		warning("Remote desktop does not support colour depth %d; falling back to %d\n",			g_server_depth, depth);		g_server_depth = depth;	}	if (g_width != width || g_height != height)	{		warning("Remote desktop changed from %dx%d to %dx%d.\n", g_width, g_height,			width, height);		g_width = width;		g_height = height;		ui_resize_window();	}}/* Process server capabilities */static voidrdp_process_server_caps(STREAM s, uint16 length){	int n;	uint8 *next, *start;	uint16 ncapsets, capset_type, capset_length;	start = s->p;	in_uint16_le(s, ncapsets);	in_uint8s(s, 2);	/* pad */	for (n = 0; n < ncapsets; n++)	{		if (s->p > start + length)			return;		in_uint16_le(s, capset_type);		in_uint16_le(s, capset_length);		next = s->p + capset_length - 4;		switch (capset_type)		{			case RDP_CAPSET_GENERAL:				rdp_process_general_caps(s);				break;			case RDP_CAPSET_BITMAP:				rdp_process_bitmap_caps(s);				break;		}		s->p = next;	}}/* Respond to a demand active PDU */static voidprocess_demand_active(STREAM s){	uint8 type;	uint16 len_src_descriptor, len_combined_caps;	in_uint32_le(s, g_rdp_shareid);	in_uint16_le(s, len_src_descriptor);	in_uint16_le(s, len_combined_caps);	in_uint8s(s, len_src_descriptor);	DEBUG(("DEMAND_ACTIVE(id=0x%x)\n", g_rdp_shareid));	rdp_process_server_caps(s, len_combined_caps);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品国产免费网站| 五月综合激情网| 日韩一级在线观看| 午夜精品成人在线| 制服丝袜亚洲精品中文字幕| 日本va欧美va瓶| 精品久久99ma| 国产不卡视频一区二区三区| 亚洲欧洲av一区二区三区久久| 91在线一区二区三区| 亚洲一区精品在线| 欧美一区二区成人| 成人网在线播放| 亚洲二区在线视频| 欧美大尺度电影在线| zzijzzij亚洲日本少妇熟睡| 亚洲成a人片在线不卡一二三区| 欧美日韩www| 国产一区二区三区免费看| 亚洲欧洲日产国码二区| 欧美一区二区三区免费大片| 国产成人综合自拍| 亚洲福利国产精品| 国产天堂亚洲国产碰碰| 欧美亚洲动漫制服丝袜| 九九久久精品视频| 一区二区视频免费在线观看| 欧美成人女星排行榜| 不卡高清视频专区| 美女视频黄 久久| 日韩一区有码在线| 91精品国产欧美日韩| 波多野结衣一区二区三区| 天堂影院一区二区| 亚洲欧洲日产国码二区| 欧美变态tickling挠脚心| 91色porny在线视频| 麻豆国产91在线播放| 亚洲女同ⅹxx女同tv| 欧美成人vr18sexvr| 在线中文字幕不卡| 成人永久免费视频| 麻豆91在线播放| 亚洲综合另类小说| 亚洲国产精品国自产拍av| 欧美一区二区三区色| 在线亚洲免费视频| 成人激情免费视频| 激情欧美一区二区三区在线观看| 亚洲综合成人在线视频| 中文字幕av一区二区三区 | 国产成都精品91一区二区三| 亚洲网友自拍偷拍| 中文字幕欧美一区| 国产午夜精品美女毛片视频| 欧美一区二区三区在线视频| 欧美性色aⅴ视频一区日韩精品| 成人成人成人在线视频| 国产综合色在线视频区| 日本视频在线一区| 亚洲午夜三级在线| 亚洲精品免费在线观看| 国产精品久久久久精k8| 国产亚洲视频系列| 久久夜色精品一区| 久久综合狠狠综合久久综合88 | 懂色av一区二区在线播放| 捆绑紧缚一区二区三区视频| 丝袜国产日韩另类美女| 亚洲午夜免费福利视频| 亚洲综合一区二区| 亚洲一级二级三级在线免费观看| 18欧美亚洲精品| 自拍偷拍国产亚洲| 亚洲视频在线观看三级| 亚洲色大成网站www久久九九| 亚洲国产精品ⅴa在线观看| 国产欧美日韩卡一| 欧美极品xxx| 国产精品入口麻豆九色| 亚洲欧洲日韩在线| 一区二区三区久久久| 亚洲综合清纯丝袜自拍| 五月激情综合网| 男人的天堂亚洲一区| 久久国产三级精品| 精品影视av免费| 国产成人一级电影| 成人福利在线看| 色视频欧美一区二区三区| 91黄视频在线| 91精品在线一区二区| 日韩一区二区视频| 久久在线免费观看| 欧美国产激情二区三区| 亚洲乱码国产乱码精品精可以看| 亚洲资源中文字幕| 免费观看一级特黄欧美大片| 激情文学综合插| 99综合影院在线| 欧美日韩专区在线| 精品国产免费人成电影在线观看四季 | 欧美成人精品福利| 欧美激情一区二区三区| 亚洲免费av网站| 日本不卡的三区四区五区| 国产一区二区视频在线| 99久久99久久综合| 欧美老肥妇做.爰bbww视频| 91精品蜜臀在线一区尤物| 久久精品欧美一区二区三区麻豆 | 日韩欧美成人激情| 国产精品女同互慰在线看| 亚洲高清不卡在线| 国产精品亚洲成人| 欧美亚洲国产bt| 久久久电影一区二区三区| 一区二区三区视频在线观看| 久久成人免费日本黄色| 97se狠狠狠综合亚洲狠狠| 日韩欧美视频在线| 亚洲女同女同女同女同女同69| 日本美女一区二区三区视频| 成人看片黄a免费看在线| 欧美肥妇bbw| 最好看的中文字幕久久| 免费观看91视频大全| 色综合久久中文字幕| 精品国产免费人成在线观看| 亚洲一区二区三区自拍| 国产精品99久久久久久宅男| 欧美三级中文字| 中文字幕永久在线不卡| 精品中文av资源站在线观看| 色噜噜狠狠成人中文综合| 国产日韩欧美不卡| 久久精品国产一区二区三| 欧美色精品在线视频| 中文天堂在线一区| 精品一区二区综合| 欧美人与性动xxxx| 亚洲精品高清在线观看| 粉嫩av一区二区三区在线播放 | 国产一区二区女| 欧美日韩国产一二三| 中文字幕佐山爱一区二区免费| 国产美女一区二区三区| 日韩精品一区在线| 日韩国产欧美在线播放| 欧美在线色视频| 亚洲情趣在线观看| 99久久免费精品| 中文字幕 久热精品 视频在线 | 国产一区 二区| 欧美tk—视频vk| 蜜臀av性久久久久蜜臀aⅴ| 欧美日韩国产天堂| 一二三区精品视频| 91国产成人在线| 亚洲免费观看高清完整版在线| 不卡的av网站| 国产精品久久午夜夜伦鲁鲁| 成人永久看片免费视频天堂| 欧美极品xxx| 国产jizzjizz一区二区| 国产亚洲污的网站| 国产成人丝袜美腿| 久久精品水蜜桃av综合天堂| 国产一区二区三区视频在线播放| 欧美va亚洲va香蕉在线| 国内成+人亚洲+欧美+综合在线| 欧美精品一区二区在线观看| 久久黄色级2电影| 欧美精品一区二区三区在线播放| 国产原创一区二区| 国产欧美日韩精品在线| va亚洲va日韩不卡在线观看| 中文字幕一区在线| 色av综合在线| 婷婷中文字幕一区三区| 91精品国产综合久久国产大片| 日韩成人午夜精品| 日韩亚洲电影在线| 国产精品中文字幕日韩精品| 国产亲近乱来精品视频| 97se亚洲国产综合自在线| 亚洲一区二区影院| 日韩欧美精品在线视频| 国产精品中文欧美| 亚洲免费观看高清完整版在线 | 色视频成人在线观看免| 亚洲二区在线观看| 欧美成人性战久久| 成人高清免费在线播放| 一区二区三区小说| 欧美成人性战久久| 9l国产精品久久久久麻豆| 亚洲国产视频网站| 精品国产91亚洲一区二区三区婷婷| 国产成人在线网站|