SolarisProcess.h 1.42 KB
Newer Older
gmbroome's avatar
gmbroome committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* Do not edit this file. It was automatically generated. */

#ifndef HEADER_SolarisProcess
#define HEADER_SolarisProcess
/*
htop - SolarisProcess.h
(C) 2015 Hisham H. Muhammad
(C) 2017 Guy M. Broome
Released under the GNU GPL, see the COPYING file
in the source distribution for its full text.
*/

#include "Settings.h"
#include <zone.h>

typedef enum SolarisProcessFields {
   // Add platform-specific fields here, with ids >= 100
   ZONEID   = 100,
   ZONE  = 101,
   PROJID = 102,
   TASKID = 103,
   POOLID = 104,
   CONTID = 105,
   LAST_PROCESSFIELD = 106,
} SolarisProcessField;


typedef struct SolarisProcess_ {
29
30
   Process    super;
   int        kernel;
gmbroome's avatar
gmbroome committed
31
   zoneid_t   zoneid;
32
   char*      zname;
gmbroome's avatar
gmbroome committed
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
   taskid_t   taskid;
   projid_t   projid;
   poolid_t   poolid;
   ctid_t     contid;
} SolarisProcess;


#ifndef Process_isKernelThread
#define Process_isKernelThread(_process) (_process->kernel == 1)
#endif

#ifndef Process_isUserlandThread
#define Process_isUserlandThread(_process) (_process->pid != _process->tgid)
#endif


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_isThread(Process* this);

#endif