26 lines
433 B
C
26 lines
433 B
C
#include <stdio.h>
|
|
#include <sys/utsname.h>
|
|
|
|
#include "linux_version.h"
|
|
|
|
int get_linux_version (void)
|
|
{
|
|
static int kver = -1;
|
|
struct utsname uts;
|
|
int major = 0;
|
|
int minor = 0;
|
|
int teeny = 0;
|
|
int n;
|
|
|
|
if (kver != -1)
|
|
return kver;
|
|
if (uname (&uts))
|
|
return kver = 0;
|
|
|
|
n = sscanf(uts.release, "%d.%d.%d", &major, &minor, &teeny);
|
|
if (n < 1 || n > 3)
|
|
return kver = 0;
|
|
|
|
return kver = KERNEL_VERSION(major, minor, teeny);
|
|
}
|