diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:00:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:00:29 +0000 |
commit | 52e25213825024b8bb446eb26b03bedc9d5c2103 (patch) | |
tree | da70bf44b2423f6f8e9a070c063fed79d190b489 /Affinity.h | |
parent | Initial commit. (diff) | |
download | htop-52e25213825024b8bb446eb26b03bedc9d5c2103.tar.xz htop-52e25213825024b8bb446eb26b03bedc9d5c2103.zip |
Adding upstream version 3.2.2.upstream/3.2.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'Affinity.h')
-rw-r--r-- | Affinity.h | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Affinity.h b/Affinity.h new file mode 100644 index 0000000..5e7bfe2 --- /dev/null +++ b/Affinity.h @@ -0,0 +1,49 @@ +#ifndef HEADER_Affinity +#define HEADER_Affinity +/* +htop - Affinity.h +(C) 2004-2011 Hisham H. Muhammad +(C) 2020 Red Hat, Inc. All Rights Reserved. +Released under the GNU GPLv2+, see the COPYING file +in the source distribution for its full text. +*/ + +#include "config.h" // IWYU pragma: keep + +#include "ProcessList.h" + +#if defined(HAVE_LIBHWLOC) || defined(HAVE_AFFINITY) +#include <stdbool.h> + +#include "Object.h" +#include "Process.h" +#endif + + +#if defined(HAVE_LIBHWLOC) && defined(HAVE_AFFINITY) +#error hwloc and affinity support are mutual exclusive. +#endif + + +typedef struct Affinity_ { + ProcessList* pl; + unsigned int size; + unsigned int used; + unsigned int* cpus; +} Affinity; + +Affinity* Affinity_new(ProcessList* pl); + +void Affinity_delete(Affinity* this); + +void Affinity_add(Affinity* this, unsigned int id); + +#if defined(HAVE_LIBHWLOC) || defined(HAVE_AFFINITY) + +Affinity* Affinity_get(const Process* proc, ProcessList* pl); + +bool Affinity_set(Process* proc, Arg arg); + +#endif /* HAVE_LIBHWLOC || HAVE_AFFINITY */ + +#endif |