[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RTAPE getting stuck? (UX400 accessing remote Sun)
Date: Fri, 5 Jan 90 16:45:31 EST
From: barmar@Think.COM
Are you using my Unix RTAPE or Symbolics's UX400S interface to /etc/rmt? I
never have managed to get RTAPE working under SunOS (but Lamson claims he
did).
Yes. You need to patch the tape_struct declaration as follows (sorry I
don't have the original so you can see the source comparison, but it
should be obvious what I did: the #IFDEF SUN through #ELSE, plus the
#ENDIF is what I added).
struct tape_status {
char t_version; /* protocol version */
char t_probeid[2]; /* Id in corresponding PROBE */
char t_read[3]; /* Number of blocks read */
char t_skipped[3]; /* Number of blocks skipped */
char t_discarded[3]; /* Numbert of writes discarded */
char t_lastop; /* last opcode received */
char t_density[2]; /* Density in BPI */
char t_retries[2]; /* number of retries in last op. */
char t_namelength; /* length of next string */
char t_drive[DLEN]; /* Drive name in use. */
#ifdef sun /* The Sun is big-endian */
char t_harderr:1; /* Hard error encountered */
char t_message:1; /* Error message follows */
char t_mounted:1; /* Tape is mounted */
char t_nli:1; /* Not logged in */
char t_eof:1; /* Last op reached EOF */
char t_pasteot:1; /* Past EOT */
char t_bot:1; /* At BOT */
char t_solicited:1; /* This status was asked for */
char t_bits_unused:6;/* Bits not used. */
char t_offline:1; /* Drive is offline */
char t_softerr:1; /* Soft errors encountered */
#else /* Everything else is assumed to be little-endian */
char t_solicited:1; /* This status was asked for */
char t_bot:1; /* At BOT */
char t_pasteot:1; /* Past EOT */
char t_eof:1; /* Last op reached EOF */
char t_nli:1; /* Not logged in */
char t_mounted:1; /* Tape is mounted */
char t_message:1; /* Error message follows */
char t_harderr:1; /* Hard error encountered */
char t_softerr:1; /* Soft errors encountered */
char t_offline:1; /* Drive is offline */
#endif
char t_string[MAXSTRING]; /* Error message */
} ts;