diff options
Diffstat (limited to 'nettest_dlpi.h')
-rw-r--r-- | nettest_dlpi.h | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/nettest_dlpi.h b/nettest_dlpi.h new file mode 100644 index 0000000..8169237 --- /dev/null +++ b/nettest_dlpi.h @@ -0,0 +1,215 @@ +/* + Copyright (C) 1993, Hewlett-Packard Company +*/ + + /* This file contains the test-specific definitions for netperf's */ + /* DLPI tests */ + + +struct dlpi_co_stream_request_struct { + int recv_win_size; + int send_win_size; + int receive_size; /* how many bytes do we want to */ + /* receive at one time? */ + int recv_alignment; /* what is the alignment of the */ + /* receive buffer? */ + int recv_offset; /* and at what offset from that */ + /* alignment? */ + int measure_cpu; /* does the client want server cpu */ + /* utilization measured? */ + float cpu_rate; /* do we know how fast the cpu is */ + /* already? */ + int test_length; /* how long is the test? */ + int so_rcvavoid; /* do we want the remote to avoid */ + /* copies on receives? */ + int so_sndavoid; /* do we want the remote to avoid send copies? */ + int dirty_count; /* how many integers in the receive buffer */ + /* should be made dirty before calling recv? */ + int clean_count; /* how many integers should be read from the */ + /* recv buffer before calling recv? */ + int sap; /* */ + int ppa; /* which device do we wish to use? */ + int dev_name_len; /* the length of the device name string. this */ + /* is used to put it into the proper order on */ + /* @#$% byte-swapped boxes... */ + char dlpi_device[32]; /* the path to the dlpi device */ +}; + +struct dlpi_co_stream_response_struct { + int recv_win_size; /* how big does the client want it */ + int send_win_size; + int receive_size; + int measure_cpu; /* does the client want server cpu */ + int test_length; /* how long is the test? */ + int data_port_number; /* connect to me here */ + float cpu_rate; /* could we measure */ + int so_rcvavoid; /* could the remote avoid receive copies? */ + int so_sndavoid; /* could the remote avoid send copies? */ + int station_addr_len; + int station_addr[1];/* what is the station address for the */ + /* specified ppa? */ +}; + +struct dlpi_co_stream_results_struct { + int bytes_received; /* ignored initially */ + int recv_calls; /* ignored initially */ + float elapsed_time; /* how long the test ran */ + float cpu_util; /* -1 if not measured */ + float serv_dem; /* -1 if not measured */ + int cpu_method; /* how was CPU util measured? */ + int num_cpus; /* how many CPUs were there? */ +}; + +struct dlpi_co_rr_request_struct { + int recv_win_size; /* how big does the client want it */ + int send_win_size; + int recv_alignment; + int recv_offset; + int send_alignment; + int send_offset; + int request_size; + int response_size; + int measure_cpu; /* does the client want server cpu */ + float cpu_rate; /* do we know how fast the cpu is? */ + int test_length; /* how long is the test? */ + int so_rcvavoid; /* do we want the remote to avoid receive copies? */ + int so_sndavoid; /* do we want the remote to avoid send copies? */ + int ppa; /* which device do we wish to use? */ + int sap; /* which sap should be used? */ + int dev_name_len; /* the length of the device name string. this */ + /* is used to put it into the proper order on */ + /* @#$% byte-swapped boxes... */ + char dlpi_device[32]; /* the path to the dlpi device */ +}; + +struct dlpi_co_rr_response_struct { + int recv_win_size; /* how big does the client want it */ + int send_win_size; + int measure_cpu; /* does the client want server cpu */ + int test_length; /* how long is the test? */ + int data_port_number; /* connect to me here */ + float cpu_rate; /* could we measure */ + int so_rcvavoid; /* could the remote avoid receive copies? */ + int so_sndavoid; /* could the remote avoid send copies? */ + int station_addr_len; /* the length of the station address */ + int station_addr[1]; /* the remote's station address */ +}; + +struct dlpi_co_rr_results_struct { + int bytes_received; /* ignored initially */ + int recv_calls; /* ignored initially */ + int trans_received; /* not ignored */ + float elapsed_time; /* how long the test ran */ + float cpu_util; /* -1 if not measured */ + float serv_dem; /* -1 if not measured */ + int cpu_method; /* how was CPU util measured? */ + int num_cpus; /* how many CPUs were there? */ +}; + +struct dlpi_cl_stream_request_struct { + int recv_win_size; + int message_size; + int recv_alignment; + int recv_offset; + int checksum_off; + int measure_cpu; + float cpu_rate; + int test_length; + int so_rcvavoid; /* do we want the remote to avoid receive copies? */ + int so_sndavoid; /* do we want the remote to avoid send copies? */ + int ppa; /* which device do we wish to use? */ + int sap; + int dev_name_len; /* the length of the device name string. this */ + /* is used to put it into the proper order on */ + /* @#$% byte-swapped boxes... */ + char dlpi_device[32]; /* the path to the dlpi device */ +}; + +struct dlpi_cl_stream_response_struct { + int recv_win_size; + int send_win_size; + int measure_cpu; + int test_length; + int data_port_number; + float cpu_rate; + int so_rcvavoid; /* could the remote avoid receive copies? */ + int so_sndavoid; /* could the remote avoid send copies? */ + int station_addr_len; /* the length of the station address */ + int station_addr[1]; /* the remote's station address */ +}; + +struct dlpi_cl_stream_results_struct { + int messages_recvd; + int bytes_received; + float elapsed_time; + float cpu_util; + int num_cpus; +}; + + +struct dlpi_cl_rr_request_struct { + int recv_win_size; /* how big does the client want it */ + int send_win_size; + int recv_alignment; + int recv_offset; + int send_alignment; + int send_offset; + int request_size; + int response_size; + int no_delay; + int measure_cpu; /* does the client want server cpu */ + float cpu_rate; /* do we know how fast the cpu is? */ + int test_length; /* how long is the test? */ + int so_rcvavoid; /* do we want the remote to avoid receive */ + /* copies? */ + int so_sndavoid; /* do we want the remote to avoid send copies? */ + int ppa; /* which device do we wish to use? */ + int sap; /* which sap? */ + int dev_name_len; /* the length of the device name string. this */ + /* is used to put it into the proper order on */ + /* @#$% byte-swapped boxes... */ + char dlpi_device[32]; /* the path to the dlpi device */ +}; + +struct dlpi_cl_rr_response_struct { + int recv_win_size; /* how big does the client want it */ + int send_win_size; + int no_delay; + int measure_cpu; /* does the client want server cpu */ + int test_length; /* how long is the test? */ + int data_port_number; /* connect to me here */ + float cpu_rate; /* could we measure */ + int so_rcvavoid; /* could the remote avoid receive copies? */ + int so_sndavoid; /* could the remote avoid send copies? */ + int station_addr_len; /* the length of the station address */ + int station_addr[1]; /* the remote's station address */ +}; + +struct dlpi_cl_rr_results_struct { + int bytes_received; /* ignored initially */ + int recv_calls; /* ignored initially */ + int trans_received; /* not ignored */ + float elapsed_time; /* how long the test ran */ + float cpu_util; /* -1 if not measured */ + float serv_dem; /* -1 if not measured */ + int cpu_method; /* how was CPU util measured? */ + int num_cpus; /* how many CPUs were there? */ +}; + +extern void send_dlpi_co_stream(); + +extern int recv_dlpi_co_stream(); + +extern int send_dlpi_co_rr(char remote_host[]); + +extern void send_dlpi_cl_stream(char remote_host[]); + +extern int recv_dlpi_cl_stream(); + +extern int send_dlpi_cl_rr(char remote_host[]); + +extern int recv_dlpi_cl_rr(); + +extern int recv_dlpi_co_rr(); + +extern void scan_dlpi_args(int argc, char *argv[]); |