/***************************************************************************
* DBS: Distributed Benchmark System
* Copyright (c) 1995, 1996, 1997 Yukio Murayama
* Copyright (c) 1995, 1996, 1997 Nara Institute of Science and Technology
* All rights reserved.
*
* Permission to use, copy, modify and distribute this software and its
* documentation is hereby granted, provided only with the following
* conditions are satisfied:
*
* 1. Both the copyright notice and this permission notice appear in
* all copies of the software, derivative works or modified versions,
* and any portions thereof, and that both notices appear in
* supporting documentation.
* 2. All advertising materials mentioning features or use of this
* software must display the following acknowledgement:
* This product includes software developed by Nara Institute of
* Science and Technology and its contributors.
* 3. Neither the name of Nara Institute of Science and Technology nor
* the names of its contributors may be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND NARA
* INSTITUTE OF SCIENCE AND TECHNOLOGY DISCLAIMS ANY LIABILITY OF
* ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF
* THIS SOFTWARE. ALSO, THERE IS NO WARRANTY IMPLIED OR OTHERWISE,
* NOR IS SUPPORT PROVIDED.
*
* Feedback of the results generated from any improvements or
* extensions made to this software would be much appreciated.
* Any such feedback should be sent to:
*
* Yukio Murayama
* E-mail: <yukio-m@is.aist-nara.ac.jp>
* URL: <http://shika.aist-nara.ac.jp/member/yukio-m/index.html>
* Address: Graduate School of Information Science,
* Nara Institute of Science and Technology,
* Takayama 8916-5, Ikoma, Nara, Japan
*
* Nara Institute of Science and Technology has the rights to
* redistribute these changes.
***************************************************************************/
/*****************************************************************
* Distributed Benchmark System
* DBS NET Header File
* $Revision: 1.9 $
* $Date: 1997/02/11 03:14:17 $
* $Author: yukio-m $
*****************************************************************/
/*
* DBSC and DBSD Common List
*
* Through *Network* (Network Bite Order Only)
*/
/***** command list through network *****/
struct net_timeval {
int tv_sec;
int tv_usec;
};
struct net_cmd {
/* ASSOSIATION */
char dsthostname[MAXHOSTNAME]; /* Destination Hostname */
char srchostname[MAXHOSTNAME]; /* Source Hostname */
int transport; /* 1:TCP 2:UDP */
int sendflg; /* 1:SEND 2:RECEIVE */
int serverflg; /* 1:SERVER 2:CLIENT */
int source_port; /* Source Port */
int dest_port; /* Destination Port */
/* TIME */
struct net_timeval start_time; /* Start Time */
struct net_timeval end_time; /* End Time */
/* TRAFFIC*/
int traffic_n; /* Traffic Pattern */
/* Only Sender */
int send_times; /* Sending Times */
/* Only Reciver */
int total_size; /* Total Data Size(byte) */
int total_message; /* Total Message(Times) */
/* MEMORY ALIGN*/
int mem_align; /* Memory Align */
int align_offset; /* Memory Align */
int align_pad; /* Memory Align */
int connection_mode; /* PRE or AFTER */
/* SOCKET */
int send_buff; /* Send Buffer Size */
int recv_buff; /* Receive Buffer Size */
int so_debug; /* SO_DEBUG ON or OFF */
int no_delay; /* NO_DELAY ON or OFF */
int tcp_trace; /* TCP_TRACE ON or OFF */
int mss; /* MSS */
/* RECORD BUFFER */
int record_buff;
int trace_buff;
};
/***** traffic list through network *****/
struct net_traffic {
int size;
int packet;
int esleep;
int isleep;
};
/***** Time Record Structure *****/
struct record_d_net {
int tv_sec;
int tv_usec;
int packet_no;
int packet_size;
};
/***** TCP Trace Structure *****/
struct tcp_trace_d_net {
int td_time;
int td_act;
int th_seq; /* sequence number */
int th_ack; /* acknowledgement number */
int len; /* length */
int th_flags; /* ACK, FIN, PUSH, RST, SYN, URG */
int t_state; /* state of this connection */
int t_rxtshift; /* log(2) of rexmt exp. backoff */
int t_rxtcur; /* current retransmit value */
int t_dupacks; /* consecutive dup acks recd */
int t_maxseg; /* maximum segment size */
int t_force; /* 1 if forcing out a byte */
int t_flags;
/* send sequence variables */
int snd_una; /* send unacknowledged */
int snd_nxt; /* send next */
int snd_wl1; /* window update seg seq number */
int snd_wl2; /* window update seg ack number */
int iss; /* initial send sequence number */
int snd_wnd; /* send window */
/* receive sequence variables */
int rcv_wnd; /* receive window */
int rcv_nxt; /* receive next */
int irs; /* initial receive sequence number */
/* receive variables */
int rcv_adv; /* advertised window */
/* retransmit variables */
int snd_max; /* highest sequence number sent; used to recognize retransmits */
/* congestion control (for slow start, source quench, retransmit after loss) */
int snd_cwnd; /* congestion-controlled window */
int snd_ssthresh; /* snd_cwnd size threshhold for slow start exponential to linear switch */
int t_idle; /* inactivity time */
int t_rtt; /* round trip time */
int t_rtseq; /* sequence number being timed */
int t_srtt; /* smoothed round-trip time */
int t_rttvar; /* variance in round-trip time */
int t_rttmin; /* minimum rtt allowed */
int max_sndwnd; /* largest window peer has offered */
};
syntax highlighted by Code2HTML, v. 0.9.1