Removed
Link Here
|
1 |
--- ttcp.c.orig 2016-07-27 15:06:14 UTC |
2 |
+++ ttcp.c |
3 |
@@ -55,6 +55,9 @@ static char RCSid[] = "ttcp.c $Revision: |
4 |
#include <arpa/inet.h> |
5 |
#include <netdb.h> |
6 |
#include <sys/time.h> /* struct timeval */ |
7 |
+#include <unistd.h> |
8 |
+#include <string.h> |
9 |
+#include <stdlib.h> |
10 |
|
11 |
#if defined(SYSV) |
12 |
#include <sys/times.h> |
13 |
@@ -133,7 +136,7 @@ double cput, realt; /* user, real time |
14 |
|
15 |
void err(); |
16 |
void mes(); |
17 |
-int pattern(); |
18 |
+void pattern(); |
19 |
void prep_timer(); |
20 |
double read_timer(); |
21 |
int Nread(); |
22 |
@@ -147,6 +150,7 @@ sigpipe() |
23 |
{ |
24 |
} |
25 |
|
26 |
+int |
27 |
main(argc,argv) |
28 |
int argc; |
29 |
char **argv; |
30 |
@@ -249,6 +253,7 @@ char **argv; |
31 |
#endif /* cray */ |
32 |
} |
33 |
sinhim.sin_port = htons(port); |
34 |
+ sinme.sin_family = AF_INET; /* Solaris needs this */ |
35 |
sinme.sin_port = 0; /* free choice */ |
36 |
} else { |
37 |
/* rcvr */ |
38 |
@@ -263,29 +268,31 @@ char **argv; |
39 |
if ( (buf = (char *)malloc(buflen+bufalign)) == (char *)NULL) |
40 |
err("malloc"); |
41 |
if (bufalign != 0) |
42 |
- buf +=(bufalign - ((int)buf % bufalign) + bufoffset) % bufalign; |
43 |
+ buf += (bufalign |
44 |
+ -((unsigned long)buf % bufalign) |
45 |
+ + bufoffset) % bufalign; |
46 |
|
47 |
if (trans) { |
48 |
- fprintf(stdout, |
49 |
+ fprintf(stderr, |
50 |
"ttcp-t: buflen=%d, nbuf=%d, align=%d/%d, port=%d", |
51 |
buflen, nbuf, bufalign, bufoffset, port); |
52 |
if (sockbufsize) |
53 |
- fprintf(stdout, ", sockbufsize=%d", sockbufsize); |
54 |
- fprintf(stdout, " %s -> %s\n", udp?"udp":"tcp", host); |
55 |
+ fprintf(stderr, ", sockbufsize=%d", sockbufsize); |
56 |
+ fprintf(stderr, " %s -> %s\n", udp?"udp":"tcp", host); |
57 |
} else { |
58 |
- fprintf(stdout, |
59 |
+ fprintf(stderr, |
60 |
"ttcp-r: buflen=%d, nbuf=%d, align=%d/%d, port=%d", |
61 |
buflen, nbuf, bufalign, bufoffset, port); |
62 |
if (sockbufsize) |
63 |
- fprintf(stdout, ", sockbufsize=%d", sockbufsize); |
64 |
- fprintf(stdout, " %s\n", udp?"udp":"tcp"); |
65 |
+ fprintf(stderr, ", sockbufsize=%d", sockbufsize); |
66 |
+ fprintf(stderr, " %s\n", udp?"udp":"tcp"); |
67 |
} |
68 |
|
69 |
if ((fd = socket(AF_INET, udp?SOCK_DGRAM:SOCK_STREAM, 0)) < 0) |
70 |
err("socket"); |
71 |
mes("socket"); |
72 |
|
73 |
- if (bind(fd, &sinme, sizeof(sinme)) < 0) |
74 |
+ if (bind(fd, (struct sockaddr *) &sinme, sizeof(sinme)) < 0) |
75 |
err("bind"); |
76 |
|
77 |
#if defined(SO_SNDBUF) || defined(SO_RCVBUF) |
78 |
@@ -326,7 +333,7 @@ char **argv; |
79 |
mes("nodelay"); |
80 |
} |
81 |
#endif |
82 |
- if(connect(fd, &sinhim, sizeof(sinhim) ) < 0) |
83 |
+ if(connect(fd, (struct sockaddr*)&sinhim, sizeof(sinhim) ) < 0) |
84 |
err("connect"); |
85 |
mes("connect"); |
86 |
} else { |
87 |
@@ -348,11 +355,11 @@ char **argv; |
88 |
} |
89 |
fromlen = sizeof(frominet); |
90 |
domain = AF_INET; |
91 |
- if((fd=accept(fd, &frominet, &fromlen) ) < 0) |
92 |
+ if((fd=accept(fd, (struct sockaddr*)&frominet, &fromlen) ) < 0) |
93 |
err("accept"); |
94 |
{ struct sockaddr_in peer; |
95 |
int peerlen = sizeof(peer); |
96 |
- if (getpeername(fd, (struct sockaddr_in *) &peer, |
97 |
+ if (getpeername(fd, (struct sockaddr*) &peer, |
98 |
&peerlen) < 0) { |
99 |
err("getpeername"); |
100 |
} |
101 |
@@ -412,25 +419,25 @@ char **argv; |
102 |
} |
103 |
if( cput <= 0.0 ) cput = 0.001; |
104 |
if( realt <= 0.0 ) realt = 0.001; |
105 |
- fprintf(stdout, |
106 |
+ fprintf(stderr, |
107 |
"ttcp%s: %.0f bytes in %.2f real seconds = %s/sec +++\n", |
108 |
trans?"-t":"-r", |
109 |
nbytes, realt, outfmt(nbytes/realt)); |
110 |
if (verbose) { |
111 |
- fprintf(stdout, |
112 |
+ fprintf(stderr, |
113 |
"ttcp%s: %.0f bytes in %.2f CPU seconds = %s/cpu sec\n", |
114 |
trans?"-t":"-r", |
115 |
nbytes, cput, outfmt(nbytes/cput)); |
116 |
} |
117 |
- fprintf(stdout, |
118 |
+ fprintf(stderr, |
119 |
"ttcp%s: %d I/O calls, msec/call = %.2f, calls/sec = %.2f\n", |
120 |
trans?"-t":"-r", |
121 |
numCalls, |
122 |
1024.0 * realt/((double)numCalls), |
123 |
((double)numCalls)/realt); |
124 |
- fprintf(stdout,"ttcp%s: %s\n", trans?"-t":"-r", stats); |
125 |
+ fprintf(stderr,"ttcp%s: %s\n", trans?"-t":"-r", stats); |
126 |
if (verbose) { |
127 |
- fprintf(stdout, |
128 |
+ fprintf(stderr, |
129 |
"ttcp%s: buffer address %#x\n", |
130 |
trans?"-t":"-r", |
131 |
buf); |
132 |
@@ -459,6 +466,7 @@ char *s; |
133 |
fprintf(stderr,"ttcp%s: %s\n", trans?"-t":"-r", s); |
134 |
} |
135 |
|
136 |
+void |
137 |
pattern( cp, cnt ) |
138 |
register char *cp; |
139 |
register int cnt; |
140 |
@@ -614,13 +622,13 @@ prusage(r0, r1, e, b, outp) |
141 |
|
142 |
case 'U': |
143 |
tvsub(&tdiff, &r1->ru_utime, &r0->ru_utime); |
144 |
- sprintf(outp,"%d.%01d", tdiff.tv_sec, tdiff.tv_usec/100000); |
145 |
+ sprintf(outp,"%ld.%01ld", tdiff.tv_sec, tdiff.tv_usec/100000); |
146 |
END(outp); |
147 |
break; |
148 |
|
149 |
case 'S': |
150 |
tvsub(&tdiff, &r1->ru_stime, &r0->ru_stime); |
151 |
- sprintf(outp,"%d.%01d", tdiff.tv_sec, tdiff.tv_usec/100000); |
152 |
+ sprintf(outp,"%ld.%01ld", tdiff.tv_sec, tdiff.tv_usec/100000); |
153 |
END(outp); |
154 |
break; |
155 |
|
156 |
@@ -642,49 +650,49 @@ prusage(r0, r1, e, b, outp) |
157 |
break; |
158 |
|
159 |
case 'X': |
160 |
- sprintf(outp,"%d", t == 0 ? 0 : (r1->ru_ixrss-r0->ru_ixrss)/t); |
161 |
+ sprintf(outp,"%ld", t == 0 ? 0 : (r1->ru_ixrss-r0->ru_ixrss)/t); |
162 |
END(outp); |
163 |
break; |
164 |
|
165 |
case 'D': |
166 |
- sprintf(outp,"%d", t == 0 ? 0 : |
167 |
+ sprintf(outp,"%ld", t == 0 ? 0 : |
168 |
(r1->ru_idrss+r1->ru_isrss-(r0->ru_idrss+r0->ru_isrss))/t); |
169 |
END(outp); |
170 |
break; |
171 |
|
172 |
case 'K': |
173 |
- sprintf(outp,"%d", t == 0 ? 0 : |
174 |
+ sprintf(outp,"%ld", t == 0 ? 0 : |
175 |
((r1->ru_ixrss+r1->ru_isrss+r1->ru_idrss) - |
176 |
(r0->ru_ixrss+r0->ru_idrss+r0->ru_isrss))/t); |
177 |
END(outp); |
178 |
break; |
179 |
|
180 |
case 'M': |
181 |
- sprintf(outp,"%d", r1->ru_maxrss/2); |
182 |
+ sprintf(outp,"%ld", r1->ru_maxrss/2); |
183 |
END(outp); |
184 |
break; |
185 |
|
186 |
case 'F': |
187 |
- sprintf(outp,"%d", r1->ru_majflt-r0->ru_majflt); |
188 |
+ sprintf(outp,"%ld", r1->ru_majflt-r0->ru_majflt); |
189 |
END(outp); |
190 |
break; |
191 |
|
192 |
case 'R': |
193 |
- sprintf(outp,"%d", r1->ru_minflt-r0->ru_minflt); |
194 |
+ sprintf(outp,"%ld", r1->ru_minflt-r0->ru_minflt); |
195 |
END(outp); |
196 |
break; |
197 |
|
198 |
case 'I': |
199 |
- sprintf(outp,"%d", r1->ru_inblock-r0->ru_inblock); |
200 |
+ sprintf(outp,"%ld", r1->ru_inblock-r0->ru_inblock); |
201 |
END(outp); |
202 |
break; |
203 |
|
204 |
case 'O': |
205 |
- sprintf(outp,"%d", r1->ru_oublock-r0->ru_oublock); |
206 |
+ sprintf(outp,"%ld", r1->ru_oublock-r0->ru_oublock); |
207 |
END(outp); |
208 |
break; |
209 |
case 'C': |
210 |
- sprintf(outp,"%d+%d", r1->ru_nvcsw-r0->ru_nvcsw, |
211 |
+ sprintf(outp,"%ld+%ld", r1->ru_nvcsw-r0->ru_nvcsw, |
212 |
r1->ru_nivcsw-r0->ru_nivcsw ); |
213 |
END(outp); |
214 |
break; |
215 |
@@ -743,6 +751,7 @@ register char *cp; |
216 |
/* |
217 |
* N R E A D |
218 |
*/ |
219 |
+int |
220 |
Nread( fd, buf, count ) |
221 |
int fd; |
222 |
void *buf; |
223 |
@@ -752,7 +761,7 @@ int count; |
224 |
int len = sizeof(from); |
225 |
register int cnt; |
226 |
if( udp ) { |
227 |
- cnt = recvfrom( fd, buf, count, 0, &from, &len ); |
228 |
+ cnt = recvfrom( fd, buf, count, 0, (struct sockaddr *)&from, &len ); |
229 |
numCalls++; |
230 |
} else { |
231 |
if( b_flag ) |
232 |
@@ -774,6 +783,7 @@ int count; |
233 |
/* |
234 |
* N W R I T E |
235 |
*/ |
236 |
+int |
237 |
Nwrite( fd, buf, count ) |
238 |
int fd; |
239 |
void *buf; |
240 |
@@ -782,7 +792,7 @@ int count; |
241 |
register int cnt; |
242 |
if( udp ) { |
243 |
again: |
244 |
- cnt = sendto( fd, buf, count, 0, &sinhim, sizeof(sinhim) ); |
245 |
+ cnt = sendto( fd, buf, count, 0, (struct sockaddr *)&sinhim, sizeof(sinhim) ); |
246 |
numCalls++; |
247 |
if( cnt<0 && errno == ENOBUFS ) { |
248 |
delay(18000); |
249 |
@@ -803,7 +813,7 @@ delay(us) |
250 |
|
251 |
tv.tv_sec = 0; |
252 |
tv.tv_usec = us; |
253 |
- (void)select( 1, (char *)0, (char *)0, (char *)0, &tv ); |
254 |
+ (void)select( 1, NULL, NULL, NULL, &tv ); |
255 |
} |
256 |
|
257 |
/* |