diff options
author | jlemon <jlemon@FreeBSD.org> | 2001-10-17 18:47:12 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 2001-10-17 18:47:12 +0000 |
commit | a0ff75973c6961105f5efc4c48f67476ffc51e32 (patch) | |
tree | 398a6f3acee743735e206ee583ad5d40cd80ba23 | |
parent | 2436924bafba3c4d95013e9650a67c311deac5d8 (diff) | |
download | FreeBSD-src-a0ff75973c6961105f5efc4c48f67476ffc51e32.zip FreeBSD-src-a0ff75973c6961105f5efc4c48f67476ffc51e32.tar.gz |
Add dev_named(dev, name), which is similar in spirit to devtoname().
This function returns success if the device is known by either 'name'
or any of its aliases.
-rw-r--r-- | sys/kern/kern_conf.c | 13 | ||||
-rw-r--r-- | sys/sys/conf.h | 1 | ||||
-rw-r--r-- | sys/sys/linedisc.h | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c index 2f3bf92..9935b85 100644 --- a/sys/kern/kern_conf.c +++ b/sys/kern/kern_conf.c @@ -300,6 +300,19 @@ make_dev(struct cdevsw *devsw, int minor, uid_t uid, gid_t gid, int perms, const return (dev); } +int +dev_named(dev_t pdev, const char *name) +{ + dev_t cdev; + + if (strcmp(devtoname(pdev), name) == 0) + return (1); + LIST_FOREACH(cdev, &pdev->si_children, si_siblings) + if (strcmp(devtoname(cdev), name) == 0) + return (1); + return (0); +} + void dev_depends(dev_t pdev, dev_t cdev) { diff --git a/sys/sys/conf.h b/sys/sys/conf.h index f7ce9c7..5c7bf82 100644 --- a/sys/sys/conf.h +++ b/sys/sys/conf.h @@ -315,6 +315,7 @@ int count_dev __P((dev_t dev)); void destroy_dev __P((dev_t dev)); struct cdevsw *devsw __P((dev_t dev)); const char *devtoname __P((dev_t dev)); +int dev_named __P((dev_t pdev, const char *name)); void dev_depends __P((dev_t pdev, dev_t cdev)); void freedev __P((dev_t dev)); int iszerodev __P((dev_t dev)); diff --git a/sys/sys/linedisc.h b/sys/sys/linedisc.h index f7ce9c7..5c7bf82 100644 --- a/sys/sys/linedisc.h +++ b/sys/sys/linedisc.h @@ -315,6 +315,7 @@ int count_dev __P((dev_t dev)); void destroy_dev __P((dev_t dev)); struct cdevsw *devsw __P((dev_t dev)); const char *devtoname __P((dev_t dev)); +int dev_named __P((dev_t pdev, const char *name)); void dev_depends __P((dev_t pdev, dev_t cdev)); void freedev __P((dev_t dev)); int iszerodev __P((dev_t dev)); |