diff options
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/system.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source3/lib/system.c b/source3/lib/system.c index a0007ec83c..b27ac5c00a 100644 --- a/source3/lib/system.c +++ b/source3/lib/system.c @@ -1580,3 +1580,29 @@ int sys_fsetxattr (int filedes, const char *name, const void *value, size_t size return -1; #endif } + +/**************************************************************************** + Return the major devicenumber for UNIX extensions. +****************************************************************************/ + +uint32 unix_dev_major(SMB_DEV_T dev) +{ +#if defined(HAVE_DEVICE_MAJOR_FN) + return (uint32)major(dev); +#else + return (uint32)(dev >> 8); +#endif +} + +/**************************************************************************** + Return the minor devicenumber for UNIX extensions. +****************************************************************************/ + +uint32 unix_dev_minor(SMB_DEV_T dev) +{ +#if defined(HAVE_DEVICE_MINOR_FN) + return (uint32)minor(dev); +#else + return (uint32)(dev & 0xff); +#endif +} |