Blame include/glibtop/prockernel.h

Packit d37888
/* Copyright (C) 1998-99 Martin Baulig
Packit d37888
   This file is part of LibGTop 1.0.
Packit d37888
Packit d37888
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
Packit d37888
Packit d37888
   LibGTop is free software; you can redistribute it and/or modify it
Packit d37888
   under the terms of the GNU General Public License as published by
Packit d37888
   the Free Software Foundation; either version 2 of the License,
Packit d37888
   or (at your option) any later version.
Packit d37888
Packit d37888
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
Packit d37888
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
Packit d37888
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
Packit d37888
   for more details.
Packit d37888
Packit d37888
   You should have received a copy of the GNU General Public License
Packit d37888
   along with LibGTop; see the file COPYING. If not, write to the
Packit d37888
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Packit d37888
   Boston, MA 02110-1301, USA.
Packit d37888
*/
Packit d37888
Packit d37888
#ifndef __GLIBTOP_PROCKERNEL_H__
Packit d37888
#define __GLIBTOP_PROCKERNEL_H__
Packit d37888
Packit d37888
#include <glibtop.h>
Packit d37888
#include <glibtop/global.h>
Packit d37888
Packit d37888
G_BEGIN_DECLS
Packit d37888
Packit d37888
#define GLIBTOP_PROC_KERNEL_K_FLAGS	0
Packit d37888
#define GLIBTOP_PROC_KERNEL_MIN_FLT	1
Packit d37888
#define GLIBTOP_PROC_KERNEL_MAJ_FLT	2
Packit d37888
#define GLIBTOP_PROC_KERNEL_CMIN_FLT	3
Packit d37888
#define GLIBTOP_PROC_KERNEL_CMAJ_FLT	4
Packit d37888
#define GLIBTOP_PROC_KERNEL_KSTK_ESP	5
Packit d37888
#define GLIBTOP_PROC_KERNEL_KSTK_EIP	6
Packit d37888
#define GLIBTOP_PROC_KERNEL_NWCHAN	7
Packit d37888
#define GLIBTOP_PROC_KERNEL_WCHAN	8
Packit d37888
Packit d37888
#define GLIBTOP_MAX_PROC_KERNEL		9
Packit d37888
Packit d37888
typedef struct _glibtop_proc_kernel	glibtop_proc_kernel;
Packit d37888
Packit d37888
/* Kernel stuff */
Packit d37888
Packit d37888
struct _glibtop_proc_kernel
Packit d37888
{
Packit d37888
	guint64 flags;
Packit d37888
	guint64 k_flags;	/* kernel flags for the process */
Packit d37888
	guint64 min_flt;	/* number of minor page faults since
Packit d37888
				 * process start */
Packit d37888
	guint64 maj_flt;	/* number of major page faults since
Packit d37888
				 * process start */
Packit d37888
	guint64 cmin_flt;	/* cumulative min_flt of process and
Packit d37888
				 * child processes */
Packit d37888
	guint64 cmaj_flt;	/* cumulative maj_flt of process and
Packit d37888
				 * child processes */
Packit d37888
	guint64 kstk_esp;	/* kernel stack pointer */
Packit d37888
	guint64 kstk_eip;	/* kernel stack pointer */
Packit d37888
	guint64 nwchan;		/* address of kernel wait channel
Packit d37888
				 * proc is sleeping in */
Packit d37888
	char wchan [40];
Packit d37888
};
Packit d37888
Packit d37888
void glibtop_get_proc_kernel(glibtop_proc_kernel *buf, pid_t pid);
Packit d37888
Packit d37888
#if GLIBTOP_SUID_PROC_KERNEL
Packit d37888
#define glibtop_get_proc_kernel_r	glibtop_get_proc_kernel_p
Packit d37888
#else
Packit d37888
#define glibtop_get_proc_kernel_r	glibtop_get_proc_kernel_s
Packit d37888
#endif
Packit d37888
Packit d37888
void glibtop_get_proc_kernel_l (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
Packit d37888
Packit d37888
#if GLIBTOP_SUID_PROC_KERNEL
Packit d37888
void _glibtop_init_proc_kernel_p (glibtop *server);
Packit d37888
void glibtop_get_proc_kernel_p (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
Packit d37888
#else
Packit d37888
void _glibtop_init_proc_kernel_s (glibtop *server);
Packit d37888
void glibtop_get_proc_kernel_s (glibtop *server, glibtop_proc_kernel *buf, pid_t pid);
Packit d37888
#endif
Packit d37888
Packit d37888
Packit d37888
G_END_DECLS
Packit d37888
Packit d37888
#endif