102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project/*
202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project *       Copyright (C) 1995,2004 Hewlett-Packard Company
302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project */
402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* This file contains the test-specific definitions for netperf's BSD */
602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* sockets tests */
702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_tcp_stream_request_struct {
902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_buf_size;
1002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;	/* how big does the client want it - the */
1102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* receive socket buffer that is */
1202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	receive_size;   /* how many bytes do we want to receive at one */
1302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* time? */
1402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_alignment; /* what is the alignment of the receive */
1502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* buffer? */
1602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_offset;    /* and at what offset from that alignment? */
1702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	no_delay;       /* do we disable the nagle algorithm for send */
1802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* coalescing? */
1902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;	/* does the client want server cpu utilization */
2002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* measured? */
2102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;	/* do we know how fast the cpu is already? */
2202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;	/* how long is the test?		*/
2302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;    /* do we want the remote to avoid copies on */
2402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* receives? */
2502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;    /* do we want the remote to avoid send copies? */
2602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int   dirty_count;    /* how many integers in the receive buffer */
2702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* should be made dirty before calling recv? */
2802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int   clean_count;    /* how many integers should be read from the */
2902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* recv buffer before calling recv? */
3002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int   dev_name_len;   /* the length of the device name string. this */
3102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* is used to put it into the proper order on */
3202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* @#$% byte-swapped boxes... */
3302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  char  xti_device[32]; /* the path to the dlpi device */
3402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
3502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
3602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_tcp_stream_response_struct {
3702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;	/* how big does the client want it	*/
3802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	receive_size;
3902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	no_delay;
4002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;	/* does the client want server cpu	*/
4102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;	/* how long is the test?		*/
4202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_buf_size;
4302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	data_port_number;	/* connect to me here	*/
4402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;		/* could we measure	*/
4502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;	/* could the remote avoid receive copies? */
4602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;	/* could the remote avoid send copies? */
4702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
4802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
4902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct xti_tcp_stream_results_struct {
5002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  double         bytes_received;
5102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	 recv_calls;
5202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	         elapsed_time;	/* how long the test ran */
5302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	         cpu_util;	/* -1 if not measured */
5402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	         serv_dem;	/* -1 if not measured */
5502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int            cpu_method;    /* how was cpu util measured? */
5602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int            num_cpus;      /* how many CPUs were there */
5702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
5802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
5902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_tcp_rr_request_struct {
6002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;	/* how big does the client want it	*/
6102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_buf_size;
6202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_alignment;
6302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_offset;
6402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_alignment;
6502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_offset;
6602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	request_size;
6702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	response_size;
6802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	no_delay;
6902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;	/* does the client want server cpu	*/
7002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;	/* do we know how fast the cpu is?	*/
7102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;	/* how long is the test?		*/
7202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;    /* do we want the remote to avoid receive */
7302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* copies? */
7402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;    /* do we want the remote to avoid send copies? */
7502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int   dev_name_len;   /* the length of the device name string. this */
7602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* is used to put it into the proper order on */
7702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* @#$% byte-swapped boxes... */
7802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  char  xti_device[32]; /* the path to the dlpi device */
7902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
8002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
8102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_tcp_rr_response_struct {
8202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;	/* how big does the client want it	*/
8302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	no_delay;
8402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;	/* does the client want server cpu	*/
8502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;	/* how long is the test?		*/
8602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_buf_size;
8702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	data_port_number;	/* connect to me here	*/
8802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;		/* could we measure	*/
8902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;	/* could the remote avoid receive copies? */
9002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;	/* could the remote avoid send copies? */
9102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
9202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
9302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct xti_tcp_rr_results_struct {
9402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int  bytes_received;	/* ignored initially */
9502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	recv_calls;	/* ignored initially */
9602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	trans_received;	/* not ignored  */
9702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        elapsed_time;	/* how long the test ran */
9802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        cpu_util;	/* -1 if not measured */
9902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        serv_dem;	/* -1 if not measured */
10002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int           cpu_method;    /* how was cpu util measured? */
10102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int           num_cpus;      /* how many CPUs were there */
10202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
10302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
10402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_tcp_conn_rr_request_struct {
10502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;	/* how big does the client want it	*/
10602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_buf_size;
10702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_alignment;
10802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_offset;
10902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_alignment;
11002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_offset;
11102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	request_size;
11202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	response_size;
11302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	no_delay;
11402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;	/* does the client want server cpu	*/
11502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;	/* do we know how fast the cpu is?	*/
11602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;	/* how long is the test?		*/
11702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;    /* do we want the remote to avoid receive */
11802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* copies? */
11902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;    /* do we want the remote to avoid send copies? */
12002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int   dev_name_len;   /* the length of the device name string. this */
12102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* is used to put it into the proper order on */
12202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* @#$% byte-swapped boxes... */
12302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  char  xti_device[32]; /* the path to the dlpi device */
12402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
12502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
12602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
12702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_tcp_conn_rr_response_struct {
12802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;	/* how big does the client want it	*/
12902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	no_delay;
13002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;	/* does the client want server cpu	*/
13102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;	/* how long is the test?		*/
13202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_buf_size;
13302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	data_port_number;	/* connect to me here	*/
13402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;		/* could we measure	*/
13502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;	/* could the remote avoid receive copies? */
13602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;	/* could the remote avoid send copies? */
13702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
13802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
13902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct xti_tcp_conn_rr_results_struct {
14002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	bytes_received;	/* ignored initially */
14102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	recv_calls;	/* ignored initially */
14202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	trans_received;	/* not ignored  */
14302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        elapsed_time;	/* how long the test ran */
14402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        cpu_util;	/* -1 if not measured */
14502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        serv_dem;	/* -1 if not measured */
14602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int           cpu_method;    /* how was cpu util measured? */
14702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int           num_cpus;      /* how many CPUs were there */
14802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
14902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
15002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_udp_stream_request_struct {
15102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;
15202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	message_size;
15302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_alignment;
15402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_offset;
15502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	checksum_off;   /* not used. left in for compatibility */
15602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;
15702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;
15802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;
15902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;    /* do we want the remote to avoid receive */
16002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* copies? */
16102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;    /* do we want the remote to avoid send copies? */
16202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int   dev_name_len;   /* the length of the device name string. this */
16302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* is used to put it into the proper order on */
16402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* @#$% byte-swapped boxes... */
16502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  char  xti_device[32]; /* the path to the dlpi device */
16602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
16702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
16802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_udp_stream_response_struct {
16902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;
17002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_buf_size;
17102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;
17202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;
17302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	data_port_number;
17402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;
17502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;	/* could the remote avoid receive copies? */
17602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;	/* could the remote avoid send copies? */
17702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
17802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
17902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_udp_stream_results_struct {
18002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	messages_recvd;
18102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	bytes_received;
18202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        elapsed_time;
18302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        cpu_util;
18402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int           cpu_method;    /* how was cpu util measured? */
18502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int           num_cpus;      /* how many CPUs were there */
18602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
18702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
18802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
18902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_udp_rr_request_struct {
19002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;	/* how big does the client want it	*/
19102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_buf_size;
19202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_alignment;
19302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_offset;
19402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_alignment;
19502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_offset;
19602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	request_size;
19702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	response_size;
19802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	no_delay;
19902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;	/* does the client want server cpu	*/
20002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;	/* do we know how fast the cpu is?	*/
20102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;	/* how long is the test?		*/
20202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;    /* do we want the remote to avoid receive */
20302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* copies? */
20402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;    /* do we want the remote to avoid send copies? */
20502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int   dev_name_len;   /* the length of the device name string. this */
20602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* is used to put it into the proper order on */
20702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project			/* @#$% byte-swapped boxes... */
20802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  char  xti_device[32]; /* the path to the dlpi device */
20902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
21002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
21102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct	xti_udp_rr_response_struct {
21202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	recv_buf_size;	/* how big does the client want it	*/
21302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	no_delay;
21402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	measure_cpu;	/* does the client want server cpu	*/
21502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	test_length;	/* how long is the test?		*/
21602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	send_buf_size;
21702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	data_port_number;	/* connect to me here	*/
21802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	cpu_rate;		/* could we measure	*/
21902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_rcvavoid;	/* could the remote avoid receive copies? */
22002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int	so_sndavoid;	/* could the remote avoid send copies? */
22102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
22202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
22302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct xti_udp_rr_results_struct {
22402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	bytes_received;	/* ignored initially */
22502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	recv_calls;	/* ignored initially */
22602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  unsigned int	trans_received;	/* not ignored  */
22702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        elapsed_time;	/* how long the test ran */
22802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        cpu_util;	/* -1 if not measured */
22902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  float	        serv_dem;	/* -1 if not measured */
23002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int           cpu_method;    /* how was cpu util measured? */
23102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project  int           num_cpus;      /* how many CPUs were there */
23202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project};
23302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
23402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void send_xti_tcp_stream(char remote_host[]);
23502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
23602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void recv_xti_tcp_stream();
23702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
23802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void send_xti_tcp_rr(char remote_host[]);
23902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
24002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void send_xti_udp_stream(char remote_host[]);
24102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
24202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void recv_xti_udp_stream();
24302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
24402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void send_xti_udp_rr(char remote_host[]);
24502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
24602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void recv_xti_udp_rr();
24702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
24802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void recv_xti_tcp_rr();
24902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
25002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void send_xti_tcp_conn_rr(char remote_host[]);
25102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
25202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void recv_xti_tcp_conn_rr();
25302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
25402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void scan_xti_args(int argc, char *argv[]);
25502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
25602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
25702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
25802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
25902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
26002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
26102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
26202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
26302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
26402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project
265