diff options
Diffstat (limited to 'Scheduling.h')
-rw-r--r-- | Scheduling.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Scheduling.h b/Scheduling.h new file mode 100644 index 0000000..610503c --- /dev/null +++ b/Scheduling.h @@ -0,0 +1,50 @@ +#ifndef HEADER_Scheduling +#define HEADER_Scheduling +/* +htop - Scheduling.h +(C) 2023 htop dev team +Released under the GNU GPLv2+, see the COPYING file +in the source distribution for its full text. +*/ + +#include <sched.h> +#include <stdbool.h> + +#include "Object.h" +#include "Panel.h" +#include "Process.h" +#include "Row.h" + + +#if defined(HAVE_SCHED_SETSCHEDULER) && defined(HAVE_SCHED_GETSCHEDULER) +#define SCHEDULER_SUPPORT + +typedef struct { + const char* name; + int id; + bool prioritySupport; +} SchedulingPolicy; + +#define SCHEDULINGPANEL_INITSELECTEDPOLICY SCHED_OTHER +#define SCHEDULINGPANEL_INITSELECTEDPRIORITY 50 + +Panel* Scheduling_newPolicyPanel(int preSelectedPolicy); +void Scheduling_togglePolicyPanelResetOnFork(Panel* schedPanel); + +Panel* Scheduling_newPriorityPanel(int policy, int preSelectedPriority); + + +typedef struct { + int policy; + int priority; +} SchedulingArg; + +bool Scheduling_rowSetPolicy(Row* proc, Arg arg); + +const char* Scheduling_formatPolicy(int policy); + +void Scheduling_readProcessPolicy(Process* proc); + +#endif + +#endif /* HEADER_Scheduling */ |