102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project/* 202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project Copyright (C) 2007 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 SDP */ 602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* sockets tests */ 702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project/* one of these days, this should not be required */ 902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project#ifndef AF_INET_SDP 1002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project#define AF_INET_SDP 27 1102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project#define PF_INET_SDP AF_INET_SDP 1202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project#endif 1302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 1402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct sdp_stream_request_struct { 1502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_buf_size; 1602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_buf_size; /* how big does the client want it - the */ 1702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* receive socket buffer that is */ 1802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int receive_size; /* how many bytes do we want to receive at one */ 1902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* time? */ 2002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_alignment; /* what is the alignment of the receive */ 2102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* buffer? */ 2202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_offset; /* and at what offset from that alignment? */ 2302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int no_delay; /* do we disable the nagle algorithm for send */ 2402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* coalescing? */ 2502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int measure_cpu; /* does the client want server cpu utilization */ 2602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* measured? */ 2702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float cpu_rate; /* do we know how fast the cpu is already? */ 2802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int test_length; /* how long is the test? */ 2902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_rcvavoid; /* do we want the remote to avoid copies on */ 3002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* receives? */ 3102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_sndavoid; /* do we want the remote to avoid send copies? */ 3202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int dirty_count; /* how many integers in the receive buffer */ 3302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* should be made dirty before calling recv? */ 3402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int clean_count; /* how many integers should be read from the */ 3502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* recv buffer before calling recv? */ 3602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int port; /* the to port to which recv side should bind 3702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project to allow netperf to run through firewalls */ 3802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int ipfamily; /* address family of ipaddress */ 3902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int non_blocking; /* run the test in non-blocking mode */ 4002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project}; 4102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 4202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct sdp_stream_response_struct { 4302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_buf_size; /* how big does the client want it */ 4402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int receive_size; 4502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int no_delay; 4602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int measure_cpu; /* does the client want server cpu */ 4702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int test_length; /* how long is the test? */ 4802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_buf_size; 4902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int data_port_number; /* connect to me here */ 5002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float cpu_rate; /* could we measure */ 5102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_rcvavoid; /* could the remote avoid receive copies? */ 5202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_sndavoid; /* could the remote avoid send copies? */ 5302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int non_blocking; /* run the test in non-blocking mode */ 5402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project}; 5502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 5602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct sdp_stream_results_struct { 5702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project double bytes_received; 5802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project unsigned int recv_calls; 5902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float elapsed_time; /* how long the test ran */ 6002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float cpu_util; /* -1 if not measured */ 6102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float serv_dem; /* -1 if not measured */ 6202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int cpu_method; /* how was cpu util measured? */ 6302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int num_cpus; /* how many CPUs had the remote? */ 6402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project}; 6502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 6602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct sdp_rr_request_struct { 6702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_buf_size; /* how big does the client want it */ 6802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_buf_size; 6902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_alignment; 7002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_offset; 7102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_alignment; 7202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_offset; 7302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int request_size; 7402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int response_size; 7502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int no_delay; 7602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int measure_cpu; /* does the client want server cpu */ 7702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float cpu_rate; /* do we know how fast the cpu is? */ 7802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int test_length; /* how long is the test? */ 7902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_rcvavoid; /* do we want the remote to avoid receive */ 8002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* copies? */ 8102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_sndavoid; /* do we want the remote to avoid send copies? */ 8202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int port; /* the to port to which recv side should bind 8302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project to allow netperf to run through firewalls */ 8402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int ipfamily; /* address family of ipaddress */ 8502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int non_blocking; /* run the test in non-blocking mode */ 8602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project}; 8702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 8802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct sdp_rr_response_struct { 8902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_buf_size; /* how big does the client want it */ 9002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int no_delay; 9102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int measure_cpu; /* does the client want server cpu */ 9202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int test_length; /* how long is the test? */ 9302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_buf_size; 9402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int data_port_number; /* connect to me here */ 9502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float cpu_rate; /* could we measure */ 9602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_rcvavoid; /* could the remote avoid receive copies? */ 9702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_sndavoid; /* could the remote avoid send copies? */ 9802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int non_blocking; /* run the test in non-blocking mode */ 9902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project}; 10002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 10102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct sdp_rr_results_struct { 10202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project unsigned int bytes_received; /* ignored initially */ 10302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project unsigned int recv_calls; /* ignored initially */ 10402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project unsigned int trans_received; /* not ignored */ 10502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float elapsed_time; /* how long the test ran */ 10602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float cpu_util; /* -1 if not measured */ 10702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float serv_dem; /* -1 if not measured */ 10802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int cpu_method; /* how was cpu util measured? */ 10902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int num_cpus; /* how many CPUs had the remote? */ 11002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project}; 11102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 11202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct sdp_maerts_request_struct { 11302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_buf_size; 11402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_buf_size; /* how big does the client want it - the */ 11502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* receive socket buffer that is */ 11602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_size; /* how many bytes do we want netserver to send 11702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project at one time? */ 11802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_alignment; /* what is the alignment of the send */ 11902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* buffer? */ 12002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_offset; /* and at what offset from that alignment? */ 12102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int no_delay; /* do we disable the nagle algorithm for send */ 12202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* coalescing? */ 12302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int measure_cpu; /* does the client want server cpu utilization */ 12402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* measured? */ 12502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float cpu_rate; /* do we know how fast the cpu is already? */ 12602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int test_length; /* how long is the test? */ 12702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_rcvavoid; /* do we want the remote to avoid copies on */ 12802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* receives? */ 12902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_sndavoid; /* do we want the remote to avoid send copies? */ 13002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int dirty_count; /* how many integers in the send buffer */ 13102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* should be made dirty before calling recv? */ 13202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int clean_count; /* how many integers should be read from the */ 13302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project /* recv buffer before calling recv? */ 13402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int port; /* the port to which the recv side should bind 13502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project to allow netperf to run through those evil 13602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project firewall things */ 13702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int ipfamily; 13802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project}; 13902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 14002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct sdp_maerts_response_struct { 14102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int recv_buf_size; /* how big does the client want it */ 14202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_size; 14302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int no_delay; 14402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int measure_cpu; /* does the client want server cpu */ 14502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int test_length; /* how long is the test? */ 14602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int send_buf_size; 14702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int data_port_number; /* connect to me here */ 14802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float cpu_rate; /* could we measure */ 14902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_rcvavoid; /* could the remote avoid receive copies? */ 15002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int so_sndavoid; /* could the remote avoid send copies? */ 15102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project}; 15202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 15302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectstruct sdp_maerts_results_struct { 15402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project double bytes_sent; 15502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project unsigned int send_calls; 15602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float elapsed_time; /* how long the test ran */ 15702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float cpu_util; /* -1 if not measured */ 15802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project float serv_dem; /* -1 if not measured */ 15902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int cpu_method; /* how was cpu util measured? */ 16002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project int num_cpus; /* how many CPUs had the remote? */ 16102fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project}; 16202fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 16302fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void send_sdp_stream(); 16402fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void send_sdp_rr(); 16502fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 16602fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void recv_sdp_stream(); 16702fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void recv_sdp_rr(); 16802fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Project 16902fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void loc_cpu_rate(); 17002fb0aca1189a2c1fd20806c588e9ee80d9755f8The Android Open Source Projectextern void rem_cpu_rate(); 171