1 /***********************************************************************
3 * This software is part of the ast package *
4 * Copyright (c) 1985-2010 AT&T Intellectual Property *
5 * and is licensed under the *
6 * Common Public License, Version 1.0 *
7 * by AT&T Intellectual Property *
9 * A copy of the License is available at *
10 * http://www.opensource.org/licenses/cpl1.0.txt *
11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
13 * Information and Software Systems Research *
17 * Glenn Fowler <gsf@research.att.com> *
18 * David Korn <dgk@research.att.com> *
19 * Phong Vo <kpv@research.att.com> *
21 ***********************************************************************/
22 #if defined(_UWIN) && defined(_BLD_ast)
30 /* Walks all segments created in region(s)
32 ** Written by Kiem-Phong Vo, kpv@research.att.com (02/08/96)
36 int vmwalk(Vmalloc_t
* vm
, int(*segf
)(Vmalloc_t
*, Void_t
*, size_t, Vmdisc_t
*, Void_t
*), Void_t
* handle
)
38 int vmwalk(vm
, segf
, handle
)
40 int(* segf
)(/* Vmalloc_t*, Void_t*, size_t, Vmdisc_t* */);
48 { for(vm
= Vmheap
; vm
; vm
= vm
->next
)
49 { if(!(vm
->data
->mode
&VM_TRUST
) && ISLOCK(vm
->data
,0) )
53 for(seg
= vm
->data
->seg
; seg
; seg
= seg
->next
)
54 { rv
= (*segf
)(vm
, seg
->addr
, seg
->extent
, vm
->disc
, handle
);
62 { if(!(vm
->data
->mode
&VM_TRUST
) && ISLOCK(vm
->data
,0) )
66 for(seg
= vm
->data
->seg
; seg
; seg
= seg
->next
)
67 { rv
= (*segf
)(vm
, seg
->addr
, seg
->extent
, vm
->disc
, handle
);