scd.c (12071) | scd.c (12502) |
---|---|
1/*- 2 * Copyright (c) 1995 Mikael Hybsch 3 * All rights reserved. 4 * 5 * Portions of this file are copied from mcd.c 6 * which has the following copyrights: 7 * 8 * Copyright 1993 by Holger Veit (data part) --- 27 unchanged lines hidden (view full) --- 36 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 37 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 38 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 39 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 * 41 */ 42 43 | 1/*- 2 * Copyright (c) 1995 Mikael Hybsch 3 * All rights reserved. 4 * 5 * Portions of this file are copied from mcd.c 6 * which has the following copyrights: 7 * 8 * Copyright 1993 by Holger Veit (data part) --- 27 unchanged lines hidden (view full) --- 36 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 37 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 38 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 39 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 40 * 41 */ 42 43 |
44/* $Id: scd.c,v 1.8 1995/10/28 15:39:17 phk Exp $ */ | 44/* $Id: scd.c,v 1.9 1995/11/04 13:23:39 bde Exp $ */ |
45 46/* Please send any comments to micke@dynas.se */ 47 48#define SCD_DEBUG 0 49 50#include "scd.h" 51#if NSCD > 0 52#include <sys/types.h> --- 14 unchanged lines hidden (view full) --- 67 68#include <machine/clock.h> 69#include <machine/stdarg.h> 70 71#include <i386/isa/isa.h> 72#include <i386/isa/isa_device.h> 73#include <i386/isa/scdreg.h> 74 | 45 46/* Please send any comments to micke@dynas.se */ 47 48#define SCD_DEBUG 0 49 50#include "scd.h" 51#if NSCD > 0 52#include <sys/types.h> --- 14 unchanged lines hidden (view full) --- 67 68#include <machine/clock.h> 69#include <machine/stdarg.h> 70 71#include <i386/isa/isa.h> 72#include <i386/isa/isa_device.h> 73#include <i386/isa/scdreg.h> 74 |
75#ifdef JREMOD 76#define CDEV_MAJOR 45 77#define BDEV_MAJOR 16 78static void scd_devsw_install(); 79#endif /*JREMOD */ 80 |
|
75#define scd_part(dev) ((minor(dev)) & 7) 76#define scd_unit(dev) (((minor(dev)) & 0x38) >> 3) 77#define scd_phys(dev) (((minor(dev)) & 0x40) >> 6) 78#define RAW_PART 2 79 80/* flags */ 81#define SCDOPEN 0x0001 /* device opened */ 82#define SCDVALID 0x0002 /* parameters loaded */ --- 130 unchanged lines hidden (view full) --- 213 kdc_scd[dev->id_unit].kdc_description = scd_data[dev->id_unit].name; 214 printf("scd%d: <%s>\n", dev->id_unit, scd_data[dev->id_unit].name); 215 216 init_drive(dev->id_unit); 217 218 cd->flags = SCDINIT; 219 cd->audio_status = CD_AS_AUDIO_INVALID; 220 | 81#define scd_part(dev) ((minor(dev)) & 7) 82#define scd_unit(dev) (((minor(dev)) & 0x38) >> 3) 83#define scd_phys(dev) (((minor(dev)) & 0x40) >> 6) 84#define RAW_PART 2 85 86/* flags */ 87#define SCDOPEN 0x0001 /* device opened */ 88#define SCDVALID 0x0002 /* parameters loaded */ --- 130 unchanged lines hidden (view full) --- 219 kdc_scd[dev->id_unit].kdc_description = scd_data[dev->id_unit].name; 220 printf("scd%d: <%s>\n", dev->id_unit, scd_data[dev->id_unit].name); 221 222 init_drive(dev->id_unit); 223 224 cd->flags = SCDINIT; 225 cd->audio_status = CD_AS_AUDIO_INVALID; 226 |
227#ifdef JREMOD 228 scd_devsw_install(); 229#endif /*JREMOD*/ 230 |
|
221 return 1; 222} 223 224int 225scdopen(dev_t dev, int flags, int fmt, struct proc *p) 226{ 227 int unit,part,phys; 228 int rc; --- 1285 unchanged lines hidden (view full) --- 1514 1515 /* copy the data back */ 1516 if (copyout(&toc_entry, te->data, sizeof(struct cd_toc_entry)) != 0) 1517 return EFAULT; 1518 1519 return 0; 1520} 1521 | 231 return 1; 232} 233 234int 235scdopen(dev_t dev, int flags, int fmt, struct proc *p) 236{ 237 int unit,part,phys; 238 int rc; --- 1285 unchanged lines hidden (view full) --- 1524 1525 /* copy the data back */ 1526 if (copyout(&toc_entry, te->data, sizeof(struct cd_toc_entry)) != 0) 1527 return EFAULT; 1528 1529 return 0; 1530} 1531 |
1532#ifdef JREMOD 1533struct bdevsw scd_bdevsw = 1534 { scdopen, scdclose, scdstrategy, scdioctl, /*16*/ 1535 nxdump, scdsize, 0 }; 1536 1537struct cdevsw scd_cdevsw = 1538 { scdopen, scdclose, rawread, nowrite, /*45*/ 1539 scdioctl, nostop, nullreset, nodevtotty,/* sony cd */ 1540 seltrue, nommap, scdstrategy }; 1541 1542static scd_devsw_installed = 0; 1543 1544static void scd_devsw_install() 1545{ 1546 dev_t descript; 1547 if( ! scd_devsw_installed ) { 1548 descript = makedev(CDEV_MAJOR,0); 1549 cdevsw_add(&descript,&scd_cdevsw,NULL); 1550#if defined(BDEV_MAJOR) 1551 descript = makedev(BDEV_MAJOR,0); 1552 bdevsw_add(&descript,&scd_bdevsw,NULL); 1553#endif /*BDEV_MAJOR*/ 1554 scd_devsw_installed = 1; 1555 } 1556} 1557#endif /* JREMOD */ 1558 |
|
1522#endif /* NSCD > 0 */ | 1559#endif /* NSCD > 0 */ |