find . -name \*.[ch] | xargs -i emacs -batch {} \ -l /gnome/compile/libgtop/misc/format.el -f save-buffer December 26, 1999 Martin
245 lines
7.1 KiB
C
245 lines
7.1 KiB
C
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 4 -*- */
|
|
|
|
#ifndef _LINUX_LIBGTOP_H
|
|
#define _LINUX_LIBGTOP_H 1
|
|
|
|
#include <linux/tasks.h>
|
|
|
|
enum {
|
|
LIBGTOP_VERSION = 1,
|
|
LIBGTOP_UPDATE_EXPENSIVE,
|
|
LIBGTOP_STAT = 101,
|
|
LIBGTOP_MEM,
|
|
LIBGTOP_SWAP,
|
|
LIBGTOP_PROCLIST = 201,
|
|
LIBGTOP_PROC_STATE = 211,
|
|
LIBGTOP_PROC_KERNEL,
|
|
LIBGTOP_PROC_SEGMENT,
|
|
LIBGTOP_PROC_MEM,
|
|
LIBGTOP_PROC_SIGNAL,
|
|
LIBGTOP_PROC_ARGS = 251,
|
|
LIBGTOP_PROC_MAPS,
|
|
LIBGTOP_NETLOAD = 301
|
|
};
|
|
|
|
enum {
|
|
LIBGTOP_PROCLIST_ALL = 0,
|
|
LIBGTOP_PROCLIST_PID,
|
|
LIBGTOP_PROCLIST_PGRP,
|
|
LIBGTOP_PROCLIST_SESSION,
|
|
LIBGTOP_PROCLIST_TTY,
|
|
LIBGTOP_PROCLIST_UID,
|
|
LIBGTOP_PROCLIST_RUID
|
|
};
|
|
|
|
#define LIBGTOP_NSIG 4
|
|
|
|
#define LIBGTOP_PROCLIST_MASK 15
|
|
#define LIBGTOP_MAX_GROUPS 32
|
|
|
|
#define LIBGTOP_EXCLUDE_IDLE 0x1000
|
|
#define LIBGTOP_EXCLUDE_SYSTEM 0x2000
|
|
#define LIBGTOP_EXCLUDE_NOTTY 0x4000
|
|
|
|
#define LIBGTOP_TASK_RUNNING 1
|
|
#define LIBGTOP_TASK_INTERRUPTIBLE 2
|
|
#define LIBGTOP_TASK_UNINTERRUPTIBLE 4
|
|
#define LIBGTOP_TASK_ZOMBIE 8
|
|
#define LIBGTOP_TASK_STOPPED 16
|
|
#define LIBGTOP_TASK_SWAPPING 32
|
|
|
|
#define LIBGTOP_VM_READ 0x0001 /* currently active flags */
|
|
#define LIBGTOP_VM_WRITE 0x0002
|
|
#define LIBGTOP_VM_EXEC 0x0004
|
|
#define LIBGTOP_VM_SHARED 0x0008
|
|
|
|
#define LIBGTOP_VM_MAYREAD 0x0010 /* limits for mprotect() etc */
|
|
#define LIBGTOP_VM_MAYWRITE 0x0020
|
|
#define LIBGTOP_VM_MAYEXEC 0x0040
|
|
#define LIBGTOP_VM_MAYSHARE 0x0080
|
|
|
|
#define LIBGTOP_VM_GROWSDOWN 0x0100 /* general info on the segment */
|
|
#define LIBGTOP_VM_GROWSUP 0x0200
|
|
#define LIBGTOP_VM_SHM 0x0400 /* shared memory area, don't swap out */
|
|
#define LIBGTOP_VM_DENYWRITE 0x0800 /* ETXTBSY on write attempts.. */
|
|
|
|
#define LIBGTOP_VM_EXECUTABLE 0x1000
|
|
#define LIBGTOP_VM_LOCKED 0x2000
|
|
#define LIBGTOP_VM_IO 0x4000 /* Memory mapped I/O or similar */
|
|
|
|
#define LIBGTOP_MAP_PATH_LEN (PAGE_SIZE - sizeof (libgtop_proc_maps_header_t))
|
|
|
|
#ifndef min
|
|
#define min(a,b) ((a < b) ? a : b)
|
|
#endif
|
|
|
|
typedef struct libgtop_stat libgtop_stat_t;
|
|
|
|
typedef struct libgtop_cpu libgtop_cpu_t;
|
|
typedef struct libgtop_mem libgtop_mem_t;
|
|
typedef struct libgtop_swap libgtop_swap_t;
|
|
typedef struct libgtop_proclist libgtop_proclist_t;
|
|
|
|
typedef struct libgtop_proc_state libgtop_proc_state_t;
|
|
typedef struct libgtop_proc_kernel libgtop_proc_kernel_t;
|
|
typedef struct libgtop_proc_segment libgtop_proc_segment_t;
|
|
typedef struct libgtop_proc_mem libgtop_proc_mem_t;
|
|
typedef struct libgtop_proc_signal libgtop_proc_signal_t;
|
|
|
|
typedef struct libgtop_proc_maps_header libgtop_proc_maps_header_t;
|
|
typedef struct libgtop_proc_maps libgtop_proc_maps_t;
|
|
|
|
typedef struct libgtop_netload libgtop_netload_t;
|
|
|
|
struct libgtop_cpu
|
|
{
|
|
unsigned long total; /* Total CPU Time */
|
|
unsigned long user; /* CPU Time in User Mode */
|
|
unsigned long nice; /* CPU Time in User Mode (nice) */
|
|
unsigned long sys; /* CPU Time in System Mode */
|
|
unsigned long idle; /* CPU Time in the Idle Task */
|
|
};
|
|
|
|
struct libgtop_mem
|
|
{
|
|
unsigned long totalram; /* Total usable main memory size */
|
|
unsigned long freeram; /* Available memory size */
|
|
unsigned long sharedram; /* Amount of shared memory */
|
|
unsigned long bufferram; /* Memory used by buffers */
|
|
unsigned long cachedram;
|
|
};
|
|
|
|
struct libgtop_swap
|
|
{
|
|
unsigned long totalswap; /* Total swap space size */
|
|
unsigned long freeswap; /* swap space still available */
|
|
};
|
|
|
|
struct libgtop_proclist
|
|
{
|
|
int count;
|
|
int nr_running, nr_tasks, last_pid;
|
|
unsigned pids [NR_TASKS];
|
|
};
|
|
|
|
struct libgtop_stat
|
|
{
|
|
int ncpu; /* Number of CPUs */
|
|
unsigned long frequency; /* Tick frequency (HZ) */
|
|
libgtop_cpu_t cpu; /* CPU statistics */
|
|
libgtop_cpu_t xcpu [NR_CPUS]; /* SMP per-CPU statistics */
|
|
double loadavg [3]; /* Load average */
|
|
unsigned long total_forks; /* Total # of forks */
|
|
unsigned int context_swtch; /* Total # of context switches */
|
|
unsigned long boot_time; /* Boot time (seconds s. epoch) */
|
|
unsigned int pgpgin, pgpgout; /* # of pages paged in/out */
|
|
unsigned int pswpin, pswpout; /* # of swap pgs brought in/out */
|
|
};
|
|
|
|
struct libgtop_proc_state
|
|
{
|
|
long state;
|
|
unsigned long flags;
|
|
char comm [16];
|
|
int uid, euid, suid, fsuid;
|
|
int gid, egid, sgid, fsgid;
|
|
int pid, pgrp, ppid;
|
|
int session;
|
|
unsigned int tty;
|
|
int tpgid;
|
|
long priority, counter, def_priority;
|
|
long utime, stime, cutime, cstime, start_time;
|
|
long per_cpu_utime [NR_CPUS], per_cpu_stime [NR_CPUS];
|
|
int has_cpu, processor, last_processor;
|
|
|
|
unsigned long context;
|
|
unsigned long start_code, end_code, start_data, end_data;
|
|
unsigned long start_brk, brk, start_stack, start_mmap;
|
|
unsigned long arg_start, arg_end, env_start, env_end;
|
|
unsigned long rss, rlim, total_vm, locked_vm;
|
|
|
|
unsigned long policy, rt_priority;
|
|
unsigned long it_real_value, it_prof_value, it_virt_value;
|
|
unsigned long it_real_incr, it_prof_incr, it_virt_incr;
|
|
|
|
unsigned long keip, kesp;
|
|
unsigned long min_flt, maj_flt, cmin_flt, cmaj_flt;
|
|
unsigned long nswap, cnswap;
|
|
|
|
int ngroups, groups [LIBGTOP_MAX_GROUPS];
|
|
};
|
|
|
|
struct libgtop_proc_kernel
|
|
{
|
|
unsigned long wchan;
|
|
};
|
|
|
|
struct libgtop_proc_segment
|
|
{
|
|
unsigned long vsize, data, exec, stack, lib;
|
|
};
|
|
|
|
struct libgtop_proc_mem
|
|
{
|
|
libgtop_proc_segment_t segment;
|
|
int size, resident, share, trs, lrs, drs, dt;
|
|
unsigned long rss, rlim;
|
|
};
|
|
|
|
struct libgtop_proc_signal
|
|
{
|
|
unsigned long signal [LIBGTOP_NSIG];
|
|
unsigned long blocked [LIBGTOP_NSIG];
|
|
unsigned long ignore [LIBGTOP_NSIG];
|
|
unsigned long catch [LIBGTOP_NSIG];
|
|
};
|
|
|
|
struct libgtop_proc_maps_header
|
|
{
|
|
unsigned long start, end, offset, perm;
|
|
off_t filename_offset;
|
|
ino_t inode;
|
|
dev_t device;
|
|
} __attribute__ ((aligned (64)));
|
|
|
|
struct libgtop_proc_maps
|
|
{
|
|
libgtop_proc_maps_header_t header;
|
|
char filename [LIBGTOP_MAP_PATH_LEN];
|
|
};
|
|
|
|
struct libgtop_netload
|
|
{
|
|
unsigned long rx_packets; /* total packets received */
|
|
unsigned long tx_packets; /* total packets transmitted */
|
|
unsigned long rx_bytes; /* total bytes received */
|
|
unsigned long tx_bytes; /* total bytes transmitted */
|
|
unsigned long rx_errors; /* bad packets received */
|
|
unsigned long tx_errors; /* packet transmit problems */
|
|
unsigned long rx_dropped; /* no space in linux buffers */
|
|
unsigned long tx_dropped; /* no space available in linux */
|
|
unsigned long multicast; /* multicast packets received */
|
|
unsigned long collisions;
|
|
|
|
/* detailed rx_errors: */
|
|
unsigned long rx_length_errors;
|
|
unsigned long rx_over_errors; /* receiver ring buff overflow */
|
|
unsigned long rx_crc_errors; /* recved pkt with crc error */
|
|
unsigned long rx_frame_errors; /* recv'd frame alignment error */
|
|
unsigned long rx_fifo_errors; /* recv'r fifo overrun */
|
|
unsigned long rx_missed_errors; /* receiver missed packet */
|
|
|
|
/* detailed tx_errors */
|
|
unsigned long tx_aborted_errors;
|
|
unsigned long tx_carrier_errors;
|
|
unsigned long tx_fifo_errors;
|
|
unsigned long tx_heartbeat_errors;
|
|
unsigned long tx_window_errors;
|
|
|
|
/* for cslip etc */
|
|
unsigned long rx_compressed;
|
|
unsigned long tx_compressed;
|
|
};
|
|
|
|
#endif
|