blob: 3c2b9c268914bbe870e755d1ba3ac173a58e32c8 [file] [log] [blame]
/* Definitions of macros to access 'dev_t' values. Internal header.
Copyright (C) 2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C 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; either
version 2.1 of the License, or (at your option) any later version.
The GNU C 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 the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
#ifndef _ISOMAC
# define __SYSMACROS_NEED_IMPLEMENTATION
#endif
#include <misc/sys/sysmacros.h>
#if !defined _SYS_SYSMACROS_H_WRAPPER && !defined _ISOMAC
# define _SYS_SYSMACROS_H_WRAPPER 1
libc_hidden_proto (gnu_dev_major)
libc_hidden_proto (gnu_dev_minor)
libc_hidden_proto (gnu_dev_makedev)
# undef __SYSMACROS_DECL_TEMPL
# define __SYSMACROS_DECL_TEMPL(rtype, name, proto) \
extern rtype __gnu_dev_##name proto \
__THROW __attribute_const__ attribute_hidden;
# undef __SYSMACROS_IMPL_TEMPL
# define __SYSMACROS_IMPL_TEMPL(rtype, name, proto) \
__extension__ __extern_inline __attribute_const__ rtype \
__NTH (__gnu_dev_##name proto)
__SYSMACROS_DECLARE_MAJOR (__SYSMACROS_DECL_TEMPL)
__SYSMACROS_DECLARE_MINOR (__SYSMACROS_DECL_TEMPL)
__SYSMACROS_DECLARE_MAKEDEV (__SYSMACROS_DECL_TEMPL)
# ifdef __USE_EXTERN_INLINES
__SYSMACROS_DEFINE_MAJOR (__SYSMACROS_IMPL_TEMPL)
__SYSMACROS_DEFINE_MINOR (__SYSMACROS_IMPL_TEMPL)
__SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_IMPL_TEMPL)
# endif
#endif