/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 1997-2012 Apple Computer, Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_END@
*/
/*
- * Copyright (c) 1997 by Apple Computer, Inc., all rights reserved
* Copyright (c) 1993 NeXT Computer, Inc.
*
* UNIX Device switch tables.
#include <sys/conf.h>
/* Prototypes that should be elsewhere: */
-extern int isdisk(dev_t dev, int type);
extern dev_t chrtoblk(dev_t dev);
extern int chrtoblk_set(int cdev, int bdev);
extern int iskmemdev(dev_t dev);
{
/*
* For block devices, every other block of 8 slots is
- * reserved to NeXT. The other slots are available for
+ * reserved for Apple. The other slots are available for
* the user. This way we can both add new entries without
- * running into each other. Be sure to fill in NeXT's
+ * running into each other. Be sure to fill in Apple's
* 8 reserved slots when you jump over us -- we'll do the
* same for you.
*/
- /* 0 - 7 are reserved to NeXT */
+ /* 0 - 7 are reserved for Apple */
NO_BDEVICE, /* 0*/
NO_BDEVICE, /* 1*/
NO_BDEVICE, /*14*/
NO_BDEVICE, /*15*/
- /* 16 - 23 are reserved to NeXT */
+ /* 16 - 23 are reserved for Apple */
NO_BDEVICE, /*16*/
NO_BDEVICE, /*17*/
NO_BDEVICE, /*18*/
extern d_write_t cnwrite;
extern d_ioctl_t cnioctl;
extern d_select_t cnselect;
-extern d_getc_t cngetc;
-extern d_putc_t cnputc;
extern d_open_t kmopen;
extern d_close_t kmclose;
extern d_read_t kmread;
extern d_write_t kmwrite;
extern d_ioctl_t kmioctl;
-extern d_getc_t kmgetc;
-extern d_putc_t kmputc;
extern d_open_t sgopen;
extern d_close_t sgclose;
extern d_ioctl_t sgioctl;
#endif
extern d_open_t cttyopen;
+extern d_close_t cttyclose;
extern d_read_t cttyread;
extern d_write_t cttywrite;
extern d_ioctl_t cttyioctl;
extern d_read_t ptsread;
extern d_write_t ptswrite;
extern d_stop_t ptsstop;
-extern d_putc_t ptsputc;
extern d_open_t ptcopen;
extern d_close_t ptcclose;
extern d_read_t ptcread;
#define ptsread eno_rdwrt
#define ptswrite eno_rdwrt
#define ptsstop nulldev
-#define ptsputc nulldev
#define ptcopen eno_opcl
#define ptcclose eno_opcl
{
/*
* For character devices, every other block of 16 slots is
- * reserved to NeXT. The other slots are available for
+ * reserved for Apple. The other slots are available for
* the user. This way we can both add new entries without
- * running into each other. Be sure to fill in NeXT's
+ * running into each other. Be sure to fill in Apple's
* 16 reserved slots when you jump over us -- we'll do the
* same for you.
*/
- /* 0 - 15 are reserved to NeXT */
+ /* 0 - 15 are reserved for Apple */
{
cnopen, cnclose, cnread, cnwrite, /* 0*/
cnioctl, nullstop, nullreset, 0, cnselect,
- eno_mmap, eno_strat, cngetc, cnputc, D_TTY
+ eno_mmap, eno_strat, eno_getc, eno_putc, D_TTY
},
NO_CDEVICE, /* 1*/
{
- cttyopen, nullclose, cttyread, cttywrite, /* 2*/
+ cttyopen, cttyclose, cttyread, cttywrite, /* 2*/
cttyioctl, nullstop, nullreset, 0, cttyselect,
- eno_mmap, eno_strat, eno_getc, eno_putc, D_TTY
+ eno_mmap, eno_strat, eno_getc, eno_putc, D_TTY | D_TRACKCLOSE
},
{
nullopen, nullclose, mmread, mmwrite, /* 3*/
{
kmopen, kmclose, kmread, kmwrite, /*12*/
kmioctl, nullstop, nullreset, km_tty, ttselect,
- eno_mmap, eno_strat, kmgetc, kmputc, 0
+ eno_mmap, eno_strat, eno_getc, eno_putc, 0
},
NO_CDEVICE, /*13*/
NO_CDEVICE, /*14*/
};
int nchrdev = sizeof (cdevsw) / sizeof (cdevsw[0]);
+uint64_t cdevsw_flags[sizeof (cdevsw) / sizeof (cdevsw[0])];
#include <sys/vnode.h> /* for VCHR and VBLK */
/*
}
/* FALL THROUGH */
case VBLK:
- if (bdevsw[maj].d_type == D_DISK) {
+ if ((D_TYPEMASK & bdevsw[maj].d_type) == D_DISK) {
return (1);
}
break;
/* 8 */ NODEV, /* 9 */ NODEV,
/* 10 */ NODEV, /* 11 */ NODEV,
/* 12 */ NODEV, /* 13 */ NODEV,
- /* 14 */ 6, /* 15 */ NODEV,
+ /* 14 */ NODEV, /* 15 */ NODEV,
/* 16 */ NODEV, /* 17 */ NODEV,
/* 18 */ NODEV, /* 19 */ NODEV,
/* 20 */ NODEV, /* 21 */ NODEV,
/* 34 */ NODEV, /* 35 */ NODEV,
/* 36 */ NODEV, /* 37 */ NODEV,
/* 38 */ NODEV, /* 39 */ NODEV,
- /* 40 */ NODEV, /* 41 */ 1,
+ /* 40 */ NODEV, /* 41 */ NODEV,
/* 42 */ NODEV, /* 43 */ NODEV,
/* 44 */ NODEV,
};