From 8f3f8c99b969e097e9bdb176a096dd4acf31c4cd Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Fri, 18 Nov 2011 13:29:54 -0500 Subject: [PATCH] Implement error.h Signed-off-by: Mathieu Desnoyers --- include/lttng/core.h | 21 --------------- liblttng-ust/Makefile.am | 3 ++- liblttng-ust/error.h | 54 +++++++++++++++++++++++++++++++++++++++ liblttng-ust/tracepoint.c | 2 +- 4 files changed, 57 insertions(+), 23 deletions(-) create mode 100644 liblttng-ust/error.h diff --git a/include/lttng/core.h b/include/lttng/core.h index 7977be4d..9243941c 100644 --- a/include/lttng/core.h +++ b/include/lttng/core.h @@ -35,27 +35,6 @@ #define PAGE_SIZE sysconf(_SC_PAGE_SIZE) #define PAGE_MASK (~(PAGE_SIZE-1)) -/* ERROR OPS */ -#define MAX_ERRNO 4095 - -#define IS_ERR_VALUE(x) caa_unlikely((x) >= (unsigned long)-MAX_ERRNO) - -static inline void *ERR_PTR(long error) -{ - return (void *) error; -} - -static inline long PTR_ERR(const void *ptr) -{ - return (long) ptr; -} - -static inline long IS_ERR(const void *ptr) -{ - return IS_ERR_VALUE((unsigned long)ptr); -} - - /* Min / Max */ #define min_t(type, x, y) ({ \ diff --git a/liblttng-ust/Makefile.am b/liblttng-ust/Makefile.am index 336cf7bf..a0df885a 100644 --- a/liblttng-ust/Makefile.am +++ b/liblttng-ust/Makefile.am @@ -21,7 +21,8 @@ liblttng_ust_runtime_la_SOURCES = \ tracepoint-internal.h \ clock.h \ wait.h \ - jhash.h + jhash.h \ + error.h liblttng_ust_support_la_SOURCES = \ ltt-tracer.h \ diff --git a/liblttng-ust/error.h b/liblttng-ust/error.h new file mode 100644 index 00000000..b0afcdba --- /dev/null +++ b/liblttng-ust/error.h @@ -0,0 +1,54 @@ +#ifndef _LTTNG_ERROR_H +#define _LTTNG_ERROR_H + +/* + * Copyright (c) 2011 - 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 +#include + +#define MAX_ERRNO 4095 + +static inline +int IS_ERR_VALUE(long value) +{ + if (caa_unlikely((unsigned long) value >= (unsigned long) -MAX_ERRNO)) + return 1; + else + return 0; +} + +static inline +void *ERR_PTR(long error) +{ + return (void *) error; +} + +static inline +long PTR_ERR(const void *ptr) +{ + return (long) ptr; +} + +static inline +int IS_ERR(const void *ptr) +{ + return IS_ERR_VALUE((long) ptr); +} + +#endif /* _LTTNG_ERROR_H */ diff --git a/liblttng-ust/tracepoint.c b/liblttng-ust/tracepoint.c index 526ee00e..2f8474f5 100644 --- a/liblttng-ust/tracepoint.c +++ b/liblttng-ust/tracepoint.c @@ -22,7 +22,6 @@ #define _LGPL_SOURCE #include #include -#include #include #include #include @@ -35,6 +34,7 @@ #include "tracepoint-internal.h" #include "ltt-tracer-core.h" #include "jhash.h" +#include "error.h" /* Set to 1 to enable tracepoint debug output */ static const int tracepoint_debug; -- 2.34.1