From 5fa38800d965d5fa35a2c0c9a93e330711ec87e0 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Fri, 23 Nov 2012 15:05:12 -0500 Subject: [PATCH] Add kernel version checking macro It contains a macro to help checking for kernel version ranges. Signed-off-by: Simon Marchi Signed-off-by: Mathieu Desnoyers --- lttng-kernel-version.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lttng-kernel-version.h diff --git a/lttng-kernel-version.h b/lttng-kernel-version.h new file mode 100644 index 00000000..280a398a --- /dev/null +++ b/lttng-kernel-version.h @@ -0,0 +1,36 @@ +#ifndef _LTTNG_KERNEL_VERSION_H +#define _LTTNG_KERNEL_VERSION_H + +/* + * lttng-kernel-version.h + * + * Contains helpers to check more complex kernel version conditions. + * + * Copyright (C) 2012 Mathieu Desnoyers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; only + * version 2.1 of the License. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +/* + * This macro checks if the kernel version is between the two specified + * versions (inclusive). + */ +#define LTTNG_KERNEL_RANGE(a_low, b_low, c_low, a_high, b_high, c_high) \ + (LINUX_VERSION_CODE >= KERNEL_VERSION(a_low, b_low, c_low) && \ + LINUX_VERSION_CODE <= KERNEL_VERSION(a_high, b_high, c_high)) + +#endif /* _LTTNG_KERNEL_VERSION_H */ -- 2.34.1