aboutsummaryrefslogtreecommitdiff
path: root/src/netsh.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/netsh.h')
-rw-r--r--src/netsh.h216
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);
+