_init _fini __libc_start_main __gmon_start__ _Jv_RegisterClasses stderr fwrite getopt optarg __strtol_internal timeout hash bufalign b_flag nodelay seed log_cnt burstn bufoffset pri bufmin bufsleep touchdata stdout fprintf exit sockbufsize options do_help seq_info buflen nbuf port do_Usage trans sinkmode udp verbose rndm optind malloc srandom sinhim memset host inet_addr sinme socket fd ctime bind setsockopt fplog sigpipe signal __errno_location listen fromlen domain select sockets_err frominet accept getpeername inet_ntoa prep_timer nbytes numCalls no_start start_pattern Nwrite usleep no_data debug hash_print hash_done read_timer no_end end_pattern result_summary close_log fflush udp_rcv_test Nread getprotobyname connect getsockopt gethostbyname bcopy open_log memcmp tvadd tvsub calc_cpu_time calc_real_time outfmt prusage fputc perror __ctype_b sprintf gettimeofday getrusage _IO_putc psecs puts mread recvfrom sendto logfile fopen localtime fclose _DYNAMIC_LINKING __RLD_MAP libc.so.6 _gp_disp _IO_stdin_used GLIBC_2.2 GLIBC_2.0 
SIGPIPE hidrstuvxHVBDTLb:f:l:n:p:A:O:S:N:P:R:I:w:#: %s %s -t -r ttcp%s: buflen=%d, nbuf=%d, align=%d/%d, port=%d ttcp-t ttcp-r %s: start time %s %s: File-Descriptor 0x%x Opened setsockopt: sndbuf %6d udp tcp # %s sender -> %s # select listen ttcp-r: accept from %s error from the socket write ttcp-t: %5d | %d Bytes Written in %d write commands IO ttcp%s: File-Descriptor fd 0x%x Closed ttcp done. ttcp%s: %5d | %d Bytes Read write getpeername accept setsockopt listen connect setsockopt: nodelay # %s receiver # setsockopt: priority 0 sockbufsize=%d, setsockopt: rcvbuf sockbufsndsize=%d, sockbufrcvsize=%d, bind socket bad hostname ttcp: missing destination host arg %6d %6d %6d %6d %4d malloc ttcp: minimum buffer size specified with -R option must be less than or equal to (maximum) buffer size specified with -l ttcp: maximum buffer size specified with -l option must be <= 65536 ttcp: minimum buffer size specified with -R option must be non-negative ttcp: buffers per burst must be less than or equal to total number of buffers -- ttcp: illegal option: %s ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? ? ` ? 0 ? | ? 0 ? 0 ? 0 ? ? ? 0 ? 0 ? ? 0 ? ? \ ? ? 0 ? ? @ ? ? 0 ? ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? 0 ? d ? 0 ? ? 0 ? ? 0 ? ? 0 ? 0 ? 0 ? L ? 0 ? ? 0 ? ? 0 ? X ? p ? ? ? ? | ? ? ERROR: Out of sequence. Buffer %u, seq %u, expected %u ttcp-r: %5d | %d Bytes Read ERROR: Found UDP end packet before start packet or data. ERROR: Missed UDP start packet. ERROR: Found UDP start packet while receiving data. ERROR: Expected more data packets or an end packet. ERROR: Found UDP end packet without receiving any data packets. ttcp-r: packets %u data, %u start, %u end ttcp-r: %g%% (%u/%u) packet loss ERROR: time calc mismatch of msec (%d) to usec (%f) .A @ @ .A @ @%s: %.0f bytes in %.06f real seconds = %s/sec +++ %s: %ld I/O calls, %.3f msec(real)/call, %.3f msec(cpu)/call %s: %ld.%06ld %.1f 1 %10.0f %4.06f %4.3f %6ld %s: buffer address %#x %s: %.0f bytes in %.06f cpu seconds = %s/cpu sec %s: real time too short, set at %.0f usec, NOT accurate result. %s: cpu time too short set at %.0f usec, NOT accurate result. .A @ @ @ @ .A%s: errno=%d ttcp%s: %s %.3f GB %4f B %.3f KB %.3f MB %4f b %.3f Gbit %.3f Kbit default.......... %.3f Mbit ? ? ? ? ? ? ? ? ? ? ? H ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p ? ? ? ? ? ? ? ? ? ? ? \ ? %Uuser %Ssys %Ereal %P %Xi+%Dd %Mmaxrss %F+%Rpf %Ccsw %ld.%06ld %ld+%ld %ld %.1f%% %d timers : end startup user (sec) : %9ld %9ld user (usec): %9ld %9ld sys (sec) : %9ld %9ld sys (usec): %9ld %9ld time (sec) : %9ld %9ld time (usec): %9ld %9ld @ @ ? ? h ? ? < ? < ? ? < ? ? < ? ` ? < ? ? ? < ? ? $ ? < ? 8 ? < ? P ? ? %d: %.2d:%.2d %d:%.2d select read ttcp_mread r t %s_%s open the log file >%s< a+ creation date : %02d-%02d-%02d %02d:%02d format ,buflen, nbuf(byte), bufalign(byte), bufoffset(byte) , port, sockbufsize(byte), UserTime(sec), SysTime(sec) , CPUusage(%%), Validity, nbytes(byte), realt(sec) , rate(MB/sec), I/O call, hours*3600+min*60+sec Failure : creation of the file >%s< Failure : access of the file >%s< %d Details about the reply: Example: ttcp-t: buflen=8192, nbuf=100, align=16384/0, port=5010 ttcp-t: File-Descriptor 0x4 Opened # tcp sender -> <host> # ttcp-t: 819200 bytes in 1.152557 real seconds = 694.109 KB/sec +++ ttcp-t: 100 I/O calls, 11.526 msec(real)/call, 0.213 msec(cpu)/call ttcp-t: 0.001914user 0.019388sys 0:01real 1% 9i+58d 190maxrss 1+2pf 177+180csw ttcp-t: buffer address 0x28000 ttcp-t: File-Descriptor fd 0x4 Closed ttcp done. cpu seconds == (sec) elapse ru_utime + elapse ru_stime. ru_utime == The total amount of time running in user mode. ru_stime == The total amount of time spent in the system. executing on behalf of the process. real seconds == elapse time calculated by the system timer (date). I/O calls == I/O call to the driver. msec/call == average elapse time (Real seconds) between each I/O. calls/sec == invert of msec/call. user == (sec.msec) elaspe ru_utime. sys == (sec.msec) elapse ru_stime. real == (min:sec) CPU seconds. %% == Real seconds / CPU seconds. (ru_ixrss)i+(ru_idrss)d ru_ixrss == An integral value indicating the amount of memory used by the text segment that was also shared among other processes. This value is expressed in units of kilobytes * seconds-of-execution and is calculated by adding the number of shared memory pages in use each time the internal system clock ticks, and then averaging over one-second intervals. ru_idrss == An integral value of the amount of unshared memory in the data segment of a process (expressed in units of kilobytes * seconds-of-execution). (ru_maxrss/2)maxrss. ru_maxrss == The maximum size, in kilobytes, of the used resident set size. (ru_majflt)+(ru_minflt)pf : Page fault ru_majflt == The number of page faults serviced that required I/O activity. ru_minflt == The number of page faults serviced without any I/O activity. In this case, I/O activity is avoided by reclaiming a page frame from the list of pages awaiting reallocation. (ru_nvcsw)+(ru_nivcsw)csw : context switch ru_nvcsw == The number of times a context switch resulted because a process voluntarily gave up the processor before its time slice was completed. This usually occurs while the process waits for availability of a resource. ru_nivcsw == The number of times a context switch resulted because a higher priority process ran or because the current process exceeded its time slice. log file format : buflen, nbuf(byte), bufalign(byte), bufoffset(byte) port, sockbufsize(byte), UserTime(sec), SysTime(sec), CPUusage(%) nbytes(byte), realt(sec), rate(MB/sec), I/O call, hours*3600+min*60+sec Usage: ttcp -t [-options] host [ < in ] ttcp -r [-options > out] Example: ttcp -t -s -v -n100 host ttcp -r -s -v -n100 Common options: -V prints version number and date of last modification -L create and append all results to a file named ttcp_log -h more help -l ## length of bufs read from or written to network (default 8192, max 65535) -u use UDP instead of TCP -p ## port number to send to or listen at (default 5001) -P ## link-layer priority (default 0) -s (ttcp -t) : source a pattern to network (ttcp -r) : sink (discard) all data from network -A ## align the start of buffers to this modulus (default 16384) -O ## start buffers at this offset from the modulus (default 0) -v verbose: print more statistics -d set SO_DEBUG socket option -b ## set socket buffer size (if supported) -f X format for rate: b,B = bits, bytes k,K = kilo{bits,bytes}; m,M = mega{bits,bytes}; g,G = giga{bits,bytes} -w ## set timeout value (in milliseconds) to exit if no receive data or tcp connect Options specific to (ttcp -t) : -n ## number of source bufs written to network (default 2048) -x use random data in tcp/udp frames (-I provides seed) -D don't buffer TCP writes (sets TCP_NODELAY socket option) -H print hash marks to indicate progress, one per buffer -# ## number of buffers to send between hash marks (implies -H) -I init/seed value for RNG when sending random size bufs (default 1) -N ## number of source bufs per burst, i.e between sleeps (default 1) -R ## send random size buffers with minimum size specified, max size is value of -l option -S ## millisecs between bursts (10ms resolution) Options specific to (ttcp -r) : -B for -s, only output full blocks as specified by -l (for TAR) -T "touch": access each byte as it's read -i report information on out of order sequence numbers
ttcp.c $- CERN Revision: 3.8 (dev level) -$ Epigram 15-jul-98 ttcp_log @ A
GCC: (GNU) 3.2.3 with Broadcom modifications GCC: (GNU) 3.2.3 with Broadcom modifications GCC: (GNU) 3.2.3 with Broadcom modifications GCC: (GNU) 3.2.3 with Broadcom modifications GCC: (GNU) 3.2.3 with Broadcom modifications GCC: (GNU) 3.2.3 with Broadcom modifications
.shstrtab .interp .note.ABI-tag .reginfo .dynamic .hash .dynsym .dynstr .gnu.version .gnu.version_r .init .text .fini .rodata .data .rld_map .eh_frame .ctors .dtors .jcr .got .sbss .bss .comment .pdr .mdebug.abi32