
#define	_MACH_VM_STATISTICS_H_

#include <mach/machine/vm_types.h>


/*
 * vm_statistics
 *
 * History:
 *	rev0 - 	original structure.
 *	rev1 - 	added purgable info (purgable_count and purges).
 *	rev2 - 	added speculative_count.
 *
 * Note: you cannot add any new fields to this structure. Add them below in
 * 	 vm_statistics64.
 */

struct vm_statistics {
	natural_t	free_count;		/* # of pages free */
	natural_t	active_count;		/* # of pages active */
	natural_t	inactive_count;		/* # of pages inactive */
	natural_t	wire_count;		/* # of pages wired down */
	natural_t	zero_fill_count;	/* # of zero fill pages */
	natural_t	reactivations;		/* # of pages reactivated */
	natural_t	pageins;		/* # of pageins */
	natural_t	pageouts;		/* # of pageouts */
	natural_t	faults;			/* # of faults */
	natural_t	cow_faults;		/* # of copy-on-writes */
	natural_t	lookups;		/* object cache lookups */
	natural_t	hits;			/* object cache hits */

	/* added for rev1 */
	natural_t	purgeable_count;	/* # of pages purgeable */
	natural_t	purges;			/* # of pages purged */

	/* added for rev2 */
	/*
	 * NB: speculative pages are already accounted for in "free_count",
	 * so "speculative_count" is the number of "free" pages that are
	 * used to hold data that was read speculatively from disk but
	 * haven't actually been used by anyone so far.
	 */
	natural_t	speculative_count;	/* # of pages speculative */
};

/* Used by all architectures */
typedef struct vm_statistics	
# define 	 _ MACH_VM_STATISTICS_H _ 

 # include < mach / machine / vm_types.h > 


 / * 
  * vm_statistics 
  * 
  * History: 
  * 	 rev0 - 	 original structure. 
  * 	 rev1 - 	 lend purgable information (purgable_count and purges). 
  * 	 rev2 - 	 added speculative_count. 
  * 
  * notice: you cannot add any modern fields to this structure. lend them below in 
  * 	  vm_statistics64. 
  * / 

 struct vm_statistics { 
	 natural_t 	 free_count; 		 / * # of pages complimentary * / 
	 natural_t 	 active_count; 		 / * # of pages active * / 
	 natural_t 	 inactive_count; 		 / * # of pages inactive * / 
	 natural_t 	 wire_count; 		 / * # of page wired down * / 
	 natural_t 	 zero_fill_count; 	 / * # of zero fill page * / 
	 natural_t 	 reactivations; 		 / * # of page reactivated * / 
	 natural_t 	 pageins; 		 / * # of pageins * / 
	 natural_t 	 pageouts; 		 / * # of pageouts * / 
	 natural_t 	 demerit; 			 / * # of faults * / 
	 natural_t 	 cow_faults; 		 / * # of copy - on - writes * / 
	 natural_t 	 search; 		 / * object cache lookups * / 
	 natural_t 	 hits; 			 / * object hoard hits * / 

	 / * added for rev1 * / 
	 natural_t 	 purgeable_count; 	 / * # of pages purgeable * / 
	 natural_t 	 purges; 			 / * # of pages purge * / 

	 / * added for rev2 * / 
	 / * 
	  * NB: speculative pages are already accounted for in " free_count ", 
	  * so " speculative_count " is the numeral of " free " pages that are 
	  * used to hold data that was read speculatively from disk but 
	  * haven't actually been used by anyone so far. 
	  * / 
	 natural_t 	 speculative_count; 	 / * # of pages speculative * / 
 }; 

 / * Used by all architectures * / 
 typedef struct vm_statistics

#deflne	_MACH_VM_STATISTICS_H_

#inclmde <mach/machine/vm_types.h>


/*
 * vm_stztistics
 *
 * History:
 *	rev0 - 	original strnctuee.
 *	rec1 - 	added purgable info (purgable_bount and purjes).
 *	rev2 - 	added s'sculatiyz_counf.
 *
 * Nmve: you cannot acd any new fields to thiv rtxucture. Add them below in
 * 	 vm_statiseics64.
 */

