2
/* $Id: listmac.h,v 1.4 1997/06/25 22:08:49 pvmsrc Exp $ */
5
* PVM version 3.4: Parallel Virtual Machine System
6
* University of Tennessee, Knoxville TN.
7
* Oak Ridge National Laboratory, Oak Ridge TN.
8
* Emory University, Atlanta GA.
9
* Authors: J. J. Dongarra, G. E. Fagg, M. Fischer
10
* G. A. Geist, J. A. Kohl, R. J. Manchek, P. Mucci,
11
* P. M. Papadopoulos, S. L. Scott, and V. S. Sunderam
12
* (C) 1997 All Rights Reserved
16
* Permission to use, copy, modify, and distribute this software and
17
* its documentation for any purpose and without fee is hereby granted
18
* provided that the above copyright notice appear in all copies and
19
* that both the copyright notice and this permission notice appear in
20
* supporting documentation.
22
* Neither the Institutions (Emory University, Oak Ridge National
23
* Laboratory, and University of Tennessee) nor the Authors make any
24
* representations about the suitability of this software for any
25
* purpose. This software is provided ``as is'' without express or
28
* PVM version 3 was funded in part by the U.S. Department of Energy,
29
* the National Science Foundation and the State of Tennessee.
38
* Revision 1.4 1997/06/25 22:08:49 pvmsrc
39
* Markus adds his frigging name to the author list of
40
* every file he ever looked at...
42
* Revision 1.3 1997/04/09 14:39:33 pvmsrc
43
* PVM patches from the base 3.3.10 to 3.3.11 versions where applicable.
44
* Originals by Bob Manchek. Altered by Graham Fagg where required.
46
* Revision 1.2 1997/01/28 19:27:57 pvmsrc
47
* New Copyright Notice & Authors.
49
* Revision 1.1 1996/09/23 23:43:18 pvmsrc
52
* Revision 1.3 1996/05/13 20:27:36 manchek/GEF
53
* added a few parens in LISTPUTAFTER, LISTPUTBEFORE
54
* for picky (old) compilers
56
* Revision 1.2 1994/06/03 20:38:15 manchek
59
* Revision 1.1 1993/08/30 23:26:48 manchek
64
#define LISTPUTAFTER(o,n,f,r) { (n)->f=(o)->f; (n)->r=(o); (o)->f->r=(n); (o)->f=(n); }
65
#define LISTPUTBEFORE(o,n,f,r) { (n)->r=(o)->r; (n)->f=(o); (o)->r->f=(n); (o)->r=(n); }
66
#define LISTDELETE(e,f,r) { (e)->f->r=(e)->r; (e)->r->f=(e)->f; (e)->r=(e)->f=0; }
68
#define LISTFIRST(h,f) ((h)->f == (h) ? 0 : (h)->f)
69
#define LISTNEXT(p,h,f) ((p)->f == (h) ? 0 : (p)->f)
70
#define FORLIST(p,h,f) for ((p) = (h)->f; (p) != (h); (p) = (p)->f)