BSD 4_3_Net_2 release
[unix-history] / usr / src / lib / librpc / rpcsvc / spray.x
CommitLineData
af359dea
C
1/* @(#)spray.x 2.1 88/08/01 4.0 RPCSRC */
2/* @(#)spray.x 1.2 87/09/18 Copyr 1987 Sun Micro */
3
cfbe44a4
KM
4/*
5 * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
6 * unrestricted use provided that this legend is included on all tape
7 * media and as a part of the software program in whole or part. Users
8 * may copy or modify Sun RPC without charge, but are not authorized
9 * to license or distribute it to anyone else except as part of a product or
10 * program developed by the user.
11 *
12 * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
13 * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
14 * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
15 *
16 * Sun RPC is provided with no support and without any obligation on the
17 * part of Sun Microsystems, Inc. to assist in its use, correction,
18 * modification or enhancement.
19 *
20 * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
21 * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
22 * OR ANY PART THEREOF.
23 *
24 * In no event will Sun Microsystems, Inc. be liable for any lost revenue
25 * or profits or other special, indirect and consequential damages, even if
26 * Sun has been advised of the possibility of such damages.
27 *
28 * Sun Microsystems, Inc.
29 * 2550 Garcia Avenue
30 * Mountain View, California 94043
31 */
32
33/*
af359dea
C
34 * Spray a server with packets
35 * Useful for testing flakiness of network interfaces
cfbe44a4
KM
36 */
37
af359dea 38const SPRAYMAX = 8845; /* max amount can spray */
cfbe44a4 39
af359dea
C
40/*
41 * GMT since 0:00, 1 January 1970
95f51977 42 */
af359dea
C
43struct spraytimeval {
44 unsigned int sec;
45 unsigned int usec;
46};
cfbe44a4 47
af359dea
C
48/*
49 * spray statistics
50 */
51struct spraycumul {
52 unsigned int counter;
53 spraytimeval clock;
cfbe44a4
KM
54};
55
95f51977 56/*
af359dea 57 * spray data
95f51977 58 */
af359dea
C
59typedef opaque sprayarr<SPRAYMAX>;
60
61program SPRAYPROG {
62 version SPRAYVERS {
63 /*
64 * Just throw away the data and increment the counter
65 * This call never returns, so the client should always
66 * time it out.
67 */
68 void
69 SPRAYPROC_SPRAY(sprayarr) = 1;
95f51977 70
af359dea
C
71 /*
72 * Get the value of the counter and elapsed time since
73 * last CLEAR.
74 */
75 spraycumul
76 SPRAYPROC_GET(void) = 2;
95f51977 77
af359dea
C
78 /*
79 * Clear the counter and reset the elapsed time
80 */
81 void
82 SPRAYPROC_CLEAR(void) = 3;
83 } = 1;
84} = 100012;