Age | Commit message (Collapse) | Author | |
---|---|---|---|
1996-05-16 | from 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-16 | conf.c (import from sun3 version) | chuck | |
1996-05-16 | up version # | chuck | |
1996-05-16 | clean up and sync with changes elsewhere (use common parse_args, | chuck | |
bugargs.cputyp, bugcrt, etc...). | |||
1996-05-16 | relocate config.h from libsa since it is only used here | chuck | |
devopen: XXX override one in libsa ... do we need two devopens? needs to be looked into. | |||
1996-05-16 | sync with recent changes. | chuck | |
XXX: needs more cleanup (has a duplicate copy of exec with some extra stuff in it... merge?) | |||
1996-05-16 | update to run from bootxx + major clean up | chuck | |
1996-05-16 | bugdev moved to libsa | chuck | |
filesystem merged with conf.c | |||
1996-05-16 | import level 1 bootstrap from sun3/sparc port | chuck | |
1996-05-16 | libsa needs libbug. | chuck | |
1996-05-16 | import installboot from sun3/sparc ports | chuck | |
1996-05-16 | sync with sun3 port. | chuck | |
major reorg. & cleanup. new SRT that works with bugcrt. common parse_arg. | |||
1996-05-16 | R.I.P. old stuff. | chuck | |
1996-05-16 | reorg & cleanup. add in some stuff so we can remove libsa/promcons.c. | chuck | |
1996-05-16 | add netboot stuff and cputyp stuff to bugcrt. also add bugexec(). | chuck | |
1996-05-16 | adjust subdirs for new stuff | chuck | |
1996-05-16 | add two more defines for the way the bug "NBO" command passes in args | chuck | |
add network boot and cputyp to bugargs (for new bootblocks) | |||
1996-05-15 | remove unnecessary "XXX it should be sysctl()'ed" | Michael Shalayeff | |
1996-05-15 | fix NetBSD PR#854. | Michael Shalayeff | |
allow to overwrite rfc1323 option in config file. | |||
1996-05-15 | let udpcksum control generation, but not cheking of udp cksums. | Michael Shalayeff | |
1996-05-15 | add all the possible SCSI device types to the GENERIC configs. | Michael Shalayeff | |
1996-05-15 | Now uses libkern instead of locore functions. | Per Fogelstrom | |
1996-05-15 | Some cc flags given to cpp, not nice... | Per Fogelstrom | |
1996-05-15 | Catchup of interface changes + prototyping. | Per Fogelstrom | |
1996-05-14 | NFSMNT_RESVPORT set in wrong place | Theo de Raadt | |
1996-05-14 | non-root bind() to 2049 gets EADDRINUSE | Theo de Raadt | |
1996-05-14 | fix NetBSD PR#1176. | Michael Shalayeff | |
add description for PORTAL option. | |||
1996-05-14 | fix NetBSD PR#1145. | Michael Shalayeff | |
1996-05-14 | fix NetBSD PR#1136. | Michael Shalayeff | |
1996-05-13 | This file no longer used. | Per Fogelstrom | |
1996-05-13 | fix return-rst | dm | |
1996-05-13 | From NetBSD PR#1133: | Michael Shalayeff | |
add '?' to list available files at boot. | |||
1996-05-12 | pull in pica machdep isa header if pica | Per Fogelstrom | |
1996-05-12 | missed ; | Michael Shalayeff | |
1996-05-11 | Include sys/queue.h, and add multiple include protection | Niklas Hallqvist | |
1996-05-10 | ipfilter 3.0.4 | dm | |
1996-05-10 | clean better | Theo de Raadt | |
1996-05-10 | machine@ | Theo de Raadt | |
1996-05-10 | machine@; use -fomit-frame-pointer otherwise a bugarg in a6 gets trashed | Theo de Raadt | |
1996-05-10 | clean better | Theo de Raadt | |
1996-05-10 | m88k & m68k capable bugcrt by chuck | Theo de Raadt | |
1996-05-10 | Add some code bulletproofing, I have had this around for some time | Dale 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-10 | fix symtab skip loop (s,p,q,). | Michael Shalayeff | |
1996-05-10 | do dynamic symtab allocattion. | Michael Shalayeff | |
1996-05-10 | simple things | Theo de Raadt | |
1996-05-10 | simple cleanup | Theo de Raadt | |
1996-05-10 | proto fillw | Theo de Raadt | |
1996-05-10 | decl joystick | Theo de Raadt | |
1996-05-10 | update netbsd tag | Theo de Raadt | |
1996-05-10 | fpa fddi card | Theo de Raadt | |