summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Scott <nathans@redhat.com>2021-03-03 10:59:28 +1100
committerNathan Scott <nathans@redhat.com>2021-03-04 13:40:59 +1100
commit61ef1134d97dbcf8b4ee069b36addf3c706ff55c (patch)
tree2cc478d92938b01f1d861350538742df6cea7e9e
parent5b50ae3aa3a418f3f84ff2fdb172ab447753814f (diff)
Move generic (shared) code into its own sub-directory
Code that is shared across some (but not all) platforms is moved into a 'generic' home. Makefile.am cleanups to match plus some minor alphabetic reordering/formatting. As discussed in https://github.com/htop-dev/htop/pull/553
-rw-r--r--Makefile.am114
-rw-r--r--darwin/DarwinProcessList.c2
-rw-r--r--darwin/Platform.h7
-rw-r--r--dragonflybsd/Platform.h7
-rw-r--r--freebsd/FreeBSDProcessList.c2
-rw-r--r--freebsd/Platform.h7
-rw-r--r--generic/hostname.c16
-rw-r--r--generic/hostname.h (renamed from Generic.h)10
-rw-r--r--generic/openzfs_sysctl.c (renamed from zfs/openzfs_sysctl.c)4
-rw-r--r--generic/openzfs_sysctl.h (renamed from zfs/openzfs_sysctl.h)2
-rw-r--r--generic/uname.c (renamed from Generic.c)15
-rw-r--r--generic/uname.h12
-rw-r--r--linux/Platform.h7
-rw-r--r--openbsd/Platform.h7
-rw-r--r--solaris/Platform.h7
15 files changed, 143 insertions, 76 deletions
diff --git a/Makefile.am b/Makefile.am
index 082f6e7a..e894457b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -42,7 +42,6 @@ myhtopsources = \
DisplayOptionsPanel.c \
EnvScreen.c \
FunctionBar.c \
- Generic.c \
Hashtable.c \
Header.c \
HostnameMeter.c \
@@ -97,7 +96,6 @@ myhtopheaders = \
DisplayOptionsPanel.h \
EnvScreen.h \
FunctionBar.h \
- Generic.h \
Hashtable.h \
Header.h \
HostnameMeter.h \
@@ -136,6 +134,8 @@ myhtopheaders = \
# -----
linux_platform_headers = \
+ generic/hostname.h \
+ generic/uname.h \
linux/HugePageMeter.h \
linux/IOPriority.h \
linux/IOPriorityPanel.h \
@@ -153,9 +153,9 @@ linux_platform_headers = \
zfs/ZfsArcStats.h \
zfs/ZfsCompressedArcMeter.h
-if HTOP_LINUX
-AM_LDFLAGS += -rdynamic
-myhtopplatsources = \
+linux_platform_sources = \
+ generic/hostname.c \
+ generic/uname.c \
linux/HugePageMeter.c \
linux/IOPriorityPanel.c \
linux/LibSensors.c \
@@ -169,7 +169,10 @@ myhtopplatsources = \
zfs/ZfsArcMeter.c \
zfs/ZfsCompressedArcMeter.c
+if HTOP_LINUX
+AM_LDFLAGS += -rdynamic
myhtopplatheaders = $(linux_platform_headers)
+myhtopplatsources = $(linux_platform_sources)
endif
# FreeBSD
@@ -180,17 +183,26 @@ freebsd_platform_headers = \
freebsd/FreeBSDProcess.h \
freebsd/Platform.h \
freebsd/ProcessField.h \
+ generic/hostname.h \
+ generic/openzfs_sysctl.h \
+ generic/uname.h \
zfs/ZfsArcMeter.h \
- zfs/ZfsCompressedArcMeter.h \
zfs/ZfsArcStats.h \
- zfs/openzfs_sysctl.h
+ zfs/ZfsCompressedArcMeter.h
-if HTOP_FREEBSD
-myhtopplatsources = freebsd/Platform.c freebsd/FreeBSDProcessList.c \
-freebsd/FreeBSDProcess.c \
-zfs/ZfsArcMeter.c zfs/ZfsCompressedArcMeter.c zfs/openzfs_sysctl.c
+freebsd_platform_sources = \
+ freebsd/Platform.c \
+ freebsd/FreeBSDProcessList.c \
+ freebsd/FreeBSDProcess.c \
+ generic/hostname.c \
+ generic/openzfs_sysctl.c \
+ generic/uname.c \
+ zfs/ZfsArcMeter.c \
+ zfs/ZfsCompressedArcMeter.c
+if HTOP_FREEBSD
myhtopplatheaders = $(freebsd_platform_headers)
+myhtopplatsources = $(freebsd_platform_sources)
endif
# DragonFlyBSD
@@ -200,31 +212,43 @@ dragonflybsd_platform_headers = \
dragonflybsd/DragonFlyBSDProcessList.h \
dragonflybsd/DragonFlyBSDProcess.h \
dragonflybsd/Platform.h \
- dragonflybsd/ProcessField.h
+ dragonflybsd/ProcessField.h \
+ generic/hostname.h \
+ generic/uname.h
-if HTOP_DRAGONFLYBSD
-myhtopplatsources = \
- dragonflybsd/Platform.c \
+dragonflybsd_platform_sources = \
dragonflybsd/DragonFlyBSDProcessList.c \
- dragonflybsd/DragonFlyBSDProcess.c
+ dragonflybsd/DragonFlyBSDProcess.c \
+ dragonflybsd/Platform.c \
+ generic/hostname.c \
+ generic/uname.c
+if HTOP_DRAGONFLYBSD
myhtopplatheaders = $(dragonflybsd_platform_headers)
+myhtopplatsources = $(dragonflybsd_platform_sources)
endif
# OpenBSD
# -------
openbsd_platform_headers = \
+ generic/hostname.h \
+ generic/uname.h \
openbsd/OpenBSDProcessList.h \
openbsd/OpenBSDProcess.h \
openbsd/Platform.h \
openbsd/ProcessField.h
-if HTOP_OPENBSD
-myhtopplatsources = openbsd/Platform.c openbsd/OpenBSDProcessList.c \
-openbsd/OpenBSDProcess.c
+openbsd_platform_sources = \
+ generic/hostname.c \
+ generic/uname.c \
+ openbsd/OpenBSDProcessList.c \
+ openbsd/OpenBSDProcess.c \
+ openbsd/Platform.c
+if HTOP_OPENBSD
myhtopplatheaders = $(openbsd_platform_headers)
+myhtopplatsources = $(openbsd_platform_sources)
endif
# Darwin
@@ -235,38 +259,55 @@ darwin_platform_headers = \
darwin/DarwinProcessList.h \
darwin/Platform.h \
darwin/ProcessField.h \
+ generic/hostname.h \
+ generic/openzfs_sysctl.h \
+ generic/uname.h \
zfs/ZfsArcMeter.h \
- zfs/ZfsCompressedArcMeter.h \
zfs/ZfsArcStats.h \
- zfs/openzfs_sysctl.h
+ zfs/ZfsCompressedArcMeter.h
+
+darwin_platform_sources = \
+ darwin/Platform.c \
+ darwin/DarwinProcess.c \
+ darwin/DarwinProcessList.c \
+ generic/hostname.c \
+ generic/openzfs_sysctl.c \
+ generic/uname.c \
+ zfs/ZfsArcMeter.c \
+ zfs/ZfsCompressedArcMeter.c
if HTOP_DARWIN
AM_LDFLAGS += -framework IOKit -framework CoreFoundation
-myhtopplatsources = darwin/Platform.c darwin/DarwinProcess.c \
-darwin/DarwinProcessList.c \
-zfs/ZfsArcMeter.c zfs/ZfsCompressedArcMeter.c zfs/openzfs_sysctl.c
-
myhtopplatheaders = $(darwin_platform_headers)
+myhtopplatsources = $(darwin_platform_sources)
endif
# Solaris
# -------
solaris_platform_headers = \
- solaris/Platform.h \
+ generic/hostname.h \
+ generic/uname.h \
solaris/ProcessField.h \
+ solaris/Platform.h \
solaris/SolarisProcess.h \
solaris/SolarisProcessList.h \
zfs/ZfsArcMeter.h \
- zfs/ZfsCompressedArcMeter.h \
- zfs/ZfsArcStats.h
+ zfs/ZfsArcStats.h \
+ zfs/ZfsCompressedArcMeter.h
-if HTOP_SOLARIS
-myhtopplatsources = solaris/Platform.c \
-solaris/SolarisProcess.c solaris/SolarisProcessList.c \
-zfs/ZfsArcMeter.c zfs/ZfsCompressedArcMeter.c
+solaris_platform_sources = \
+ generic/hostname.c \
+ generic/uname.c \
+ solaris/Platform.c \
+ solaris/SolarisProcess.c \
+ solaris/SolarisProcessList.c \
+ zfs/ZfsArcMeter.c \
+ zfs/ZfsCompressedArcMeter.c
+if HTOP_SOLARIS
myhtopplatheaders = $(solaris_platform_headers)
+myhtopplatsources = $(solaris_platform_sources)
endif
# Unsupported
@@ -278,10 +319,13 @@ unsupported_platform_headers = \
unsupported/UnsupportedProcess.h \
unsupported/UnsupportedProcessList.h
-if HTOP_UNSUPPORTED
-myhtopplatsources = unsupported/Platform.c \
-unsupported/UnsupportedProcess.c unsupported/UnsupportedProcessList.c
+unsupported_platform_sources = \
+ unsupported/Platform.c \
+ unsupported/UnsupportedProcess.c \
+ unsupported/UnsupportedProcessList.c
+if HTOP_UNSUPPORTED
+myhtopplatsources = $(unsupported_platform_sources)
myhtopplatheaders = $(unsupported_platform_headers)
endif
diff --git a/darwin/DarwinProcessList.c b/darwin/DarwinProcessList.c
index 43337100..c8f89e9b 100644
--- a/darwin/DarwinProcessList.c
+++ b/darwin/DarwinProcessList.c
@@ -20,9 +20,9 @@ in the source distribution for its full text.
#include "CRT.h"
#include "DarwinProcess.h"
+#include "generic/openzfs_sysctl.h"
#include "Platform.h"
#include "ProcessList.h"
-#include "zfs/openzfs_sysctl.h"
#include "zfs/ZfsArcStats.h"
diff --git a/darwin/Platform.h b/darwin/Platform.h
index 59c2b9c7..c329c608 100644
--- a/darwin/Platform.h
+++ b/darwin/Platform.h
@@ -16,7 +16,8 @@ in the source distribution for its full text.
#include "CPUMeter.h"
#include "DarwinProcess.h"
#include "DiskIOMeter.h"
-#include "Generic.h"
+#include "generic/hostname.h"
+#include "generic/uname.h"
#include "NetworkIOMeter.h"
#include "ProcessLocksScreen.h"
#include "SignalsPanel.h"
@@ -69,11 +70,11 @@ bool Platform_getNetworkIO(NetworkIOData* data);
void Platform_getBattery(double *percent, ACPresence *isOnAC);
static inline void Platform_getHostname(char* buffer, size_t size) {
- Generic_Hostname(buffer, size);
+ Generic_hostname(buffer, size);
}
static inline void Platform_getRelease(char** string) {
- *string = Generic_OSRelease();
+ *string = Generic_uname();
}
#endif
diff --git a/dragonflybsd/Platform.h b/dragonflybsd/Platform.h
index 4d70e4b7..2ed97a70 100644
--- a/dragonflybsd/Platform.h
+++ b/dragonflybsd/Platform.h
@@ -14,7 +14,8 @@ in the source distribution for its full text.
#include "Action.h"
#include "BatteryMeter.h"
#include "DiskIOMeter.h"
-#include "Generic.h"
+#include "generic/hostname.h"
+#include "generic/uname.h"
#include "NetworkIOMeter.h"
#include "ProcessLocksScreen.h"
#include "SignalsPanel.h"
@@ -59,11 +60,11 @@ bool Platform_getNetworkIO(NetworkIOData* data);
void Platform_getBattery(double* percent, ACPresence* isOnAC);
static inline void Platform_getHostname(char* buffer, size_t size) {
- Generic_Hostname(buffer, size);
+ Generic_hostname(buffer, size);
}
static inline void Platform_getRelease(char** string) {
- *string = Generic_OSRelease();
+ *string = Generic_uname();
}
#endif
diff --git a/freebsd/FreeBSDProcessList.c b/freebsd/FreeBSDProcessList.c
index 91e1d4ca..622403be 100644
--- a/freebsd/FreeBSDProcessList.c
+++ b/freebsd/FreeBSDProcessList.c
@@ -30,6 +30,7 @@ in the source distribution for its full text.
#include "CRT.h"
#include "Compat.h"
#include "FreeBSDProcess.h"
+#include "generic/openzfs_sysctl.h"
#include "Macros.h"
#include "Object.h"
#include "Process.h"
@@ -37,7 +38,6 @@ in the source distribution for its full text.
#include "Settings.h"
#include "XUtils.h"
#include "zfs/ZfsArcStats.h"
-#include "zfs/openzfs_sysctl.h"
static int MIB_hw_physmem[2];
diff --git a/freebsd/Platform.h b/freebsd/Platform.h
index 4ec130d7..79dfe0bd 100644
--- a/freebsd/Platform.h
+++ b/freebsd/Platform.h
@@ -13,7 +13,8 @@ in the source distribution for its full text.
#include "Action.h"
#include "BatteryMeter.h"
#include "DiskIOMeter.h"
-#include "Generic.h"
+#include "generic/hostname.h"
+#include "generic/uname.h"
#include "Meter.h"
#include "NetworkIOMeter.h"
#include "Process.h"
@@ -64,11 +65,11 @@ bool Platform_getNetworkIO(NetworkIOData* data);
void Platform_getBattery(double* percent, ACPresence* isOnAC);
static inline void Platform_getHostname(char* buffer, size_t size) {
- Generic_Hostname(buffer, size);
+ Generic_hostname(buffer, size);
}
static inline void Platform_getRelease(char** string) {
- *string = Generic_OSRelease();
+ *string = Generic_uname();
}
#endif
diff --git a/generic/hostname.c b/generic/hostname.c
new file mode 100644
index 00000000..78404e43
--- /dev/null
+++ b/generic/hostname.c
@@ -0,0 +1,16 @@
+/*
+htop - generic/hostname.c
+(C) 2021 htop dev team
+Released under the GNU GPLv2, see the COPYING file
+in the source distribution for its full text.
+*/
+#include "config.h" // IWYU pragma: keep
+
+#include "generic/hostname.h"
+
+#include <unistd.h>
+
+
+void Generic_hostname(char* buffer, size_t size) {
+ gethostname(buffer, size - 1);
+}
diff --git a/Generic.h b/generic/hostname.h
index 44adc09e..c6b941e8 100644
--- a/Generic.h
+++ b/generic/hostname.h
@@ -1,7 +1,7 @@
-#ifndef HEADER_Generic
-#define HEADER_Generic
+#ifndef HEADER_hostname
+#define HEADER_hostname
/*
-htop - Generic.h
+htop - generic/hostname.h
(C) 2021 htop dev team
Released under the GNU GPLv2, see the COPYING file
in the source distribution for its full text.
@@ -9,8 +9,6 @@ in the source distribution for its full text.
#include <stddef.h>
-void Generic_Hostname(char* buffer, size_t size);
-
-char* Generic_OSRelease(void);
+void Generic_hostname(char* buffer, size_t size);
#endif
diff --git a/zfs/openzfs_sysctl.c b/generic/openzfs_sysctl.c
index fd00d61b..c7d79bcf 100644
--- a/zfs/openzfs_sysctl.c
+++ b/generic/openzfs_sysctl.c
@@ -1,11 +1,11 @@
/*
-htop - zfs/openzfs_sysctl.c
+htop - generic/openzfs_sysctl.c
(C) 2014 Hisham H. Muhammad
Released under the GNU GPLv2, see the COPYING file
in the source distribution for its full text.
*/
-#include "zfs/openzfs_sysctl.h"
+#include "generic/openzfs_sysctl.h"
#include <stdlib.h>
#include <sys/types.h> // IWYU pragma: keep
diff --git a/zfs/openzfs_sysctl.h b/generic/openzfs_sysctl.h
index b49128e3..4cf5485e 100644
--- a/zfs/openzfs_sysctl.h
+++ b/generic/openzfs_sysctl.h
@@ -1,7 +1,7 @@
#ifndef HEADER_openzfs_sysctl
#define HEADER_openzfs_sysctl
/*
-htop - zfs/openzfs_sysctl.h
+htop - generic/openzfs_sysctl.h
(C) 2014 Hisham H. Muhammad
Released under the GNU GPLv2, see the COPYING file
in the source distribution for its full text.
diff --git a/Generic.c b/generic/uname.c
index 185ecb41..5b4fb2cf 100644
--- a/Generic.c
+++ b/generic/uname.c
@@ -1,26 +1,20 @@
/*
-htop - Generic.c
+htop - generic/uname.c
(C) 2021 htop dev team
Released under the GNU GPLv2, see the COPYING file
in the source distribution for its full text.
*/
#include "config.h" // IWYU pragma: keep
-#include "Generic.h"
+#include "generic/uname.h"
#include <stdio.h>
#ifdef HAVE_SYS_UTSNAME_H
#include <sys/utsname.h>
#endif
-#include <unistd.h>
#include "XUtils.h"
-void Generic_Hostname(char* buffer, size_t size) {
- gethostname(buffer, size - 1);
-}
-
-#ifdef HAVE_SYS_UTSNAME_H
#ifndef OSRELEASEFILE
#define OSRELEASEFILE "/etc/os-release"
@@ -68,9 +62,7 @@ static void parseOSRelease(char* buffer, size_t bufferLen) {
snprintf(buffer, bufferLen, "%s%s%s", name[0] ? name : "", name[0] && version[0] ? " " : "", version);
}
-char* Generic_OSRelease(void) {
- static struct utsname uname_info;
-
+char* Generic_uname(void) {
static char savedString[
/* uname structure fields - manpages recommend sizeof */
sizeof(uname_info.sysname) +
@@ -99,4 +91,3 @@ char* Generic_OSRelease(void) {
return savedString;
}
-#endif
diff --git a/generic/uname.h b/generic/uname.h
new file mode 100644
index 00000000..820d0857
--- /dev/null
+++ b/generic/uname.h
@@ -0,0 +1,12 @@
+#ifndef HEADER_uname
+#define HEADER_uname
+/*
+htop - generic/uname.h
+(C) 2021 htop dev team
+Released under the GNU GPLv2, see the COPYING file
+in the source distribution for its full text.
+*/
+
+char* Generic_uname(void);
+
+#endif
diff --git a/linux/Platform.h b/linux/Platform.h
index c2a86f73..2d528bd3 100644
--- a/linux/Platform.h
+++ b/linux/Platform.h
@@ -14,7 +14,8 @@ in the source distribution for its full text.
#include "Action.h"
#include "BatteryMeter.h"
#include "DiskIOMeter.h"
-#include "Generic.h"
+#include "generic/hostname.h"
+#include "generic/uname.h"
#include "Meter.h"
#include "NetworkIOMeter.h"
#include "Process.h"
@@ -74,11 +75,11 @@ bool Platform_getNetworkIO(NetworkIOData* data);
void Platform_getBattery(double *percent, ACPresence *isOnAC);
static inline void Platform_getHostname(char* buffer, size_t size) {
- Generic_Hostname(buffer, size);
+ Generic_hostname(buffer, size);
}
static inline void Platform_getRelease(char** string) {
- *string = Generic_OSRelease();
+ *string = Generic_uname();
}
#endif
diff --git a/openbsd/Platform.h b/openbsd/Platform.h
index ca739988..8d9791e1 100644
--- a/openbsd/Platform.h
+++ b/openbsd/Platform.h
@@ -14,7 +14,8 @@ in the source distribution for its full text.
#include "Action.h"
#include "BatteryMeter.h"
#include "DiskIOMeter.h"
-#include "Generic.h"
+#include "generic/hostname.h"
+#include "generic/uname.h"
#include "Meter.h"
#include "NetworkIOMeter.h"
#include "Process.h"
@@ -62,11 +63,11 @@ bool Platform_getNetworkIO(NetworkIOData* data);
void Platform_getBattery(double* percent, ACPresence* isOnAC);
static inline void Platform_getHostname(char* buffer, size_t size) {
- Generic_Hostname(buffer, size);
+ Generic_hostname(buffer, size);
}
static inline void Platform_getRelease(char** string) {
- *string = Generic_OSRelease();
+ *string = Generic_uname();
}
#endif
diff --git a/solaris/Platform.h b/solaris/Platform.h
index d4496bc2..4a6765a1 100644
--- a/solaris/Platform.h
+++ b/solaris/Platform.h
@@ -19,7 +19,8 @@ in the source distribution for its full text.
#include "Action.h"
#include "BatteryMeter.h"
#include "DiskIOMeter.h"
-#include "Generic.h"
+#include "generic/hostname.h"
+#include "generic/uname.h"
#include "NetworkIOMeter.h"
#include "ProcessLocksScreen.h"
#include "SignalsPanel.h"
@@ -81,11 +82,11 @@ bool Platform_getNetworkIO(NetworkIOData* data);
void Platform_getBattery(double* percent, ACPresence* isOnAC);
static inline void Platform_getHostname(char* buffer, size_t size) {
- Generic_Hostname(buffer, size);
+ Generic_hostname(buffer, size);
}
static inline void Platform_getRelease(char** string) {
- *string = Generic_OSRelease();
+ *string = Generic_uname();
}
#endif

© 2014-2024 Faster IT GmbH | imprint | privacy policy