Skip Navigation Links | |
Exit Print View | |
ONC+ Developer's Guide Oracle Solaris 11.1 Information Library |
1. Introduction to ONC+ Technologies
4. Programmer's Interface to RPC
5. Advanced RPC Programming Techniques
6. Porting From TS-RPC to TI-RPC
7. Multithreaded RPC Programming
8. Extensions to the Oracle Solaris RPC Library
B. RPC Protocol and Language Specification
Directory Listing Program and Support Routines (rpcgen)
Add Two Numbers Program (rpcgen)
Refer to the notes section on the spray(1M) man page for information about using this tool.
Example D-6 rpcgen program: spray.x
/* * Copyright (c) 1987, 2012 by Oracle Corporation. */ /* from spray.x */ #ifdef RPC_HDR #pragma ident "@(#)spray.h 1.2 91/09/17 SMI" #endif /* * Spray a server with packets * Useful for testing flakiness of network interfaces */ const SPRAYMAX = 8845; /* max amount can spray */ /* * GMT since 0:00, 1 January 1970 */ struct spraytimeval { unsigned int sec; unsigned int usec; }; /* * spray statistics */ struct spraycumul { unsigned int counter; spraytimeval clock; }; /* * spray data */ typedef opaque sprayarr<SPRAYMAX>; program SPRAYPROG { version SPRAYVERS { /* * Just throw away the data and increment the counter. This * call never returns, so the client should always time it out. */ void SPRAYPROC_SPRAY(sprayarr) = 1; /* * Get the value of the counter and elapsed time since last * CLEAR. */ spraycumul SPRAYPROC_GET(void) = 2; /* * Clear the counter and reset the elapsed time */ void SPRAYPROC_CLEAR(void) = 3; } = 1; } = 100012;