summaryrefslogtreecommitdiffstats
path: root/Affinity.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:00:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-28 09:00:29 +0000
commit52e25213825024b8bb446eb26b03bedc9d5c2103 (patch)
treeda70bf44b2423f6f8e9a070c063fed79d190b489 /Affinity.h
parentInitial commit. (diff)
downloadhtop-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.h49
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