summaryrefslogtreecommitdiff
path: root/emulators/hercules/files/patch-tapedev.c
diff options
context:
space:
mode:
authorYing-Chieh Liao <ijliao@FreeBSD.org>2002-06-25 05:22:11 +0000
committerYing-Chieh Liao <ijliao@FreeBSD.org>2002-06-25 05:22:11 +0000
commitc1252d8a6441358ee2c89251f27b94d21973aa31 (patch)
tree6b0735e4a9d96602019dc29c7ec146690c3e4c4a /emulators/hercules/files/patch-tapedev.c
parentremove ports/graphics/miniscrib (diff)
Merge Mark Daniel Szlaga's tape patches into the port, Fix some PORTDOCS issues.
PR: 39785 Submitted by: maintainer
Notes
Notes: svn path=/head/; revision=61903
Diffstat (limited to 'emulators/hercules/files/patch-tapedev.c')
-rw-r--r--emulators/hercules/files/patch-tapedev.c224
1 files changed, 0 insertions, 224 deletions
diff --git a/emulators/hercules/files/patch-tapedev.c b/emulators/hercules/files/patch-tapedev.c
deleted file mode 100644
index 9b3bff653e48..000000000000
--- a/emulators/hercules/files/patch-tapedev.c
+++ /dev/null
@@ -1,224 +0,0 @@
---- tapedev.c.orig Tue Nov 20 23:39:47 2001
-+++ tapedev.c Thu Jan 31 13:06:43 2002
-@@ -131,6 +131,11 @@
- #define TAPEDEVT_SCSITAPE 3 /* Physical SCSI tape */
- #define TAPEDEVT_HET 4 /* HET format disk file */
-
-+/* Can you say totally b0rken? */
-+#define MT_ST_DENSITY_MASK 1
-+#define MT_TAPE_INFO 2
-+#define MTSETBLK 3
-+#define MT_ST_DENSITY_SHIFT 4
- /*-------------------------------------------------------------------*/
- /* Structure definition for tape block headers */
- /*-------------------------------------------------------------------*/
-@@ -194,7 +199,10 @@
- /*-------------------------------------------------------------------*/
- /* Static data areas */
- /*-------------------------------------------------------------------*/
--static struct mt_tape_info tapeinfo[] = MT_TAPE_INFO;
-+
-+
-+/* static struct mt_tape_info tapeinfo[] = MT_TAPE_INFO;
-+
- static struct mt_tape_info densinfo[] = {
- {0x01, "NRZI (800 bpi)"},
- {0x02, "PE (1600 bpi)"},
-@@ -221,7 +229,7 @@
- {0x8C, "EXB-8505 compressed"},
- {0x90, "EXB-8205 compressed"},
- {0, NULL}};
--
-+*/
- static PARSER ptab[] =
- {
- { "awstape", NULL },
-@@ -1151,6 +1159,7 @@
- if (dev->fd < 0) return 0;
-
- /* Obtain tape status */
-+/*
- rc = ioctl (dev->fd, MTIOCGET, (char*)&stblk);
- if (rc < 0)
- {
-@@ -1159,8 +1168,9 @@
- return 0;
- }
- stat = stblk.mt_gstat;
--
-+*/
- /* Display tape status */
-+/*
- if (dev->ccwtrace || dev->ccwstep)
- {
- sprintf (buf, "%s status: %8.8X", dev->filename, stat);
-@@ -1177,10 +1187,11 @@
- if (GMT_DR_OPEN(stat)) strcat (buf, " NOTAPE");
- logmsg ("HHC215I %s\n", buf);
- }
--
-+*/
- /* If tape has been ejected, then close the file because
- the driver will not recognize that a new tape volume
- has been mounted until the file is re-opened */
-+/*
- if (GMT_DR_OPEN(stat))
- {
- close (dev->fd);
-@@ -1190,8 +1201,10 @@
- dev->prvblkpos = -1;
- dev->blockid = 0;
- }
--
-+*/
- /* Return tape status */
-+
-+ fprintf(stderr,"Sorry, tape support is broken.\n");
- return stat;
-
- } /* end function status_scsitape */
-@@ -1249,6 +1262,7 @@
- }
-
- /* Intervention required if no tape is mounted */
-+/*
- if (GMT_DR_OPEN(stblk.mt_gstat))
- {
- dev->sense[0] = SENSE_IR;
-@@ -1256,8 +1270,9 @@
- *unitstat = CSW_CE | CSW_DE | CSW_UC;
- return -1;
- }
--
-+*/
- /* Display tape status information */
-+/*
- for (i = 0; tapeinfo[i].t_type != 0
- && tapeinfo[i].t_type != stblk.mt_type; i++);
-
-@@ -1280,8 +1295,9 @@
- else
- logmsg ("HHC221I %s tape density code: 0x%lX\n",
- dev->filename, density);
--
-+*/
- /* Set the tape device to process variable length blocks */
-+ /*
- opblk.mt_op = MTSETBLK;
- opblk.mt_count = 0;
- rc = ioctl (dev->fd, MTIOCTOP, (char*)&opblk);
-@@ -1294,8 +1310,9 @@
- *unitstat = CSW_CE | CSW_DE | CSW_UC;
- return -1;
- }
--
-+*/
- /* Rewind the tape to the beginning */
-+/*
- opblk.mt_op = MTREW;
- opblk.mt_count = 1;
- rc = ioctl (dev->fd, MTIOCTOP, (char*)&opblk);
-@@ -1308,7 +1325,7 @@
- *unitstat = CSW_CE | CSW_DE | CSW_UC;
- return -1;
- }
--
-+*/
- return 0;
-
- } /* end function open_scsitape */
-@@ -1436,13 +1453,14 @@
-
- /* If I/O error and status indicates EOF, then a tapemark
- was detected, so increment the file number and return 0 */
-+/*
- if (rc < 0 && fsrerrno == EIO && GMT_EOF(stat))
- {
- dev->curfilen++;
- dev->blockid++;
- return 0;
- }
--
-+*/
- /* Handle MTFSR error condition */
- if (rc < 0)
- {
-@@ -1481,6 +1499,7 @@
- stat = status_scsitape (dev);
-
- /* Unit check if already at start of tape */
-+/*
- if (GMT_BOT(stat))
- {
- dev->sense[0] = 0;
-@@ -1488,7 +1507,7 @@
- *unitstat = CSW_CE | CSW_DE | CSW_UC;
- return -1;
- }
--
-+*/
- /* Backspace block on SCSI tape */
- opblk.mt_op = MTBSR;
- opblk.mt_count = 1;
-@@ -2703,12 +2722,15 @@
- U32 stat; /* SCSI tape status bits */
-
- /* Indicate intervention required if no file */
-+/*
- if (!strcmp (dev->filename, TAPE_UNLOADED))
- dev->sense[0] |= SENSE_IR;
-
- if (!(dev->fd < 0))
- {
-+ */
- /* Set load point indicator if tape is at load point */
-+/*
- dev->sense[1] &= ~SENSE1_TAPE_LOADPT;
- switch (dev->tapedevt)
- {
-@@ -2732,41 +2754,14 @@
- if (dev->nxtblkpos == 0 && dev->curfilen == 1)
- dev->sense[1] |= SENSE1_TAPE_LOADPT;
- break;
-- } /* end switch(dev->tapedevt) */
-- } /* !(fd < 0) */
-+ }
-+ */
-+ /* end switch(dev->tapedevt) */
-+
-
- /* Indicate Drive online to control unit */
-- dev->sense[1] |= SENSE1_TAPE_TUA;
-
-- /* Set file protect indicator if read-only file */
-- if (dev->readonly)
-- dev->sense[1] |= SENSE1_TAPE_FP;
-- else
-- dev->sense[1] &= ~SENSE1_TAPE_FP;
-
-- /* Set Error Recovery Action Code */
-- if (dev->sense[0] & SENSE_IR)
-- dev->sense[3] = 0x43;
-- else if (dev->sense[0] & SENSE_CR)
-- dev->sense[3] = 0x27;
-- else if (dev->sense[1] & SENSE1_TAPE_FP)
-- dev->sense[3] = 0x30;
-- else
-- dev->sense[3] = 0x29;
--
-- /* Set sense bytes for 3420 */
-- if (dev->devtype != 0x3480)
-- {
--// dev->sense[4] |= 0x20;
-- dev->sense[5] |= 0xC0;
-- dev->sense[6] |= 0x03;
-- dev->sense[13] = 0x80;
-- dev->sense[14] = 0x01;
-- dev->sense[15] = 0x00;
-- dev->sense[16] = 0x01;
-- dev->sense[19] = 0xFF;
-- dev->sense[20] = 0xFF;
-- }
-
- } /* end function build_sense */
-