Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ././../../../../../../usr/include/vm/vpage.h
Real path: /usr/include/vm/vpage.h
Zurück
/* * Copyright (c) 1986, 2016, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ /* * University Copyright- Copyright (c) 1982, 1986, 1988 * The Regents of the University of California * All Rights Reserved * * University Acknowledgment- Portions of this document are derived from * software developed by the University of California, Berkeley, and its * contributors. */ #ifndef _VM_VPAGE_H #define _VM_VPAGE_H #ifdef __cplusplus extern "C" { #endif /* * VM - Information per virtual page. */ struct vpage { uchar_t nvp_prot; /* see <sys/mman.h> prot flags */ uchar_t nvp_advice; /* adi, swappers, pplock, & madvise flags */ }; /* * This was changed from a bitfield to flags/macros in order * to conserve space (uchar_t bitfields are not ANSI). This could * have been condensed to a uchar_t, but at the expense of complexity. * * We've stolen three bits from the top of nvp_advice: the first to store * pplock, the second to identify pages for which we have reserved * swap space, but have not necessarily allocated anon slots, and the third * to identify pages with ADI enabled. * * WARNING: VPP_SETADVICE(vpp, x) evaluates vpp twice, and VPP_PLOCK(vpp) * returns a positive integer when the lock is held, not necessarily (1). */ #define VP_ADVICE_MASK (0x07) #define VP_PPLOCK_MASK (0x80) /* physical page locked by me */ #define VP_SWAPRES_MASK (0x40) /* Swap space has been reserved, but we */ /* might not have allocated an anon slot */ #define VP_ADI_MASK (0x20) /* If set ADI is enabled */ #define VP_ADI_SHIFT LOG2UP_CONST(VP_ADI_MASK) #define VPP_PROT(vpp) ((vpp)->nvp_prot) #define VPP_ADVICE(vpp) ((vpp)->nvp_advice & VP_ADVICE_MASK) #define VPP_ISPPLOCK(vpp) \ ((uchar_t)((vpp)->nvp_advice & VP_PPLOCK_MASK)) #define VPP_ISSWAPRES(vpp) \ ((uchar_t)((vpp)->nvp_advice & VP_SWAPRES_MASK)) #define VPP_SETPROT(vpp, x) ((vpp)->nvp_prot = (x)) #define VPP_SETADVICE(vpp, x) \ ((vpp)->nvp_advice = ((vpp)->nvp_advice & ~VP_ADVICE_MASK) | \ ((x) & VP_ADVICE_MASK)) #define VPP_SETPPLOCK(vpp) ((vpp)->nvp_advice |= VP_PPLOCK_MASK) #define VPP_CLRPPLOCK(vpp) ((vpp)->nvp_advice &= ~VP_PPLOCK_MASK) #define VPP_SETSWAPRES(vpp) ((vpp)->nvp_advice |= VP_SWAPRES_MASK) #define VPP_CLRSWAPRES(vpp) ((vpp)->nvp_advice &= ~VP_SWAPRES_MASK) #define VPP_ISADI(vpp) (((vpp)->nvp_advice & VP_ADI_MASK) != 0) /* x is 0 or 1 */ #define VPP_SETADI(vpp, x) ((vpp)->nvp_advice = \ ((vpp)->nvp_advice & ~VP_ADI_MASK) | ((x) << VP_ADI_SHIFT)) #ifdef __cplusplus } #endif #endif /* _VM_VPAGE_H */