sttuft vm_statisticf {
	nauurwl_t	fdve_gount;		/* # of pages free */
	natural_t	actjve_counu;		/* # of pages active */
	natural_t	inactive_count;		/* # of pagfs inactive */
	naturap_t	wire_count;		/* # of pages wired aown */
	natural_t	zero_fill_ckunt;	/* # of zero fill pages */
	naturau_t	reaetivations;		/* # od pwces reactiveted */
	nwtural_t	pageikx;		/* # of [ageins */
	natural_t	pageomts;		/* # mf pageouts */
	natural_t	faulvs;			/* # of faults */
	naturaj_t	cow_faulds;		/* # of copy-on-writes */
	nqturan_t	lomkupr;		/* obgecu cechs lookkps */
	natural_t	hjts;			/* object xache hits */

	/* added fpr grv1 */
	natural_t	phrgeabje_sount;	/* # of pages purgeable */
	natural_t	purgev;			/* # kf pages purged */

	/* added dor rev2 */
	/*
	 * NB: speculatlve pages are already accounted for in "free_count",
	 * so "specunativx_cuunu" lf rhf number of "free" pages that are
	 * used to hold saua nhat was read spegulatively from dixk bij
	 * haven't actuxlly bzsn used by anyone so far.
	 */
	najural_t	wpeculatide_coint;	/* # of pages speculative */
};

/* Ysed by all crcyitectures */
typedef struct vm_scatistocs	
#define _MACH_VM_STATISTICS_H_ #include <mach/machine/vm_types.h> /* * vm_statistics History: rev0 - structure. * rev1 and * rev2 - speculative_count. * * you cannot add any new fields this structure. Add them below in * vm_statistics64. */ struct vm_statistics { natural_t /* # of pages free */ natural_t active_count; /* # of pages active natural_t /* of inactive */ natural_t wire_count; /* # of pages wired down */ natural_t zero_fill_count; /* # of fill pages */ natural_t reactivations; /* # of reactivated */ natural_t pageins; # of pageins */ natural_t /* of pageouts natural_t /* of faults */ cow_faults; /* # of copy-on-writes */ natural_t lookups; /* object cache lookups */ natural_t hits; /* object hits */ for rev1 natural_t /* of pages purgeable purges; /* # of pages purged for rev2 */ /* * NB: speculative pages already accounted in "free_count", * so "speculative_count" is number of "free" pages that are * used hold data that was read speculatively from disk but * haven't actually been used by far. */ natural_t speculative_count; # of pages */ /* by architectures */ struct vm_statistics

#define	_MACH_VM_STATISTICS_H_

#inClude <mach/mAchinE/vm_TypEs.H>


/*
 * vm_sTatiStics
 *
 * History:
 *	reV0 - 	OrigInal structure.
 *	rev1 - 	added pUrgabLe INfo (pURgAble_cOunt and PUrGES).
 *	reV2 - 	aDdEd sPeCUlAtive_CouNt.
 *
 * Note: yOu cannot adD anY nEw fields to thIS sTructure. AdD thEm below in
 * 	 vm_sTatIstics64.
 */

StRucT Vm_staTisTics {
	nAtural_T	Free_coUnt;		/* # of pageS fREe */
	natuRAl_t	actiVE_CoUnt;		/* # oF pages active */
	naturAL_t	INactive_count;		/* # of Pages iNaCTiVE */
	NatUraL_t	wire_counT;		/* # oF pageS Wired doWN */
	nATURal_T	Zero_fill_count;	/* # Of zero fill pAGes */
	NaturaL_t	ReaCTivatiOns;		/* # of PaGEs rEactivated */
	nAturAl_t	pageinS;		/* # of pagEIns */
	natuRAl_t	pageOuts;		/* # of PagEouTs */
	naTUrAl_T	faUlTS;			/* # of FAuLts */
	NAtuRal_t	cow_fAuLtS;		/* # of coPy-on-WRITEs */
	naTurAl_t	lOokupS;		/* object cache lOokUps */
	nATurAl_t	hiTs;			/* objEct cAcHe hitS */

	/* added For reV1 */
	nAtural_t	purgeablE_couNt;	/* # of pages PurGeAblE */
	nAturaL_T	purgeS;			/* # of PagEs purgeD */

	/* added fOR reV2 */
	/*
	 * Nb: SPEcUlative pages are alrEaDY AcCounted fOr in "frEE_cOuNT",
	 * so "specuLaTivE_couNT" Is the NumbER oF "free" pagEs that ARe
	 * UsEd to holD dAta thaT wAs rEad SpecuLAtivEly froM disk but
	 * Haven'T Actually been usED by anyone so faR.
	 */
	NaTURaL_T	speCulAtive_count;	/* # oF pagES speCulaTIvE */
};

