From de34e4375565cbe1b60c2d99afddfb6c7c45b3ad Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Sun, 10 Sep 2000 16:16:00 +0000 Subject: [PATCH] MAke lsmod act just like modutils lsmod, by printing which modules use other modules, and state info like (deleted) and such. -Erik --- lsmod.c | 20 ++++++++++++++++++++ modutils/lsmod.c | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/lsmod.c b/lsmod.c index 2a238cd23..945f420e0 100644 --- a/lsmod.c +++ b/lsmod.c @@ -54,6 +54,13 @@ int query_module(const char *name, int which, void *buf, size_t bufsize, #define QM_SYMBOLS 4 #define QM_INFO 5 +/* Bits of module.flags. */ +#define NEW_MOD_RUNNING 1 +#define NEW_MOD_DELETED 2 +#define NEW_MOD_AUTOCLEAN 4 +#define NEW_MOD_VISITED 8 +#define NEW_MOD_USED_ONCE 16 +#define NEW_MOD_INITIALIZING 64 extern int lsmod_main(int argc, char **argv) @@ -95,6 +102,19 @@ extern int lsmod_main(int argc, char **argv) } if (count) printf("]"); printf("\n"); + + if (info.flags & NEW_MOD_DELETED) + printf(" (deleted)"); + else if (info.flags & NEW_MOD_INITIALIZING) + printf(" (initializing)"); + else if (!(info.flags & NEW_MOD_RUNNING)) + printf(" (uninitialized)"); + else { + if (info.flags & NEW_MOD_AUTOCLEAN) + printf(" (autoclean)"); + if (!(info.flags & NEW_MOD_USED_ONCE)) + printf(" (unused)"); + } } diff --git a/modutils/lsmod.c b/modutils/lsmod.c index 2a238cd23..945f420e0 100644 --- a/modutils/lsmod.c +++ b/modutils/lsmod.c @@ -54,6 +54,13 @@ int query_module(const char *name, int which, void *buf, size_t bufsize, #define QM_SYMBOLS 4 #define QM_INFO 5 +/* Bits of module.flags. */ +#define NEW_MOD_RUNNING 1 +#define NEW_MOD_DELETED 2 +#define NEW_MOD_AUTOCLEAN 4 +#define NEW_MOD_VISITED 8 +#define NEW_MOD_USED_ONCE 16 +#define NEW_MOD_INITIALIZING 64 extern int lsmod_main(int argc, char **argv) @@ -95,6 +102,19 @@ extern int lsmod_main(int argc, char **argv) } if (count) printf("]"); printf("\n"); + + if (info.flags & NEW_MOD_DELETED) + printf(" (deleted)"); + else if (info.flags & NEW_MOD_INITIALIZING) + printf(" (initializing)"); + else if (!(info.flags & NEW_MOD_RUNNING)) + printf(" (uninitialized)"); + else { + if (info.flags & NEW_MOD_AUTOCLEAN) + printf(" (autoclean)"); + if (!(info.flags & NEW_MOD_USED_ONCE)) + printf(" (unused)"); + } }