The Ftape Installation Guide - MTIOCFTFORMAT
FTFMT_SET_PARMS
-- set software parameters
This ioctl informs the kernel driver module about the parameters that
will be used when formatting the tape cartridge. Note that the kernel
driver does not alter the hardware state of the tape drive, i.e. it
doesn't set the number of format segment nor does it program the tape
drive to the desired QIC standard. This must be done using the
MTIOCFTCMD
ioctl (see MTIOCFTCMD). FTFMT_SET_PARMS
merely results in recalibration of the data rate and in the
recalculation of timeouts and synchronizes the user level formatting
program with the hardware driver. See struct mtftformat for the
complete definition of the data structures. The following parameters
must be set:
struct ftfmtparms { unsigned char ft_qicstd; /* QIC-40/QIC-80/QIC-3010/QIC-3020 */ unsigned char ft_fmtcode; /* Refer to the QIC specs */ unsigned char ft_fhm; /* floppy head max */ unsigned char ft_ftm; /* floppy track max */ unsigned short ft_spt; /* segments per track */ unsigned short ft_tpc; /* tracks per cartridge */ };
Please refer also to the QIC standards `QIC-40
',
`QIC-80
', `QIC-3010
', `QIC-3020
' and `QIC-117
' for
the correct settings. The standards can be found at http://www.qic.org.
ft_qicstd
QIC_TAPE_QIC40
,
QIC_TAPE_QIC80
,
QIC_TAPE_QIC3020
,
QIC_TAPE_QIC3010
}. These symbols are defined in
`./include/linux/qic117.h
'
(qic117.h)
#define QIC_TAPE_QIC40 0x01 #define QIC_TAPE_QIC80 0x02 #define QIC_TAPE_QIC3020 0x03 #define QIC_TAPE_QIC3010 0x04
ft_fmtcode
./include/linux/ftape-header-segment.h
'
(ftape-header-segment.h)
typedef enum { fmt_normal = 2, /* QIC-80 post Rev. B 205Ft or 307Ft tape */ fmt_1100ft = 3, /* QIC-80 post Rev. B 1100Ft tape */ fmt_var = 4, /* QIC-80 post Rev. B variable length format */ fmt_425ft = 5, /* QIC-80 post Rev. B 425Ft tape */ fmt_big = 6 /* QIC-3010/3020 variable length tape with more * than 2^16 segments per tape */ } ft_format_type;
ft_fhm, ft_ftm
Floppy Head Max
' and `Floppy
Track Max
'. To understand was this means one has to recall that a
FDC, Floppy Disk Controller, is used to drive the tape. In order
to make this possible each tape sector must be given a
floppy disk sector address. This means, in effect, that the
floppy tape drive simulates a (very large) floppy disk
drive. ft_fhm
gives the number of read/write heads of that
virtual floppy disk drive, and the ft_ftm
specifies the number of
tracks of the virtual floppy disk in the virtual floppy disk drive.
ft_spt, ft_tpc
ft_spt
means
`Segments Per Track
' and ft_tpc
is an abbreviation for
`Tracks Per Cartridge
'. Both values are to be understood as the
`linear tape cartridge geometry
' in contrast to the virtual floppy
disk parameters that are specified by ft_fhm
and ft_ftm
.
Use these buttons to jump to the top menu