diff options
author | Nathan Scott <nathans@redhat.com> | 2021-03-17 14:29:40 +1100 |
---|---|---|
committer | Nathan Scott <nathans@redhat.com> | 2021-03-22 17:16:40 +1100 |
commit | 0ada9f325f69ddb0f917f023fa701ce7669cd370 (patch) | |
tree | 893a7f51aa87f25c965d4582587f771d95ba4b97 /linux/Platform.h | |
parent | 57e0ce7b4ffce8cf41bd3003831198d0bb38ebf2 (diff) |
Move libcap use to (Linux) platform-specific code
The libcap code is Linux-specific so move it all below
the linux/ platform subdirectory. As this feature has
custom command-line long options I provide a mechanism
whereby each platform can add custom long options that
augment the main htop options. We'll make use this of
this with the pcp/ platform in due course to implement
the --host and --archive options there.
Related to https://github.com/htop-dev/htop/pull/536
Diffstat (limited to 'linux/Platform.h')
-rw-r--r-- | linux/Platform.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/linux/Platform.h b/linux/Platform.h index fbf8be36..30544997 100644 --- a/linux/Platform.h +++ b/linux/Platform.h @@ -27,6 +27,19 @@ in the source distribution for its full text. #define PATH_MAX 4096 #endif +#ifdef HAVE_LIBCAP + #define PLATFORM_LONG_OPTIONS \ + {"drop-capabilities", optional_argument, 0, 128}, + #define PLATFORM_LONG_OPTIONS_USAGE \ + " --drop-capabilities[=none|basic|strict] Drop Linux capabilities when running as root\n" \ + " none - do not drop any capabilities\n" \ + " basic (default) - drop all capabilities not needed by htop\n" \ + " strict - drop all capabilities except those needed for core functionality\n" +#else + #define PLATFORM_LONG_OPTIONS + #define PLATFORM_LONG_OPTIONS_USAGE +#endif + extern const ProcessField Platform_defaultFields[]; @@ -82,4 +95,6 @@ static inline void Platform_getRelease(char** string) { *string = Generic_uname(); } +bool Platform_getLongOption(int opt, int argc, char** argv); + #endif |