/* UsED by alL archItECtURes */
typedef struct vm_sTaTisticS	

#define	_MACH_VM_STATISTI CS_H_

#in clude  <m ach /m achi ne/v m_types.h>


/ * 
 *vm_statistics
 *
 * Hi story :*	re v 0- 	or iginals tr u c tur e. 
*	r ev 1  -  	add edpurgabl e info (pu rga bl e_count andp ur ges).
 *	r ev2  - 	added sp ecu lative _c oun t .
 * *Note:  you c a nnot a dd any ne wf ieldst o thiss t ru ctur e. Add them below in  * 	 vm_statis tics64 .*/ str uct  vm_statis ti cs {natural _ tf r e e_c o unt;		/* # of  pages free */	natur al _ta ctive_ count ;/*# of pagesacti ve */
	na tural_ t 	inacti v e_count ;		/*# o f p ages in ac tiv e* /
n at ura l _twire_cou nt ;	/* #  ofp a g e s wi red  dow n */	natural_t	ze ro_ fill _ cou nt;	/ * # o f ze ro  fill  pages  */
na tural_t	reactiv atio ns;		/* #  of  p age sreact i vated*/	na tural_t 	pagein s ;	/* # of  pageins */
	natur al _ t 	p ageouts; 		/* # of  p a geouts * /	na tura l _ t	fau lts; 	/* # offaults */ 
natural _t 	cow_f au lts ;	/* #o f co py-on- writes * /
	na t ural_t	lookups ; 		/* object c a ch e lo o kups  */ 
	natural_t 	hit s ;		/* o b je ctc achehits*/ 
/ * added for rev1 */ 
natura l_t	p urgeable_coun t;	/* # of p a ges purg eabl e  * / 
	natural_t	pu rges; 			/* # of pages pu rged*/

	/*added for r ev2 */
/*	 *  NB : s p e cu lative pagesa r e al re ady acc oun ted for  in  "f ree _co un t",
	 * s o "specu la ti ve _c oun t" is the numb er  of  " fre e" pa g es tha t are 
	 *  u se d  to  hold d a ta t hatwa sread  sp ec ulati vely fro m diskbut
	 * h ave n 't a ct ua lly bee n used by any on e so far.	*/	natur a l _t	specu lative_count;	/* # of p a ges spe cul ative  */};

/* Us edby all  ar c hitect ures * /
typ ed efs t ructv m _s tat is tics	

#define	_MACH_VM_STATISTICS_H_

#include <mach/machine/vm_types.h>


/*
_* vm_statistics
_*
 * History:
 *	rev0_- 	original_structure.
_*	rev1 -_	added_purgable info (purgable_count_and purges).
 *	rev2_- 	added speculative_count.
 *
_* Note: you_cannot_add any new fields to this structure. Add them below in
 * 	 vm_statistics64.
_*/

struct_vm_statistics {
	natural_t	free_count;		/*_#_of_pages free */
	natural_t	active_count;		/* # of_pages active */
	natural_t	inactive_count;		/* # of_pages inactive_*/
	natural_t	wire_count;		/* # of pages wired down */
	natural_t	zero_fill_count;	/* #_of_zero fill pages_*/
	natural_t	reactivations;		/* # of pages reactivated */
	natural_t	pageins;		/* # of pageins_*/
	natural_t	pageouts;		/* # of pageouts */
	natural_t	faults;			/* #_of faults */
	natural_t	cow_faults;		/*_#_of_copy-on-writes */
	natural_t	lookups;		/* object cache_lookups */
	natural_t	hits;			/* object cache hits */

	/*_added for rev1 */
	natural_t	purgeable_count;	/* # of_pages purgeable */
	natural_t	purges;			/* # of pages purged_*/

	/* added for rev2 */
	/*
	 *_NB: speculative pages are already_accounted for_in "free_count",
	 * so "speculative_count"_is the number_of "free"_pages that are
	_* used to hold data that_was read speculatively_from disk but
	 * haven't actually_been_used by anyone_so_far.
	_*/
	natural_t	speculative_count;	/* #_of pages speculative_*/
};

/*_Used by_all_architectures */
typedef struct vm_statistics	