Trivial change to compile under ultrix
[dyninst.git] / pdutil / h / rpcUtil.h
1
2 #ifndef RPC_UTIL
3 #define RPC_UTIL
4
5 extern "C" {
6 #include <rpc/xdr.h>
7 }
8
9 #define xdr_Boolean     xdr_bool
10 typedef XDR *XDRptr;
11 typedef int (*xdrIOFunc)(int handle, char *buf, unsigned int len);
12
13 typedef int Boolean;
14 typedef char *String;
15
16 //
17 // Functions common to server and client side.
18 //
19 class XDRrpc {
20   public:
21     XDRrpc(char *m, char *u, char *p, xdrIOFunc, xdrIOFunc);
22     XDRrpc(int fd, xdrIOFunc readRoutine, xdrIOFunc writeRoutine);
23     XDR *__xdrs__;
24     int fd;
25     int pid;            // pid of child;
26 };
27
28 class THREADrpc {
29   public:
30     THREADrpc(int tid);
31     void setTid(int id) { tid = id; }
32   protected:
33     int tid;
34     // these are only to be used by implmentors of thread RPCs.
35     //   the value is only valid during a thread RPC.
36     unsigned int requestingThread;
37     unsigned int getRequestingThread()  { return requestingThread; }
38 };
39
40 //
41 // client side common routines that are transport independent.
42 //
43 class RPCUser {
44   public:
45     void awaitResponce(int tag);
46     void verifyProtocolAndVersion();
47 };
48
49 //
50 // server side routines that are transport independent.
51 //
52 class RPCServer {
53   public:
54         int __versionVerifyDone__;
55 };
56
57 extern int xdr_String(XDR*, String*);
58 extern int RPCprocessCreate(int *pid, char *hostName, char *userName, char *commandLine);
59
60 #endif