blob: 8c2e04b8f306810fcc75ea0776733017340c792f [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
ZONEID = 100,
ZONE = 101,
#endif
PROJID = 102,
TASKID = 103,
#ifdef HAVE_PSINFO_T_PR_POOLID
POOLID = 104,
#endif
#ifdef HAVE_PSINFO_T_PR_CONTRACT
CONTID = 105,
#endif
LWPID = 106,
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 Process_isKernelProcess(const Process *this);
bool Process_isExtraThreadProcess(const Process* this);
#endif