summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1999-08-15 09:32:47 +0000
committerphk <phk@FreeBSD.org>1999-08-15 09:32:47 +0000
commit594f438308c2d97ad2e81ac1a51a4915495dca97 (patch)
tree28960ad6301e545eb6d4c31465d688cbaf4ded8e
parentaae3aaba82216fc7d5a3ace4f71ec6eb78071eb7 (diff)
downloadFreeBSD-src-594f438308c2d97ad2e81ac1a51a4915495dca97.zip
FreeBSD-src-594f438308c2d97ad2e81ac1a51a4915495dca97.tar.gz
Introduce lminor(dev_t dev), which returns a linear minor number,
ie: hides the fact that the major number is stuck in the middle.
-rw-r--r--sys/kern/kern_conf.c13
-rw-r--r--sys/sys/conf.h3
-rw-r--r--sys/sys/linedisc.h3
3 files changed, 16 insertions, 3 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
index a3fedc1..7be808e 100644
--- a/sys/kern/kern_conf.c
+++ b/sys/kern/kern_conf.c
@@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: kern_conf.c,v 1.55 1999/08/08 18:42:47 phk Exp $
+ * $Id: kern_conf.c,v 1.56 1999/08/13 10:29:20 phk Exp $
*/
#include <sys/param.h>
@@ -194,6 +194,17 @@ minor(dev_t x)
return(x->si_udev & 0xffff00ff);
}
+int
+lminor(dev_t x)
+{
+ int i;
+
+ if (x == NODEV)
+ return NOUDEV;
+ i = minor(x);
+ return ((i & 0xff) | (i >> 8));
+}
+
dev_t
makebdev(int x, int y)
{
diff --git a/sys/sys/conf.h b/sys/sys/conf.h
index 2df2b74..a5e8ab6 100644
--- a/sys/sys/conf.h
+++ b/sys/sys/conf.h
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)conf.h 8.5 (Berkeley) 1/9/95
- * $Id: conf.h,v 1.72 1999/08/13 16:29:27 phk Exp $
+ * $Id: conf.h,v 1.73 1999/08/14 11:40:49 phk Exp $
*/
#ifndef _SYS_CONF_H_
@@ -267,6 +267,7 @@ int iskmemdev __P((dev_t dev));
int iszerodev __P((dev_t dev));
dev_t makebdev __P((int maj, int min));
dev_t make_dev __P((struct cdevsw *devsw, int minor, uid_t uid, gid_t gid, int perms, char *fmt, ...)) __printflike(6, 7);
+int lminor __P((dev_t dev));
void setconf __P((void));
/*
diff --git a/sys/sys/linedisc.h b/sys/sys/linedisc.h
index 2df2b74..a5e8ab6 100644
--- a/sys/sys/linedisc.h
+++ b/sys/sys/linedisc.h
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)conf.h 8.5 (Berkeley) 1/9/95
- * $Id: conf.h,v 1.72 1999/08/13 16:29:27 phk Exp $
+ * $Id: conf.h,v 1.73 1999/08/14 11:40:49 phk Exp $
*/
#ifndef _SYS_CONF_H_
@@ -267,6 +267,7 @@ int iskmemdev __P((dev_t dev));
int iszerodev __P((dev_t dev));
dev_t makebdev __P((int maj, int min));
dev_t make_dev __P((struct cdevsw *devsw, int minor, uid_t uid, gid_t gid, int perms, char *fmt, ...)) __printflike(6, 7);
+int lminor __P((dev_t dev));
void setconf __P((void));
/*
OpenPOWER on IntegriCloud