1 .\" 2 .\" This file and its contents are supplied under the terms of the 3 .\" Common Development and Distribution License ("CDDL"), version 1.0. 4 .\" You may only use this file in accordance with the terms of version 5 .\" 1.0 of the CDDL. 6 .\" 7 .\" A full copy of the text of the CDDL should have accompanied this 8 .\" source. A copy of the CDDL is also available via the Internet at 9 .\" http://www.illumos.org/license/CDDL. 10 .\" 11 .\" 12 .\" Copyright 2017, Richard Lowe. 13 .\" 14 .Dd Jan 18, 2017 15 .Dt VMEM_WALK 9F 16 .Os 17 .Sh NAME 18 .Nm vmem_walk , 19 .Nm vmem_size 20 .Nd walk a (sub\-)set of the segments in a vmem arena 21 .Sh SYNOPSIS 22 .In sys/vmem.h 23 .Ft void 24 .Fo vmem_walk 25 .Fa "vmem_t *vmp" 26 .Fa "int typemask" 27 .Fa "void (*func)(void *, void *, size_t)" 28 .Fa "void *arg" 29 .Fc 30 .Ft size_t 31 .Fo vmem_size 32 .Fa "vmem_t *vmp" 33 .Fa "int typemask" 34 .Fc 35 .Sh INTERFACE LEVEL 36 illumos DDI specific 37 .Sh PARAMETERS 38 .Bl -tag -width Ds 39 .It Fa vmp 40 The vmem arena to walk 41 .It Fa typemask 42 A bitmask indicating the types of segment to operate on 43 .Bl -tag -width Ds 44 .It Dv VMEM_ALLOC 45 Allocated segments 46 .It Dv VMEM_FREE 47 Free segments 48 .El 49 .It Fa func 50 The function to apply to each segment matching 51 .Fa typemask . 52 .Fa func 53 should be of 3 values and return void: 54 .Bl -tag -width Ds 55 .It Fa "void *arg" 56 The 57 .Fa arg 58 passed to 59 .Fn vmem_walk 60 .It Fa "void *vaddr" 61 The base address of the segment 62 .It Fa "size_t size" 63 The size of the segment 64 .El 65 .It Fa arg 66 An arbitrary argument passed to each call to 67 .Fn func 68 .El 69 .Sh DESCRIPTION 70 .Fn vmem_walk 71 walks each segment in the arena 72 .Fa vmp 73 and applies 74 .Fa func 75 to each which matches 76 .Fa typemask . 77 .Pp 78 .Fn vmem_size 79 walks each segment in the arena 80 .Fa vmp 81 and totals the size of each matching 82 .Fa typemask . 83 .Sh CONTEXT 84 This function may be called from user or kernel context. 85 .Sh SEE ALSO 86 .Xr vmem 9 , 87 .Xr vmem_alloc 9F , 88 .Xr vmem_create 9F