1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #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 */
|