diff options
Diffstat (limited to 'src/netsh.h')
-rw-r--r-- | src/netsh.h | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/src/netsh.h b/src/netsh.h new file mode 100644 index 0000000..e45de38 --- /dev/null +++ b/src/netsh.h @@ -0,0 +1,216 @@ +/* + Copyright (C) 1993-2012 Hewlett-Packard Company +*/ + +/* libraried performance include file */ +/* the define NOPERFEXTERN tels us not to re-define all the */ + +/* defines and defaults */ +#define HOSTNAMESIZE 255 +#define PORTBUFSIZE 10 +#define DEFAULT_SIZE 32768 +#define HOST_NAME "127.0.0.1" +#define TEST_PORT "12865" + +/* output controlling variables */ +#define DEBUG 0 /* debugging level */ +#define VERBOSITY 0 /* verbosity level */ + +/* the end-test conditions for the tests - either transactions, bytes, */ +/* or time. different vars used for clarity - space is cheap ;-) */ +#define TEST_TIME 10 /* test ends by time */ +#define TEST_BYTES 0 /* test ends on byte count */ +#define TEST_TRANS 0 /* test ends on tran count */ + +/* the alignment conditions for the tests */ +#define LOC_RECV_ALIGN 4 /* alignment for local receives */ +#define LOC_SEND_ALIGN 4 /* alignment for local sends */ +#define REM_RECV_ALIGN 4 /* alignment for remote receive */ +#define REM_SEND_ALIGN 4 /* alignment for remote sends */ + +/* which way are we going and what are we doing in this handbasket?-) */ +#define NETPERF_XMIT 0x2 +#define NETPERF_RECV 0x4 + +#define NETPERF_IS_RR(x) (((x & NETPERF_XMIT) && (x & NETPERF_RECV)) || \ + (!((x & NETPERF_XMIT) || (x & NETPERF_RECV)))) + +#define NETPERF_RECV_ONLY(x) ((x & NETPERF_RECV) && !(x & NETPERF_XMIT)) + +#define NETPERF_XMIT_ONLY(x) ((x & NETPERF_XMIT) && !(x & NETPERF_RECV)) + +#define NETPERF_CC(x) (!(x & NETPERF_XMIT) && !(x & NETPERF_RECV)) + + +/* misc defines for the hell of it */ +#ifndef MAXLONG +#define MAXLONG 4294967295UL +#endif /* MAXLONG */ + +#ifdef WANT_DCCP + +/* include netinet/in.h to see if SOCK_DCCP and IPPROTO_DCCP are there */ +#include <netinet/in.h> + +#ifndef SOCK_DCCP +#define DCCP_WARNING +#define SOCK_DCCP 6 +#endif + +#ifndef IPPROTO_DCCP +#define DCCP_WARNING +#define IPPROTO_DCCP 33 /* defined by the IANA */ +#endif + +#ifndef SOL_DCCP +#define DCCP_WARNING +#define SOL_DCCP 269 +#endif + +#ifdef DCCP_WARNING +#warning This platform is missing one of sock_dccp ipproto_dccp or sol_dccp +#endif + +#endif + +#ifndef NETSH +extern char *program; /* program invocation name */ +extern char *command_line; /* how we were invoked */ + +extern char *passphrase; + +/* stuff to say where this test is going */ +extern char host_name[HOSTNAMESIZE];/* remote host name or ip addr */ +extern char local_host_name[HOSTNAMESIZE]; +extern char test_port[PORTBUFSIZE]; /* where is the test waiting */ +extern char local_test_port[PORTBUFSIZE]; +extern int address_family; +extern int local_address_family; +extern int parse_address_family(char family_string[]); +extern int parse_socket_type(char socket_string[]); +extern int parse_protocol(char protocol_string[]); +extern int parse_direction(char direction_string[]); +extern void set_defaults(); +extern void scan_cmd_line(int argc, char *argv[]); +extern void dump_globals(); +extern void break_args(char *s, char *arg1, char *arg2); +extern void break_args_explicit(char *s, char *arg1, char *arg2); +extern void break_args_explicit_sep(char *s, int sep, char *arg1, char *arg2); +extern void print_netserver_usage(); + +/* output controlling variables */ +extern int + debug, /* debugging level */ + print_headers, /* do/don't print test headers */ + verbosity, /* verbosity level */ + keep_histogram, /* do we keep a histogram of interesting times? */ + keep_statistics; /* do we keep/calculate expensive statistics? */ + +/* the end-test conditions for the tests - either transactions, bytes, */ +/* or time. different vars used for clarity - space is cheap ;-) */ +extern int + test_time, /* test ends by time */ + test_len_ticks, + test_bytes, /* test ends on byte count */ + test_trans; /* test ends on tran count */ + +/* wait time between control/data connection establishment and start + of data traffic */ +extern int wait_time_secs; + +/* the alignment conditions for the tests */ +extern int + local_recv_align, /* alignment for local receives */ + local_send_align, /* alignment for local sends */ + remote_recv_align, /* alignment for remote receives */ + remote_send_align, /* alignment for remote sends */ + local_send_offset, + local_recv_offset, + remote_send_offset, + remote_recv_offset, + remote_send_width, + remote_recv_width; + +/* hoist these above the #if to deal with either netperf or netserver + configured for it */ + +extern int interval_usecs; +extern int interval_wate; +extern int interval_burst; +extern int remote_interval_usecs; +extern int remote_interval_burst; + + +#ifdef DIRTY +extern int rem_dirty_count; +extern int rem_clean_count; +extern int loc_dirty_count; +extern int loc_clean_count; +#endif /* DIRTY */ + +/* stuff for confidence intervals */ + +extern int confidence_level; +extern int iteration_min; +extern int iteration_max; +extern int result_confidence_only; +extern double interval; +extern double interval_pct; + +extern int cpu_binding_requested; + +/* stuff to control the bufferspace "width" */ +extern int send_width; +extern int recv_width; + +/* control the socket priority */ +extern int local_socket_prio; +extern int remote_socket_prio; + +extern int local_socket_tos; +extern int remote_socket_tos; + +/* address family */ +extern int af; + +/* different options for other things */ +extern int + local_cpu_usage, + remote_cpu_usage; + +extern float + local_cpu_rate, + remote_cpu_rate; + +extern int + shell_num_cpus; + +extern char + test_name[BUFSIZ]; + +extern char + local_fill_file[BUFSIZ], + remote_fill_file[32]; + +extern char * + result_brand; + +extern int + no_control; + +#ifdef WANT_DLPI + +extern int + loc_ppa, + rem_ppa; + +extern int + dlpi_sap; + +#endif /* WANT_DLPI */ + +#endif + +extern int parse_ipqos(const char *cp); +extern const char * iptos2str(int iptos); + |