modernc.org/cc@v1.0.1/v2/headers/linux_386/usr/include/i386-linux-gnu/sys/sysmacros.h (about) 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 __SYSMACROS_DECLARE_MAJOR(__SYSMACROS_DECL_TEMPL) __SYSMACROS_DECLARE_MINOR(__SYSMACROS_DECL_TEMPL) __SYSMACROS_DECLARE_MAKEDEV(__SYSMACROS_DECL_TEMPL) 72 #ifdef __USE_EXTERN_INLINES 73 __SYSMACROS_DEFINE_MAJOR(__SYSMACROS_IMPL_TEMPL) __SYSMACROS_DEFINE_MINOR(__SYSMACROS_IMPL_TEMPL) __SYSMACROS_DEFINE_MAKEDEV(__SYSMACROS_IMPL_TEMPL) 74 #endif 75 __END_DECLS 76 #endif /* _SYS_SYSMACROS_H */ 77 #ifndef __SYSMACROS_NEED_IMPLEMENTATION 78 # undef __SYSMACROS_DECL_TEMPL 79 # undef __SYSMACROS_IMPL_TEMPL 80 # undef __SYSMACROS_DECLARE_MAJOR 81 # undef __SYSMACROS_DECLARE_MINOR 82 # undef __SYSMACROS_DECLARE_MAKEDEV 83 # undef __SYSMACROS_DEFINE_MAJOR 84 # undef __SYSMACROS_DEFINE_MINOR 85 # undef __SYSMACROS_DEFINE_MAKEDEV 86 #endif 87 #ifdef __SYSMACROS_DEPRECATED_INCLUSION 88 # define major(dev) __SYSMACROS_DM (major) gnu_dev_major (dev) 89 # define minor(dev) __SYSMACROS_DM (minor) gnu_dev_minor (dev) 90 # define makedev(maj, min) __SYSMACROS_DM (makedev) gnu_dev_makedev (maj, min) 91 #else 92 # define major(dev) gnu_dev_major (dev) 93 # define minor(dev) gnu_dev_minor (dev) 94 # define makedev(maj, min) gnu_dev_makedev (maj, min) 95 #endif 96 #endif /* sys/sysmacros.h */