summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_conf.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>1999-08-08 18:43:05 +0000
committerphk <phk@FreeBSD.org>1999-08-08 18:43:05 +0000
commite938d317d57f5bdbcd03330bb1290da29802187d (patch)
tree3c9ed3dde7ffaca65d359ae0e230b6e3e4e6f8ca /sys/kern/kern_conf.c
parent909603ec05eff128d9bdd1107a650a817c460e20 (diff)
downloadFreeBSD-src-e938d317d57f5bdbcd03330bb1290da29802187d.zip
FreeBSD-src-e938d317d57f5bdbcd03330bb1290da29802187d.tar.gz
Decommision miscfs/specfs/specdev.h. Most of it goes into <sys/conf.h>,
a few lines into <sys/vnode.h>. Add a few fields to struct specinfo, paving the way for the fun part.
Diffstat (limited to 'sys/kern/kern_conf.c')
-rw-r--r--sys/kern/kern_conf.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/sys/kern/kern_conf.c b/sys/kern/kern_conf.c
index b944149..0a20262 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.53 1999/07/20 21:51:12 green Exp $
+ * $Id: kern_conf.c,v 1.54 1999/08/08 00:34:00 grog Exp $
*/
#include <sys/param.h>
@@ -41,8 +41,7 @@
#include <sys/conf.h>
#include <sys/vnode.h>
#include <sys/queue.h>
-
-#include <miscfs/specfs/specdev.h>
+#include <machine/stdarg.h>
#define cdevsw_ALLOCSTART (NUMCDEVSW/2)
@@ -230,6 +229,10 @@ makedev(int x, int y)
si->si_bsize_phys = DEV_BSIZE;
si->si_bsize_best = BLKDEV_IOSIZE;
si->si_bsize_max = MAXBSIZE;
+ if (y > 256)
+ sprintf(si->si_name, "#%d/0x%x", x, y);
+ else
+ sprintf(si->si_name, "#%d/%d", x, y);
SLIST_INSERT_HEAD(&dev_hash[hash], si, si_hash);
return (si);
}
@@ -283,3 +286,19 @@ makeudev(int x, int y)
return ((x << 8) | y);
}
+dev_t
+make_dev(struct cdevsw *devsw, int minor, uid_t uid, gid_t gid, int perms, char *fmt, ...)
+{
+ dev_t dev;
+ va_list ap;
+ int i;
+
+ dev = makedev(devsw->d_maj, minor);
+ va_start(ap, fmt);
+ i = kvprintf(fmt, NULL, dev->si_name, 32, ap);
+ dev->si_name[i] = '\0';
+ va_end(ap);
+ dev->si_devsw = devsw;
+ return (dev);
+}
+
OpenPOWER on IntegriCloud