Make Dyninst buildable with Clang (#1021)
[dyninst.git] / common / docs / libutilPVM.1
1 .\"
2 .\" $Log: libutilPVM.1,v $
3 .\" Revision 1.2  2005/12/19 19:41:39  pack
4 .\" MRNet replaces xdr for frontend to daemon communication.  New igen  - - -
5 .\" MRNet changes
6 .\"
7 .\" Revision 1.1.1.1  2004/11/05 22:17:36  darnold
8 .\" start
9 .\"
10 .\" Revision 1.1.1.1  2004/10/18 20:35:55  darnold
11 .\" Manual Branch for MRNet Integration based on Release_4.1
12 .\"
13 .\" Revision 1.1  1994/02/25 11:16:01  markc
14 .\" Initial revision
15 .\"
16 .\"
17 .TH LIBUTILPVM 1L PARADYN "\\n(mo/\\n(dy/19\\n(yr"
18 .SH NAME
19 libutilPVM \- Support Library
20 .SH DESCRIPTION
21 .PP
22 This library provides utility functions.  It provides a list class, a hash table class, and functions to support client-server communications using XDR/pvm/threads.
23 .SH "LIST CLASS SYNOPSIS"
24 .B template <class Type> class List {
25 .br
26 .B      public:
27 .br
28 .B      List();
29 .br
30 .B      int  empty();
31 .br
32 .B      friend ostream &operator<<(ostream&, List<Type>&);
33 .br
34 .B      void print();
35 .br
36 .B      void add(Type data, void *key);
37 .br
38 .B      void add(Type data);
39 .br
40 .B      Boolean addUnique(Type data);
41 .br
42 .B      Boolean addUnique(Type data, void *key);
43 .br
44 .B      Type find(void *key);
45 .br
46 .B      Boolean remove(void *key);
47 .br
48 .B      int count();
49 .br
50 .B      Type operator *();
51 .br
52 .B      void operator +=(List<Type> mergee);
53 .br
54 .B      Type operator ++();
55 .br
56 .B      void map (void (*map_function)(const Type item));
57 .br
58 .B      void setCurrent();
59 .br
60 .B      const Type getCurrent();
61 .br
62 .B      const Type next();
63 .br
64 .B      void advanceCurrent();
65 .br
66 .B      protected:
67 .br
68 .B      ListItem<Type>  *head;
69 .br
70 .B      ListItem<Type>  *current;
71 .br
72 };
73 .br
74 .SH "HASH TABLE CLASS SYNOPSIS"
75 .PP
76 .B template <class Type> class HTable {
77 .br
78 .B    public:
79 .br
80 .B      friend ostream &operator<<(ostream&, HTable<Type>&);
81 .br
82 .B      void print();
83 .br
84 .B      HTable(Type data);
85 .br
86 .B      void add(Type data, void *key);
87 .br
88 .B      HTable(); 
89 .br
90 .B      Boolean addUnique(Type data, void *key);
91 .br
92 .B      Type find(void *key);
93 .br
94 .B      Boolean remove(void *key);
95 .br
96 .B      Type operator =(HTable<Type> arg);
97 .br
98 .B      Type operator *();
99 .br
100 .B      Type operator ++();
101 .br
102 .B      int count();
103 .br
104 .B      private:
105 .br
106 .B      List<Type> **table;
107 .br
108 .B      List<Type> currList;
109 .br
110 .B      int currHid;
111 .br
112 .B      int tableSize;
113 .br
114 };
115 .br
116 .SH "LIBRARY SYNOPSIS"
117 .TP 8
118 .B int RPCprocessCreate (pid, host, User, command,
119 .B       args)
120 .br
121 .B int *pid;
122 .br
123 .B char *host;  
124 .br
125 .B char *User;           
126 .br
127 .B char *command; 
128 .br
129 .B char **args;   
130 .TP 8
131 .B int RPC_readReady (fd)
132 .br
133 .B int fd;
134 .TP 8
135 .B int RPC_setup_socket (socket_fd, family, type)
136 .br
137 .B int *socket_fd;
138 .br
139 .B int family;
140 .br
141 .B int type;
142 .TP 8
143 .B char **RPC_make_arg_list (program, family, type,
144 .B                           port, flag)
145 .br
146 .B char *program;
147 .br
148 .B int family;
149 .br
150 .B int type;
151 .br
152 .B int port;
153 .br
154 .B int flag;
155 .TP 8
156 .B int RPC_undo_arg_list (argc, arg_list, machine,
157 .B                         family, type, socket, flag)
158 .br
159 .B int argc;
160 .br
161 .B char **arg_list;
162 .br
163 .B char **machine;
164 .br
165 .B int *family;
166 .br
167 .B int *type;
168 .br
169 .B int *socket;
170 .br
171 .B int *flag;
172 .TP 8
173 .B int RPC_getConnect (fd)
174 .br
175 .B int fd;
176
177 .SH "LIST CLASS DESCRIPTION"
178 .PP
179 .SH "HASH TABLE DESCRIPTION"
180 .PP
181 .SH "LIBRARY DESCRIPTION"
182 .PP
183 .B int RPCprocessCreate (pid, host, User, command,
184 .B       args)
185 .br
186 .B int *pid;
187 .br
188 .B char *host;  
189 .br
190 .B char *User;           
191 .br
192 .B char *command; 
193 .br
194 .B char **args;   
195 .br
196 stdout will be closed for the exec'd program.  The pid is returned in pid.
197 Host is the name of the host to start the program on.  Command is the name
198 of the command to exec.  If args is non-null, it will be used as an argument 
199 for the exec.  Thus, command should be the first entry in args.  If args is
200 null, command is passed as the argument list.
201 .TP 8
202 .B int RPC_readReady (fd)
203 .br
204 .B int fd;
205 .TP 8
206 .B int RPC_setup_socket (socket_fd, family, type)
207 .br
208 .B int *socket_fd;
209 .br
210 .B int family;
211 .br
212 .B int type;
213 .TP 8
214 .B char **RPC_make_arg_list (program, family, type,
215 .B                           port, flag)
216 .br
217 .B char *program;
218 .br
219 .B int family;
220 .br
221 .B int type;
222 .br
223 .B int port;
224 .br
225 .B int flag;
226 .TP 8
227 .B int RPC_undo_arg_list (argc, arg_list, machine,
228 .B                         family, type, socket, flag)
229 .br
230 .B int argc;
231 .br
232 .B char **arg_list;
233 .br
234 .B char **machine;
235 .br
236 .B int *family;
237 .br
238 .B int *type;
239 .br
240 .B int *socket;
241 .br
242 .B int *flag;
243 .TP 8
244 .B int RPC_getConnect (fd)
245 .br
246 .B int fd;
247
248 .SH "SEE ALSO"
249 Paradyn(1).
250 .SH COPYRIGHT
251 Copyright 1994, The Paradyn Software Team.
252 .SH AUTHOR
253 Mark Callaghan     (markc@cs.wisc.edu)
254
255
256