summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
1996-05-16from NetBSD PR#812:Michael Shalayeff
allow CDDA disks to be read. not tested, anyone w/ SCSI CD is ought to. here is the test program (not tested too ;): #define CDDA #include <stdio.h> #include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/param.h> #include <sys/scsiio.h> #include <sys/cdio.h> #include <scsi/scsi_all.h> #include <scsi/scsi_cd.h> #include <scsi/scsi_disk.h> extern int errno; void usage() { fprintf(stderr, "usage: cdda -d device -b blkcnt -o offset >output\n"); exit(1); } char databuf[CD_DA_BLKSIZ]; main(int argc, char *argv[]) { int ch; int fd; off_t offset = 0; int cnt = 0; char *dev = 0; struct scsi_rw_big read_cmd; struct scsi_mode_sense sense_cmd; struct cd_mode_data bdesc; scsireq_t req; while ((ch = getopt(argc, argv, "d:b:o:")) != -1) { switch (ch) { case 'd': dev = optarg; break; case 'b': cnt = atoi(optarg); if (cnt <= 0) usage(); break; case 'o': offset = atoi(optarg); break; case '?': default: usage(); } } if (dev == NULL || cnt == 0) usage(); fd = open(dev, O_RDONLY); if (fd == -1) err(1,"can't open device %s", dev); #ifdef DEBUG ch = SC_DB_FLOW; ioctl(fd, SCIOCDEBUG, &ch); #endif ch = 1; if (ioctl(fd, CDIOCSETCDDA, &ch) == -1) warn("can't set CDDA mode"); read_cmd.opcode = READ_BIG; /* READ10 */ read_cmd.byte2 = 0; /* no relative */ read_cmd.reserved = 0; read_cmd.length2 = 0; read_cmd.length1 = 1; /* read one block at a time. hope it caches! */ read_cmd.control = 0; /* LBA mode, leave flag & link zero */ for (; cnt > 0; cnt--, offset++) { read_cmd.addr_3 = (offset >> 24) & 0xff; read_cmd.addr_2 = (offset >> 16) & 0xff; read_cmd.addr_1 = (offset >> 8) & 0xff; read_cmd.addr_0 = offset & 0xff; memset(&req, 0, sizeof(req)); req.flags = SCCMD_READ; /* timeout is in milliseconds--not that it's obvious from the include files! */ req.timeout = 10000; /* 10 sec */ bcopy(&read_cmd, req.cmd, sizeof(read_cmd)); req.cmdlen = sizeof(read_cmd); req.databuf = databuf; req.datalen = sizeof(databuf); req.senselen = sizeof(req.sense); /* XXX */ if (ioctl(fd, SCIOCCOMMAND, &req) == -1) { fprintf(stderr, "bad ioctl: %d\n", errno); ch = 0; ioctl(fd, CDIOCSETCDDA, &ch); #ifdef DEBUG ioctl(fd, SCIOCDEBUG, &ch); #endif exit(1); } if (req.retsts != 0 || req.error != 0) { ch = 0; ioctl(fd, CDIOCSETCDDA, &ch); #ifdef DEBUG ioctl(fd, SCIOCDEBUG, &ch); #endif errx(1,"return status %d, error %d\n", req.retsts, req.error); } if (req.datalen_used != sizeof(databuf)) { ch = 0; ioctl(fd, CDIOCSETCDDA, &ch); #ifdef DEBUG ioctl(fd, SCIOCDEBUG, &ch); #endif errx(1,"didn't get full buffer back (%x)", req.datalen_used); } write(1, databuf, sizeof(databuf)); } ch = 0; if (ioctl(fd, CDIOCSETCDDA, &ch) == -1) warn("can't reset CDDA mode"); #ifdef DEBUG ioctl(fd, SCIOCDEBUG, &ch); #endif close(fd); exit(0); }
1996-05-16conf.c (import from sun3 version)chuck
1996-05-16up version #chuck
1996-05-16clean up and sync with changes elsewhere (use common parse_args,chuck
bugargs.cputyp, bugcrt, etc...).
1996-05-16relocate config.h from libsa since it is only used herechuck
devopen: XXX override one in libsa ... do we need two devopens? needs to be looked into.
1996-05-16sync with recent changes.chuck
XXX: needs more cleanup (has a duplicate copy of exec with some extra stuff in it... merge?)
1996-05-16update to run from bootxx + major clean upchuck
1996-05-16bugdev moved to libsachuck
filesystem merged with conf.c
1996-05-16import level 1 bootstrap from sun3/sparc portchuck
1996-05-16libsa needs libbug.chuck
1996-05-16import installboot from sun3/sparc portschuck
1996-05-16sync with sun3 port.chuck
major reorg. & cleanup. new SRT that works with bugcrt. common parse_arg.
1996-05-16R.I.P. old stuff.chuck
1996-05-16reorg & cleanup. add in some stuff so we can remove libsa/promcons.c.chuck
1996-05-16add netboot stuff and cputyp stuff to bugcrt. also add bugexec().chuck
1996-05-16adjust subdirs for new stuffchuck
1996-05-16add two more defines for the way the bug "NBO" command passes in argschuck
add network boot and cputyp to bugargs (for new bootblocks)
1996-05-15remove unnecessary "XXX it should be sysctl()'ed"Michael Shalayeff
1996-05-15fix NetBSD PR#854.Michael Shalayeff
allow to overwrite rfc1323 option in config file.
1996-05-15let udpcksum control generation, but not cheking of udp cksums.Michael Shalayeff
1996-05-15add all the possible SCSI device types to the GENERIC configs.Michael Shalayeff
1996-05-15Now uses libkern instead of locore functions.Per Fogelstrom
1996-05-15Some cc flags given to cpp, not nice...Per Fogelstrom
1996-05-15Catchup of interface changes + prototyping.Per Fogelstrom
1996-05-14NFSMNT_RESVPORT set in wrong placeTheo de Raadt
1996-05-14non-root bind() to 2049 gets EADDRINUSETheo de Raadt
1996-05-14fix NetBSD PR#1176.Michael Shalayeff
add description for PORTAL option.
1996-05-14fix NetBSD PR#1145.Michael Shalayeff
1996-05-14fix NetBSD PR#1136.Michael Shalayeff
1996-05-13This file no longer used.Per Fogelstrom
1996-05-13fix return-rstdm
1996-05-13From NetBSD PR#1133:Michael Shalayeff
add '?' to list available files at boot.
1996-05-12pull in pica machdep isa header if picaPer Fogelstrom
1996-05-12missed ;Michael Shalayeff
1996-05-11Include sys/queue.h, and add multiple include protectionNiklas Hallqvist
1996-05-10ipfilter 3.0.4dm
1996-05-10clean betterTheo de Raadt
1996-05-10machine@Theo de Raadt
1996-05-10machine@; use -fomit-frame-pointer otherwise a bugarg in a6 gets trashedTheo de Raadt
1996-05-10clean betterTheo de Raadt
1996-05-10m88k & m68k capable bugcrt by chuckTheo de Raadt
1996-05-10Add some code bulletproofing, I have had this around for some timeDale S. Rahn
I actually thought it was checked in. This should stop any extra transmit interupts occuring and a possible crash if another system talks to the tty port before it is completely configured. Also allows debugging when no processes have the port open for writing. If abort is pressed before getty starts.
1996-05-10fix symtab skip loop (s,p,q,).Michael Shalayeff
1996-05-10do dynamic symtab allocattion.Michael Shalayeff
1996-05-10simple thingsTheo de Raadt
1996-05-10simple cleanupTheo de Raadt
1996-05-10proto fillwTheo de Raadt
1996-05-10decl joystickTheo de Raadt
1996-05-10update netbsd tagTheo de Raadt
1996-05-10fpa fddi cardTheo de Raadt