* include/cygwin/types.h: Move #include <sys/sysmacros.h> to
end of header so that it gets the dev_t typedef. * include/sys/sysmacros.h (gnu_dev_major, gnu_dev_minor, gnu_dev_makedev): Prototype and define as inline functions. (major, minor, makedev): Redefine in terms of gnu_dev_*.
This commit is contained in:
@ -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 */
|
||||
|
Reference in New Issue
Block a user