Blame include/glibtop/procstate.h

Packit Service 407539
/* Copyright (C) 1998-99 Martin Baulig
Packit Service 407539
   This file is part of LibGTop 1.0.
Packit Service 407539
Packit Service 407539
   Contributed by Martin Baulig <martin@home-of-linux.org>, April 1998.
Packit Service 407539
Packit Service 407539
   LibGTop is free software; you can redistribute it and/or modify it
Packit Service 407539
   under the terms of the GNU General Public License as published by
Packit Service 407539
   the Free Software Foundation; either version 2 of the License,
Packit Service 407539
   or (at your option) any later version.
Packit Service 407539
Packit Service 407539
   LibGTop is distributed in the hope that it will be useful, but WITHOUT
Packit Service 407539
   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
Packit Service 407539
   FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
Packit Service 407539
   for more details.
Packit Service 407539
Packit Service 407539
   You should have received a copy of the GNU General Public License
Packit Service 407539
   along with LibGTop; see the file COPYING. If not, write to the
Packit Service 407539
   Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Packit Service 407539
   Boston, MA 02110-1301, USA.
Packit Service 407539
*/
Packit Service 407539
Packit Service 407539
#ifndef __GLIBTOP_PROCSTATE_H__
Packit Service 407539
#define __GLIBTOP_PROCSTATE_H__
Packit Service 407539
Packit Service 407539
#include <glibtop.h>
Packit Service 407539
#include <glibtop/global.h>
Packit Service 407539
Packit Service 407539
G_BEGIN_DECLS
Packit Service 407539
Packit Service 407539
#define GLIBTOP_PROC_STATE_CMD		0
Packit Service 407539
#define GLIBTOP_PROC_STATE_STATE	1
Packit Service 407539
#define GLIBTOP_PROC_STATE_UID		2
Packit Service 407539
#define GLIBTOP_PROC_STATE_GID		3
Packit Service 407539
#define GLIBTOP_PROC_STATE_RUID     4
Packit Service 407539
#define GLIBTOP_PROC_STATE_RGID     5
Packit Service 407539
#define GLIBTOP_PROC_STATE_HAS_CPU  6
Packit Service 407539
#define GLIBTOP_PROC_STATE_PROCESSOR 7
Packit Service 407539
#define GLIBTOP_PROC_STATE_LAST_PROCESSOR 8
Packit Service 407539
Packit Service 407539
#define GLIBTOP_MAX_PROC_STATE		9
Packit Service 407539
Packit Service 407539
#define GLIBTOP_PROCESS_RUNNING                 1
Packit Service 407539
#define GLIBTOP_PROCESS_INTERRUPTIBLE           2
Packit Service 407539
#define GLIBTOP_PROCESS_UNINTERRUPTIBLE         4
Packit Service 407539
#define GLIBTOP_PROCESS_ZOMBIE                  8
Packit Service 407539
#define GLIBTOP_PROCESS_STOPPED                 16
Packit Service 407539
#define GLIBTOP_PROCESS_SWAPPING                32
Packit Service 407539
#define GLIBTOP_PROCESS_DEAD                    64
Packit Service 407539
Packit Service 407539
typedef struct _glibtop_proc_state	glibtop_proc_state;
Packit Service 407539
Packit Service 407539
/* Name and status */
Packit Service 407539
Packit Service 407539
struct _glibtop_proc_state
Packit Service 407539
{
Packit Service 407539
	guint64 flags;
Packit Service 407539
	char cmd[40];		/* basename of executable file in
Packit Service 407539
				 * call to exec(2) */
Packit Service 407539
	unsigned state;
Packit Service 407539
	/* NOTE: when porting the library, TRY HARD to implement the
Packit Service 407539
	 *       following two fields. */
Packit Service 407539
	/* IMPORTANT NOTICE: For security reasons, it is extremely important
Packit Service 407539
	 *                   only to set the flags value for those two
Packit Service 407539
	 *                   fields if their values are corrent ! */
Packit Service 407539
	int uid;		/* UID of process */
Packit Service 407539
	int gid;		/* GID of process */
Packit Service 407539
    int ruid;
Packit Service 407539
    int rgid;
Packit Service 407539
    int has_cpu;
Packit Service 407539
    int processor;
Packit Service 407539
    int last_processor;
Packit Service 407539
};
Packit Service 407539
Packit Service 407539
void glibtop_get_proc_state(glibtop_proc_state *buf, pid_t pid);
Packit Service 407539
Packit Service 407539
#if GLIBTOP_SUID_PROC_STATE
Packit Service 407539
#define glibtop_get_proc_state_r	glibtop_get_proc_state_p
Packit Service 407539
#else
Packit Service 407539
#define glibtop_get_proc_state_r	glibtop_get_proc_state_s
Packit Service 407539
#endif
Packit Service 407539
Packit Service 407539
void glibtop_get_proc_state_l (glibtop *server, glibtop_proc_state *buf, pid_t pid);
Packit Service 407539
Packit Service 407539
#if GLIBTOP_SUID_PROC_STATE
Packit Service 407539
void _glibtop_init_proc_state_p (glibtop *server);
Packit Service 407539
void glibtop_get_proc_state_p (glibtop *server, glibtop_proc_state *buf, pid_t pid);
Packit Service 407539
#else
Packit Service 407539
void _glibtop_init_proc_state_s (glibtop *server);
Packit Service 407539
void glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid);
Packit Service 407539
#endif
Packit Service 407539
Packit Service 407539
Packit Service 407539
G_END_DECLS
Packit Service 407539
Packit Service 407539
#endif