/*
 * @DEC_COPYRIGHT@
 */
/*
 * HISTORY
 * $Log:	vm_anonpage.h,v $
 * Revision 1.1.2.2  92/02/26  15:53:31  Charles_Briggs
 * 	UBC merge.
 * 	[92/02/22  15:08:46  Charles_Briggs]
 * 
 * $EndLog$
 */
/*
 * @(#)$RCSfile: vm_anonpage.h,v $ $Revision: 1.1.2.2 $ (DEC) $Date: 92/02/26 15:53:31 $
 */
#ifndef	__VM_ANONPAGE__
#define	__VM_ANONPAGE__ 1


/*
 * Anonymous memory without an owner is known by the
 * pageout code to be in no object's page list.
 */

struct vm_anonpage {
	struct vm_anon_object *ap_owner;	/* Page owner */
	long	ap_roffset;			/* Relative into anon object */
};

#define	pg_owner	_upg._apg.ap_owner
#define pg_roffset	_upg._apg.ap_roffset

#ifdef	KERNEL
extern struct vm_page *vm_anon_kpage_alloc(/* struct vm_swap_object *sop, 
		vm_offset_t soffset */);
extern struct vm_page *vm_anon_page_alloc(/* struct vm_anon_object *aop, 
		vm_offset_t offset,  alock_t lp, 
		struct vm_anon *ap, boolean_t aplocked, boolean_t wait */);
extern vm_anon_page_free(/* register struct vm_anon_object *aop, 
		register vm_offset_t offset, struct vm_anon *nap */);
#endif	/* KERNEL */

#endif	/* !__VM_ANONPAGE__ */
