diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/sysmacros.h | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/include/sys/sysmacros.h b/include/sys/sysmacros.h index 7a5635edd..3addb7500 100644 --- a/include/sys/sysmacros.h +++ b/include/sys/sysmacros.h @@ -21,35 +21,39 @@ #include <features.h> +__BEGIN_DECLS + /* If the compiler does not know long long it is out of luck. We are not going to hack weird hacks to support the dev_t representation they need. */ -#if 1 /*def __GLIBC_HAVE_LONG_LONG uClibc note: always enable */ + __extension__ -static __inline unsigned int gnu_dev_major (unsigned long long int __dev) - __THROW; +extern unsigned int gnu_dev_major (unsigned long long int __dev) + __THROW __attribute__ ((__const__)); +libc_hidden_proto(gnu_dev_major) __extension__ -static __inline unsigned int gnu_dev_minor (unsigned long long int __dev) - __THROW; +extern unsigned int gnu_dev_minor (unsigned long long int __dev) + __THROW __attribute__ ((__const__)); +libc_hidden_proto(gnu_dev_minor) __extension__ -static __inline unsigned long long int gnu_dev_makedev (unsigned int __major, +extern unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) - __THROW; + __THROW __attribute__ ((__const__)); -# if defined __GNUC__ && __GNUC__ >= 2 -__extension__ static __inline unsigned int +# ifdef __USE_EXTERN_INLINES +__extension__ __extern_inline __attribute__ ((__const__)) unsigned int __NTH (gnu_dev_major (unsigned long long int __dev)) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } -__extension__ static __inline unsigned int +__extension__ __extern_inline __attribute__ ((__const__)) unsigned int __NTH (gnu_dev_minor (unsigned long long int __dev)) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } -__extension__ static __inline unsigned long long int +__extension__ __extern_inline __attribute__ ((__const__)) unsigned long long int __NTH (gnu_dev_makedev (unsigned int __major, unsigned int __minor)) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) @@ -57,12 +61,11 @@ __NTH (gnu_dev_makedev (unsigned int __major, unsigned int __minor)) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # endif - +__END_DECLS /* Access the functions with their traditional names. */ # define major(dev) gnu_dev_major (dev) # define minor(dev) gnu_dev_minor (dev) # define makedev(maj, min) gnu_dev_makedev (maj, min) -#endif #endif /* sys/sysmacros.h */ |