blob: 36127b0f58169440368b1d035eb9ba2e06649da2 [file] [log] [blame] [raw]
/* Do not edit this file. It was automatically generated. */
#ifndef HEADER_freebsd_FreeBSDProcess
#define HEADER_freebsd_FreeBSDProcess
/*
htop - freebsd/FreeBSDProcess.h
(C) 2015 Hisham H. Muhammad
Copyright 2015-2025 Rivoreo
Released under the GNU GPL, see the COPYING file
in the source distribution for its full text.
*/
#include "config.h"
#include "Settings.h"
#include <stdbool.h>
#define PROCESS_FLAG_JAIL 0x100
#define PROCESS_FLAG_EMULATION 0x200
#define PROCESS_FLAG_IO_RATE 0x400
typedef enum {
// Add platform-specific fields here, with ids >= 100
HTOP_JID_FIELD = 100,
HTOP_JAIL_FIELD,
HTOP_EMULATION_FIELD,
HTOP_FIB_FIELD,
HTOP_CMINFLT_FIELD,
HTOP_CMAJFLT_FIELD,
HTOP_READ_BLOCKS_FIELD,
HTOP_WRITE_BLOCKS_FIELD,
HTOP_READ_BLOCK_RATE_FIELD,
HTOP_WRITE_BLOCK_RATE_FIELD,
HTOP_IO_RATE_FIELD,
HTOP_LAST_PROCESSFIELD
} FreeBSDProcessField;
typedef struct FreeBSDProcess_ {
Process super;
bool kernel;
#ifdef HAVE_STRUCT_KINFO_PROC_KI_FIBNUM
int fib;
#endif
#ifdef HAVE_STRUCT_KINFO_PROC_KI_JID
int jid;
char* jname;
#endif
char *emulation;
#ifdef HAVE_STRUCT_KINFO_PROC_KI_RUSAGE_CH
unsigned long int cminflt;
unsigned long int cmajflt;
#endif
long int read_block_count;
long int write_block_count;
long int read_blocks_per_sec;
long int write_blocks_per_sec;
} FreeBSDProcess;
extern ProcessClass FreeBSDProcess_class;
extern FieldData Process_fields[];
extern ProcessPidColumn Process_pidColumns[];
FreeBSDProcess* FreeBSDProcess_new(Settings* settings);
void Process_delete(Object* cast);
void FreeBSDProcess_writeField(const Process *super, RichString* str, ProcessField field);
long FreeBSDProcess_compare(const void* v1, const void* v2);
bool Process_isKernelProcess(const Process *this);
bool Process_isExtraThreadProcess(const Process* this);
char **Process_getKernelStackTrace(const Process *this);
#endif