summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/include/sys/sysmacros.h
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/include/sys/sysmacros.h')
-rw-r--r--winsup/cygwin/include/sys/sysmacros.h30
1 files changed, 26 insertions, 4 deletions
diff --git a/winsup/cygwin/include/sys/sysmacros.h b/winsup/cygwin/include/sys/sysmacros.h
index 82bc6c1e3..78f2db2d5 100644
--- a/winsup/cygwin/include/sys/sysmacros.h
+++ b/winsup/cygwin/include/sys/sysmacros.h
@@ -1,6 +1,6 @@
/* sys/sysmacros.h
- Copyright 1998, 2001, 2010 Red Hat, Inc.
+ Copyright 1998, 2001, 2010, 2011 Red Hat, Inc.
This file is part of Cygwin.
@@ -11,8 +11,30 @@ details. */
#ifndef _SYS_SYSMACROS_H
#define _SYS_SYSMACROS_H
-#define major(dev) ((int)(((dev) >> 16) & 0xffff))
-#define minor(dev) ((int)((dev) & 0xffff))
-#define makedev(major, minor) (((major) << 16) | ((minor) & 0xffff))
+_ELIDABLE_INLINE int gnu_dev_major(dev_t);
+_ELIDABLE_INLINE int gnu_dev_minor(dev_t);
+_ELIDABLE_INLINE dev_t gnu_dev_makedev(int, int);
+
+_ELIDABLE_INLINE int
+gnu_dev_major(dev_t dev)
+{
+ return (int)(((dev) >> 16) & 0xffff);
+}
+
+_ELIDABLE_INLINE int
+gnu_dev_minor(dev_t dev)
+{
+ return (int)((dev) & 0xffff);
+}
+
+_ELIDABLE_INLINE dev_t
+gnu_dev_makedev(int maj, int min)
+{
+ return (((maj) << 16) | ((min) & 0xffff));
+}
+
+#define major(dev) gnu_dev_major(dev)
+#define minor(dev) gnu_dev_minor(dev)
+#define makedev(maj, min) gnu_dev_makedev(maj, min)
#endif /* _SYS_SYSMACROS_H */