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)
24 void _STUB_vmsegment(){}
30 /* Get the segment containing this address
32 ** Written by Kiem-Phong Vo, kpv@research.att.com, 02/07/95
36 Void_t
* vmsegment(Vmalloc_t
* vm
, Void_t
* addr
)
38 Void_t
* vmsegment(vm
, addr
)
39 Vmalloc_t
* vm
; /* region */
40 Void_t
* addr
; /* address */
44 reg Vmdata_t
* vd
= vm
->data
;
48 if(!(vd
->mode
&VM_TRUST
))
50 { CLRINUSE(vd
, inuse
);
56 for(seg
= vd
->seg
; seg
; seg
= seg
->next
)
57 if((Vmuchar_t
*)addr
>= (Vmuchar_t
*)seg
->addr
&&
58 (Vmuchar_t
*)addr
< (Vmuchar_t
*)seg
->baddr
)
63 return seg
? (Void_t
*)seg
->addr
: NIL(Void_t
*);