blob: af7aad76f45b3ffa36f98c1a223b60fb14733605 [file] [log] [blame] [raw]
/* Do not edit this file. It was automatically generated. */
#ifndef HEADER_solaris_SolarisProcess
#define HEADER_solaris_SolarisProcess
/*
htop - solaris/SolarisProcess.h
(C) 2015 Hisham H. Muhammad
(C) 2017,2018 Guy M. Broome
Released under the GNU GPL, see the COPYING file
in the source distribution for its full text.
*/
#include "config.h"
#include "Settings.h"
#include <sys/proc.h>
#ifdef HAVE_ZONE_H
#include <zone.h>
#endif
typedef enum {
// Add platform-specific fields here, with ids >= 100
#ifdef HAVE_ZONE_H
HTOP_ZONEID_FIELD = 100,
HTOP_ZONE_FIELD = 101,
#endif
HTOP_PROJID_FIELD = 102,
HTOP_TASKID_FIELD = 103,
#ifdef HAVE_PSINFO_T_PR_POOLID
HTOP_POOLID_FIELD = 104,
#endif
#ifdef HAVE_PSINFO_T_PR_CONTRACT
HTOP_CONTID_FIELD = 105,
#endif
#ifdef HAVE_LIBPROC
HTOP_LWPID_FIELD = 106,
#endif
HTOP_LAST_PROCESSFIELD = 107,
} SolarisProcessField;
typedef struct SolarisProcess_ {
Process super;
bool kernel;
#ifdef HAVE_ZONE_H
zoneid_t zoneid;
#endif
char* zname;
taskid_t taskid;
projid_t projid;
#ifdef HAVE_PSINFO_T_PR_POOLID
poolid_t poolid;
#endif
#ifdef HAVE_PSINFO_T_PR_CONTRACT
ctid_t contid;
#endif
bool is_lwp;
pid_t realpid;
pid_t realppid;
pid_t lwpid;
off_t argv_offset;
off_t envv_offset;
char data_model;
} SolarisProcess;
extern ProcessClass SolarisProcess_class;
extern ProcessFieldData Process_fields[];
extern ProcessPidColumn Process_pidColumns[];
SolarisProcess* SolarisProcess_new(Settings* settings);
void Process_delete(Object* cast);
void SolarisProcess_writeField(Process* this, RichString* str, ProcessField field);
long SolarisProcess_compare(const void* v1, const void* v2);
bool SolarisProcess_sendSignal(const Process *this, int sig);
#ifdef HAVE_LIBPROC
bool SolarisProcess_isSelf(const Process *this);
#endif
bool Process_isKernelProcess(const Process *this);
bool Process_isExtraThreadProcess(const Process* this);
char **Process_getKernelStackTrace(const Process *this);
#endif