From: Dmitry V. Levin Date: Wed, 2 May 2018 15:23:46 +0000 (+0000) Subject: Introduce f_owner_ex.h X-Git-Tag: v4.23~240 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f904486a283a6d531de1a0f05cf4f79a95a1d704;p=strace Introduce f_owner_ex.h Some headers define struct f_owner_ex, some struct __kernel_f_owner_ex, we have to support both variants. * configure.ac (AC_CHECK_TYPES): Check for "struct f_owner_ex" and "struct __kernel_f_owner_ex" in . * f_owner_ex.h: New file. * Makefile.am (strace_SOURCES): Add it. --- diff --git a/Makefile.am b/Makefile.am index c616e7c7..64c0f4a0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -128,6 +128,7 @@ strace_SOURCES = \ evdev_mpers.c \ eventfd.c \ execve.c \ + f_owner_ex.h \ fadvise.c \ fallocate.c \ fanotify.c \ diff --git a/configure.ac b/configure.ac index b2a4e492..720df0b9 100644 --- a/configure.ac +++ b/configure.ac @@ -322,7 +322,9 @@ AC_CHECK_TYPES(m4_normalize([ struct flock, struct flock64, struct __kernel_flock, - struct __kernel_flock64 + struct __kernel_flock64, + struct f_owner_ex, + struct __kernel_f_owner_ex ]),,, [#include #include ]) diff --git a/f_owner_ex.h b/f_owner_ex.h new file mode 100644 index 00000000..ec76ac85 --- /dev/null +++ b/f_owner_ex.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2018 Dmitry V. Levin + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef STRACE_F_OWNER_EX_H +#define STRACE_F_OWNER_EX_H + +#include + +#if defined HAVE_STRUCT_F_OWNER_EX +typedef struct f_owner_ex struct_kernel_f_owner_ex; +#elif defined HAVE_STRUCT___KERNEL_F_OWNER_EX +typedef struct __kernel_f_owner_ex struct_kernel_f_owner_ex; +#else +# error struct f_owner_ex definition not found in +#endif + +#endif /* !STRACE_F_OWNER_EX_H */