summaryrefslogtreecommitdiffstats
path: root/utils/lib/linux_version.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils/lib/linux_version.c')
-rw-r--r--utils/lib/linux_version.c71
1 files changed, 0 insertions, 71 deletions
diff --git a/utils/lib/linux_version.c b/utils/lib/linux_version.c
deleted file mode 100644
index 137bbe7..0000000
--- a/utils/lib/linux_version.c
+++ /dev/null
@@ -1,71 +0,0 @@
-#include <stdio.h>
-#include <sys/utsname.h>
-
-#include "c.h"
-#include "linux_version.h"
-
-int get_linux_version (void)
-{
- static int kver = -1;
- struct utsname uts;
- int x = 0, y = 0, z = 0;
- int n;
-
- if (kver != -1)
- return kver;
- if (uname(&uts))
- return kver = 0;
-
- n = sscanf(uts.release, "%d.%d.%d", &x, &y, &z);
- if (n < 1 || n > 3)
- return kver = 0;
-
- return kver = KERNEL_VERSION(x, y, z);
-}
-
-#ifdef TEST_PROGRAM_LINUXVERSION
-# include <stdlib.h>
-int main(int argc, char *argv[])
-{
- int rc = EXIT_FAILURE;
-
- if (argc == 1) {
- printf("Linux version: %d\n", get_linux_version());
- rc = EXIT_SUCCESS;
-
- } else if (argc == 5) {
- const char *oper = argv[1];
-
- int x = atoi(argv[2]),
- y = atoi(argv[3]),
- z = atoi(argv[4]);
- int kver = get_linux_version();
- int uver = KERNEL_VERSION(x, y, z);
-
- if (strcmp(oper, "==") == 0)
- rc = kver == uver;
- else if (strcmp(oper, "<=") == 0)
- rc = kver <= uver;
- else if (strcmp(oper, ">=") == 0)
- rc = kver >= uver;
- else
- errx(EXIT_FAILURE, "unsupported operator");
-
- if (rc)
- printf("match\n");
- else
- printf("not-match [%d %s %d, x.y.z: %d.%d.%d]\n",
- kver, oper, uver, x, y, z);
-
- rc = rc ? EXIT_SUCCESS : EXIT_FAILURE;
-
- } else
- fprintf(stderr, "Usage:\n"
- " %s [<oper> <x> <y> <z>]\n"
- "supported operators:\n"
- " ==, <=, >=\n",
- program_invocation_short_name);
-
- return rc;
-}
-#endif