ceph/src/common/linux_version.c
Ilya Dryomov fcf6e9878b common: introduce get_linux_version()
get_linux_version() returns a version of the currently running kernel,
encoded as in int, and is contained in common/linux_version.[ch].

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2013-12-16 18:57:21 +02:00

26 lines
418 B
C

#include "common/linux_version.h"
#include <stdio.h>
#include <string.h>
#include <sys/utsname.h>
int get_linux_version(void)
{
struct utsname ubuf;
int a, b, c;
int n;
if (uname(&ubuf) || strcmp(ubuf.sysname, "Linux"))
return 0;
n = sscanf(ubuf.release, "%d.%d.%d", &a, &b, &c);
switch (n) {
case 3:
return KERNEL_VERSION(a, b, c);
case 2:
return KERNEL_VERSION(a, b, 0);
default:
return 0;
}
}