summaryrefslogtreecommitdiffstats
path: root/kernel/tests/include/tst_kvercmp.h
blob: 495e8db1f204d678594ce1f427aeea32674823b2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/* SPDX-License-Identifier: GPL-2.0-or-later
 * Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
 * Copyright (c) 2009-2016 Cyril Hrubis chrubis@suse.cz
 */

#ifndef TST_KVERCMP_H__
#define TST_KVERCMP_H__

/*
 * The same as tst_kvercmp() but running kernel version is passed as parameter
 * instead of utilizing uname().
 */
int tst_kvcmp(const char *cur_kver, int r1, int r2, int r3);

/*
 * Parsers string into three integer version.
 */
int tst_parse_kver(const char *str_kver, int *v1, int *v2, int *v3);

/*
 * Returns distribution name parsed from kernel version string or NULL.
 */
const char *tst_kvcmp_distname(const char *cur_kver);

/*
 * Compares versions up to five version numbers long.
 */
int tst_kvexcmp(const char *tst_exv, const char *cur_kver);

/*
 * Compare given kernel version with currently running kernel.
 *
 * Returns negative if older, 0 if the same and possitive if newer.
 */
int tst_kvercmp(int r1, int r2, int r3);

struct tst_kern_exv {
	char *dist_name;
	char *extra_ver;
};

int tst_kvercmp2(int r1, int r2, int r3, struct tst_kern_exv *vers);

#endif	/* TST_KVERCMP_H__ */