3D 游戏界的大牛人 John Carmack 终于放出了 Q3 的源代码

源代码在线查看: udp_wide_broadcast.patch

软件大小: 6659 K
上传用户: yong_715
关键词: Carmack John 3D Q3
下载地址: 免注册下载 普通下载 VIP

相关代码

				--- linux/include/linux/sysctl.h.orig	2002-08-17 19:52:27.000000000 -0500
				+++ linux/include/linux/sysctl.h	2002-08-17 19:53:00.000000000 -0500
				@@ -291,7 +291,8 @@
				 	NET_IPV4_NONLOCAL_BIND=88,
				 	NET_IPV4_ICMP_RATELIMIT=89,
				 	NET_IPV4_ICMP_RATEMASK=90,
				-	NET_TCP_TW_REUSE=91
				+	NET_TCP_TW_REUSE=91,
				+	NET_UDP_WIDE_BROADCAST=92
				 };
				 
				 enum {
				--- linux-modified/net/ipv4/sysctl_net_ipv4.c.orig	2002-08-17 19:48:19.000000000 -0500
				+++ linux-modified/net/ipv4/sysctl_net_ipv4.c	2002-08-17 19:52:03.000000000 -0500
				@@ -45,6 +45,9 @@
				 extern int inet_peer_gc_mintime;
				 extern int inet_peer_gc_maxtime;
				 
				+/* From udp.c */
				+extern int sysctl_udp_wide_broadcast;
				+
				 #ifdef CONFIG_SYSCTL
				 static int tcp_retr1_max = 255; 
				 static int ip_local_port_range_min[] = { 1, 1 };
				@@ -221,6 +224,8 @@
				 	 &sysctl_icmp_ratemask, sizeof(int), 0644, NULL, &proc_dointvec},
				 	{NET_TCP_TW_REUSE, "tcp_tw_reuse",
				 	 &sysctl_tcp_tw_reuse, sizeof(int), 0644, NULL, &proc_dointvec},
				+	{NET_UDP_WIDE_BROADCAST, "udp_wide_broadcast",
				+	 &sysctl_udp_wide_broadcast, sizeof(int), 0644, NULL, &proc_dointvec},
				 	{0}
				 };
				 
				--- linux-modified/net/ipv4/udp.c.orig	2002-08-17 19:40:59.000000000 -0500
				+++ linux-modified/net/ipv4/udp.c	2002-08-17 23:37:47.000000000 -0500
				@@ -94,6 +94,8 @@
				 #include 
				 #include 
				 
				+int sysctl_udp_wide_broadcast = 0;
				+
				 /*
				  *	Snmp MIB for the UDP layer
				  */
				@@ -272,9 +274,10 @@
				 		if ((s->num != hnum)					||
				 		    (s->daddr && s->daddr!=rmt_addr)			||
				 		    (s->dport != rmt_port && s->dport != 0)			||
				-		    (s->rcv_saddr  && s->rcv_saddr != loc_addr)		||
				-		    (s->bound_dev_if && s->bound_dev_if != dif))
				+		    !(sysctl_udp_wide_broadcast || !(s->rcv_saddr  && s->rcv_saddr != loc_addr))	||
				+		    (s->bound_dev_if && s->bound_dev_if != dif)) {
				 			continue;
				+		}
				 		break;
				   	}
				   	return s;
							

相关资源