Top/ps process monitor
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
1.8 KiB

5 years ago
#ifndef __PROC_H__
#define __PROC_H__
#include <Eina.h>
#include <stdint.h>
#include <unistd.h>
#if !defined(PID_MAX)
# define PID_MAX 99999
#endif
4 years ago
typedef struct _Proc_Info
5 years ago
{
pid_t pid;
3 years ago
pid_t ppid;
5 years ago
uid_t uid;
int8_t nice;
int8_t priority;
int cpu_id;
int32_t numthreads;
int64_t cpu_time;
double cpu_usage;
3 years ago
int64_t run_time;
int64_t start;
uint64_t mem_size;
uint64_t mem_virt;
uint64_t mem_rss;
uint64_t mem_shared;
char *command;
char *arguments;
3 years ago
int ssleep;
char state[32];
5 years ago
short is_kernel;
int tid;
char *thread_name;
Eina_List *threads;
Eina_List *children;
4 years ago
} Proc_Info;
5 years ago
Eina_List *
proc_info_all_get(void);
5 years ago
4 years ago
Proc_Info *
proc_info_by_pid(int pid);
5 years ago
void
proc_info_free(Proc_Info *proc);
void
proc_info_kthreads_show_set(Eina_Bool enabled);
Eina_Bool
proc_info_kthreads_show_get(void);
Eina_List *
proc_info_all_children_get(void);
Eina_List *
proc_info_pid_children_get(pid_t pid);
void
proc_info_pid_children_free(Proc_Info *procs);
5 years ago
int
proc_sort_by_pid(const void *p1, const void *p2);
int
proc_sort_by_uid(const void *p1, const void *p2);
int
proc_sort_by_nice(const void *p1, const void *p2);
int
proc_sort_by_pri(const void *p1, const void *p2);
int
proc_sort_by_cpu(const void *p1, const void *p2);
int
proc_sort_by_threads(const void *p1, const void *p2);
int
proc_sort_by_size(const void *p1, const void *p2);
int
proc_sort_by_rss(const void *p1, const void *p2);
int
proc_sort_by_time(const void *p1, const void *p2);
int
proc_sort_by_cpu_usage(const void *p1, const void *p2);
int
proc_sort_by_cmd(const void *p1, const void *p2);
int
proc_sort_by_state(const void *p1, const void *p2);
int
proc_sort_by_age(const void *p1, const void *p2);
5 years ago
#endif