File: linux_version.c

package info (click to toggle)
util-linux 2.29.2-1%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 40,944 kB
  • sloc: ansic: 115,419; sh: 13,753; makefile: 375; xml: 316; python: 316; csh: 37; sed: 16; perl: 15
file content (24 lines) | stat: -rw-r--r-- 401 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#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);
}