LCOV - code coverage report
Current view: top level - usr/include/x86_64-linux-gnu/sys - sysmacros.h (source / functions) Hit Total Coverage
Test: coverage report for master 6248eab5 Lines: 0 3 0.0 %
Date: 2021-08-25 13:27:56 Functions: 0 0 -

          Line data    Source code
       1             : /* Definitions of macros to access `dev_t' values.
       2             :    Copyright (C) 1996-2018 Free Software Foundation, Inc.
       3             :    This file is part of the GNU C Library.
       4             : 
       5             :    The GNU C Library is free software; you can redistribute it and/or
       6             :    modify it under the terms of the GNU Lesser General Public
       7             :    License as published by the Free Software Foundation; either
       8             :    version 2.1 of the License, or (at your option) any later version.
       9             : 
      10             :    The GNU C Library is distributed in the hope that it will be useful,
      11             :    but WITHOUT ANY WARRANTY; without even the implied warranty of
      12             :    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      13             :    Lesser General Public License for more details.
      14             : 
      15             :    You should have received a copy of the GNU Lesser General Public
      16             :    License along with the GNU C Library; if not, see
      17             :    <http://www.gnu.org/licenses/>.  */
      18             : 
      19             : #ifndef _SYS_SYSMACROS_H_OUTER
      20             : 
      21             : #ifndef __SYSMACROS_DEPRECATED_INCLUSION
      22             : # define _SYS_SYSMACROS_H_OUTER 1
      23             : #endif
      24             : 
      25             : /* If <sys/sysmacros.h> is included after <sys/types.h>, these macros
      26             :    will already be defined, and we need to redefine them without the
      27             :    deprecation warnings.  (If they are included in the opposite order,
      28             :    the outer #ifndef will suppress this entire file and the macros
      29             :    will be usable without warnings.)  */
      30             : #undef major
      31             : #undef minor
      32             : #undef makedev
      33             : 
      34             : /* This is the macro that must be defined to satisfy the misuse check
      35             :    in bits/sysmacros.h. */
      36             : #ifndef _SYS_SYSMACROS_H
      37             : #define _SYS_SYSMACROS_H 1
      38             : 
      39             : #include <features.h>
      40             : #include <bits/types.h>
      41             : #include <bits/sysmacros.h>
      42             : 
      43             : /* Caution: The text of this deprecation message is unquoted, so that
      44             :    #symbol can be substituted.  (It is converted to a string by
      45             :    __SYSMACROS_DM1.)  This means the message must be a sequence of
      46             :    complete pp-tokens; in particular, English contractions (it's,
      47             :    can't) cannot be used.
      48             : 
      49             :    The message has been manually word-wrapped to fit in 80 columns
      50             :    when output by GCC 5 and 6.  The first line is shorter to leave
      51             :    some room for the "foo.c:23: warning:" annotation.  */
      52             : #define __SYSMACROS_DM(symbol) __SYSMACROS_DM1 \
      53             :  (In the GNU C Library, #symbol is defined\n\
      54             :   by <sys/sysmacros.h>. For historical compatibility, it is\n\
      55             :   currently defined by <sys/types.h> as well, but we plan to\n\
      56             :   remove this soon.  To use #symbol, include <sys/sysmacros.h>\n\
      57             :   directly.  If you did not intend to use a system-defined macro\n\
      58             :   #symbol, you should undefine it after including <sys/types.h>.)
      59             : 
      60             : /* This macro is variadic because the deprecation message above
      61             :    contains commas.  */
      62             : #define __SYSMACROS_DM1(...) __glibc_macro_warning (#__VA_ARGS__)
      63             : 
      64             : #define __SYSMACROS_DECL_TEMPL(rtype, name, proto)                           \
      65             :   extern rtype gnu_dev_##name proto __THROW __attribute_const__;
      66             : 
      67             : #define __SYSMACROS_IMPL_TEMPL(rtype, name, proto)                           \
      68             :   __extension__ __extern_inline __attribute_const__ rtype                    \
      69             :   __NTH (gnu_dev_##name proto)
      70             : 
      71             : __BEGIN_DECLS
      72             : 
      73             : __SYSMACROS_DECLARE_MAJOR (__SYSMACROS_DECL_TEMPL)
      74             : __SYSMACROS_DECLARE_MINOR (__SYSMACROS_DECL_TEMPL)
      75             : __SYSMACROS_DECLARE_MAKEDEV (__SYSMACROS_DECL_TEMPL)
      76             : 
      77             : #ifdef __USE_EXTERN_INLINES
      78             : 
      79           0 : __SYSMACROS_DEFINE_MAJOR (__SYSMACROS_IMPL_TEMPL)
      80           0 : __SYSMACROS_DEFINE_MINOR (__SYSMACROS_IMPL_TEMPL)
      81           0 : __SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_IMPL_TEMPL)
      82             : 
      83             : #endif
      84             : 
      85             : __END_DECLS
      86             : 
      87             : #endif /* _SYS_SYSMACROS_H */
      88             : 
      89             : #ifndef __SYSMACROS_NEED_IMPLEMENTATION
      90             : # undef __SYSMACROS_DECL_TEMPL
      91             : # undef __SYSMACROS_IMPL_TEMPL
      92             : # undef __SYSMACROS_DECLARE_MAJOR
      93             : # undef __SYSMACROS_DECLARE_MINOR
      94             : # undef __SYSMACROS_DECLARE_MAKEDEV
      95             : # undef __SYSMACROS_DEFINE_MAJOR
      96             : # undef __SYSMACROS_DEFINE_MINOR
      97             : # undef __SYSMACROS_DEFINE_MAKEDEV
      98             : #endif
      99             : 
     100             : #ifdef __SYSMACROS_DEPRECATED_INCLUSION
     101             : # define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev)
     102             : # define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev)
     103             : # define makedev(maj, min) __SYSMACROS_DM (makedev) gnu_dev_makedev (maj, min)
     104             : #else
     105             : # define major(dev) gnu_dev_major (dev)
     106             : # define minor(dev) gnu_dev_minor (dev)
     107             : # define makedev(maj, min) gnu_dev_makedev (maj, min)
     108             : #endif
     109             : 
     110             : #endif /* sys/sysmacros.h */

Generated by: LCOV version 1.13