From 52e25213825024b8bb446eb26b03bedc9d5c2103 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 11:00:29 +0200 Subject: Adding upstream version 3.2.2. Signed-off-by: Daniel Baumann --- Affinity.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Affinity.h (limited to 'Affinity.h') 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 + +#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 -- cgit v1.2.3