#include "_begin.def"

		/* 		member name,	symbolic constant,	human label,	human description (think UI/help) */
	/* /proc/$pid/comm */
vmon_datum_char_array(		comm,		PROC_STAT_COMM,		"Cmd",		"/proc/$pid/comm raw contents (with the \n substituted with \0)")

	/* /proc/$pid/cmdline */
vmon_datum_char_array(		cmdline,	PROC_STAT_CMDLINE,	"Cmdline",	"/proc/$pid/cmdline raw contents")
vmon_datum_int(			argc,		PROC_STAT_ARGC,		"Argc",		"parsed cmdline count as if executed")
vmon_datum_str_array(		argv,		PROC_STAT_ARGV,		"Argv",		"parsed cmdline argv contents as if executed, pointers into cmdline")

	/* /proc/$pid/exe */
vmon_datum_char_array(		exe,		PROC_STAT_EXE,		"ExePath",	"/proc/$pid/exe symlink target")

	/* /proc/$pid/wchan */
vmon_datum_char_array(		wchan,		PROC_STAT_WCHAN,	"WChan",	"/proc/$pid/wchan raw contents (address resolved)")

	/* /proc/$pid/stat */
vmon_datum_int(			pid,		PROC_STAT_PID,		"PID",		"the process id")
vmon_omit_n(			(*store)->comm.len + 3, PROC_STAT_COMM_,		"the filename of the executable, in parentheses, skipped")
vmon_datum_char(		state,		PROC_STAT_STATE,	"State",	"process state, one of \"RSDZTW\"")
vmon_omit_run(			' ',		PROC_STAT_PPID_SP)
vmon_datum_longlong(		ppid,		PROC_STAT_PPID,		"PPId",		"parent pid")
vmon_omit_run(			' ',		PROC_STAT_PGID_SP)
vmon_datum_longlong(		pgrp,		PROC_STAT_PGID,		"PGId",		"parent process group")
vmon_omit_run(			' ',		PROC_STAT_SID_SP)
vmon_datum_longlong(		sid,		PROC_STAT_SID,		"SessionId",	"session id")
vmon_omit_run(			' ',		PROC_STAT_TTY_NR_SP)
vmon_datum_longlong(		tty_nr,		PROC_STAT_TTY_NR,	"Tty",		"controlling terminal of the process")
vmon_omit_run(			' ',		PROC_STAT_TPGID_SP)
vmon_datum_longlong(		tpgid,		PROC_STAT_TPGID,	"CtrlPGid",	"id of the foreground process group of the controlling terminal of the process")
vmon_omit_run(			' ',		PROC_STAT_FLAGS_SP)
vmon_datum_ulonglong(		flags,		PROC_STAT_FLAGS,	"Flags",	"the kernel flags of the process (see PF_* in the non-uapi <linux/sched.h>)")
vmon_omit_run(			' ',		PROC_STAT_MINFLT_SP)
vmon_datum_ulonglong(		minflt,		PROC_STAT_MINFLT,	"MnrFlts",	"the number of minor faults (no hitting disk)")
vmon_omit_run(			' ',		PROC_STAT_CMINFLT_SP)
vmon_datum_ulonglong(		cminflt,	PROC_STAT_CMINFLT,	"ChldMnrFlts",	"number of minor faults waited-for children have made")
vmon_omit_run(			' ',		PROC_STAT_MAJFLT_SP)
vmon_datum_ulonglong(		majflt,		PROC_STAT_MAJFLT,	"MjrFlts",	"the number of major faults (hit disk)")
vmon_omit_run(			' ',		PROC_STAT_CMAJFLT_SP)
vmon_datum_ulonglong(		cmajflt,	PROC_STAT_CMAJFLT,	"ChldMjrFlts",	"the number of major faults waited-for children have made")
vmon_omit_run(			' ',		PROC_STAT_UTIME_SP)
vmon_datum_ulonglong(		utime,		PROC_STAT_UTIME,	"UsrCPU",	"amount of time this process has spent in user mode (ticks)")
vmon_omit_run(			' ',		PROC_STAT_STIME_SP)
vmon_datum_ulonglong(		stime,		PROC_STAT_STIME,	"SysCPU",	"amount of time this process has spent in kernel mode (ticks)")
vmon_omit_run(			' ',		PROC_STAT_CUTIME_SP)
vmon_datum_longlong(		cutime,		PROC_STAT_CUTIME,	"ChldUsrCPU",	"amount of time the waited-for children have spent in user mode (ticks)")
vmon_omit_run(			' ',		PROC_STAT_CSTIME_SP)
vmon_datum_longlong(		cstime,		PROC_STAT_CSTIME,	"ChldSysCPU",	"amount of time the waited-for children have spent in kernel mode (ticks)")
vmon_omit_run(			' ',		PROC_STAT_PRIORITY_SP)
vmon_datum_longlong(		priority,	PROC_STAT_PRIORITY,	"Priority",	"priority of the process")
vmon_omit_run(			' ',		PROC_STAT_NICE_SP)
vmon_datum_longlong(		nice,		PROC_STAT_NICE,		"Nice",		"nice value")
vmon_omit_run(			' ',		PROC_STAT_NUM_THREADS_SP)
vmon_datum_longlong(		num_threads,	PROC_STAT_NUM_THREADS,	"NumThreads",	"number of threads")
vmon_omit_run(			' ',		PROC_STAT_ALARM_SP)
vmon_omit_ulonglong(		itrealvalue,	PROC_STAT_ALARM,	"NextAlarm",	"the time in jiffies before the next SIGALRM is sent (not maintained)")
vmon_omit_run(			' ',		PROC_STAT_START_SP)
vmon_datum_ulonglong(		start,		PROC_STAT_START,	"StartTime",	"start time relative to system boot in jiffies")
vmon_omit_run(			' ',		PROC_STAT_VSIZE_SP)
vmon_datum_ulonglong(		vsize,		PROC_STAT_VSIZE,	"VirtSize",	"virtual memory size (bytes)")
vmon_omit_run(			' ',		PROC_STAT_RSS_SP)
vmon_datum_ulonglong(		rss,		PROC_STAT_RSS,		"ResSize",	"resident set size (pages)")
vmon_omit_run(			' ',		PROC_STAT_RSSLIM_SP)
vmon_datum_ulonglong(		rsslim,		PROC_STAT_RSSLIM,	"ResSizeLimit",	"resident set size ulimit")
vmon_omit_run(			' ',		PROC_STAT_STARTCODE_SP)
vmon_omit_ulonglong(		startcode,	PROC_STAT_STARTCODE,	"CodeStart",	"address above which program text can run")
vmon_omit_run(			' ',		PROC_STAT_ENDCODE_SP)
vmon_omit_ulonglong(		endcode,	PROC_STAT_ENDCODE,	"CodeEnd",	"address below which program text can run")
vmon_omit_run(			' ',		PROC_STAT_STARTSTACK_SP)
vmon_omit_ulonglong(		startstack,	PROC_STAT_STARTSTACK,	"StackStart",	"address of the stack start")
vmon_omit_run(			' ',		PROC_STAT_ESP_SP)
vmon_omit_ulonglong(		kstkesp,	PROC_STAT_ESP,		"StackPtr",	"current stack pointer")
vmon_omit_run(			' ',		PROC_STAT_EIP_SP)
vmon_omit_ulonglong(		kstkeip,	PROC_STAT_EIP,		"InstructnPtr",	"current instruction pointer")
vmon_omit_run(			' ',		PROC_STAT_SIGNAL_SP)
vmon_omit_ulonglong(		signal,		PROC_STAT_SIGNAL,	"SigsPending",	"bitmap of pending signals")
vmon_omit_run(			' ',		PROC_STAT_SIGBLOCKED_SP)
vmon_omit_ulonglong(		blocked,	PROC_STAT_SIGBLOCKED,	"SigsBlocked",	"bitmap of blocked signals")
vmon_omit_run(			' ',		PROC_STAT_SIGIGNORED_SP)
vmon_omit_ulonglong(		ignored,	PROC_STAT_SIGIGNORED,	"SigsIgnored",	"bitmap of ignored signals")
vmon_omit_run(			' ',		PROC_STAT_SIGCAUGHT_SP)
vmon_omit_ulonglong(		caught,		PROC_STAT_SIGCAUGHT,	"SigsCaught",	"bitmap of caughtsignals")
vmon_omit_run(			' ',		PROC_STAT_WCHAN_ADDR_SP)
vmon_datum_ulonglong(		wchan_addr,	PROC_STAT_WCHAN_ADDR,	"WchanAddr",	"address of the process' wchan")
vmon_omit_run(			' ',		PROC_STAT_SWAPPED_SP)
vmon_omit_ulonglong(		nswap,		PROC_STAT_SWAPPED,	"NumSwapped",	"number of pages swapped (not maintained)")
vmon_omit_run(			' ',		PROC_STAT_CSWAPPED_SP)
vmon_omit_ulonglong(		cnswap,		PROC_STAT_CSWAPPED,	"ChldNumSwpd",	"number of cumulative pages swapped for children (not maintained)")
vmon_omit_run(			' ',		PROC_STAT_EXITSIGNAL_SP)
vmon_omit_longlong(		exit_signal,	PROC_STAT_EXITSIGNAL,	"ExitSignal",	"signal to be sent to parent when we die")
vmon_omit_run(			' ',		PROC_STAT_PROCESSOR_SP)
vmon_datum_longlong(		processor,	PROC_STAT_PROCESSOR,	"LastCPU",	"CPU number last executed on")
vmon_omit_run(			' ',		PROC_STAT_RT_PRIORITY_SP)
vmon_omit_ulonglong(		rt_priority,	PROC_STAT_RT_PRIORITY,	"RTPriority",	"realtime priority of the process")
vmon_omit_run(			' ',		PROC_STAT_POLICY_SP)
vmon_omit_ulonglong(		policy,		PROC_STAT_POLICY,	"SchedPolicy",	"scheduling policy of the process")
vmon_omit_run(			' ',		PROC_STAT_DELAY_BLKIO_SP)
vmon_datum_ulonglong(		delay_blkio,	PROC_STAT_DELAY_BLKIO,	"BlkIODelays",	"aggregated block IO delays, in ticks")
vmon_omit_run(			' ',		PROC_STAT_GUEST_TIME_SP)
vmon_datum_ulonglong(		guest_time,	PROC_STAT_GUEST_TIME,	"GuestTime",	"time spent running a virtual cpu for a guest OS")
vmon_omit_run(			' ',		PROC_STAT_CGUEST_TIME_SP)
vmon_datum_longlong(		cguest_time,	PROC_STAT_CGUEST_TIME,	"ChldGuestTim",	"time spent running a virtual cpu for a guest OS in (waited for?) children")

#include "_end.def"
