rmt

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
RMT(8)			  System management commands		       RMT(8)



NAME
       rmt - remote magtape protocol module

SYNOPSIS
       rmt

DESCRIPTION
       Rmt is a program used by the remote dump(8), restore(8) or tar(1) pro-
       grams in manipulating a magnetic tape drive  through  an	 interprocess
       communication connection.  Rmt is normally started up with an rexec(3)
       or rcmd(3) call.

       The rmt program accepts requests specific to the manipulation of	 mag-
       netic  tapes, performs the commands, then responds with a status indi-
       cation.	All responses are in ASCII and in one of  the  following  two
       forms.

       Successful commands have responses of:
	      Anumber\n

       where number is an ASCII representation of a decimal number.

       Unsuccessful commands are responded to with:
	      Eerror-number\nerror-message\n

       where  error-number  is one of the possible error numbers described in
       intro(2) and  error-message  is	the  corresponding  error  string  as
       printed from a call to perror(3).

       The protocol is comprised of the following commands, which are sent as
       indicated - no spaces are supplied between the command and  its	argu-
       ments,  or  between  its	 arguments,  and  \n indicates that a newline
       should be supplied:

       Odevice\nmode\n
	      Open the specified device using the indicated mode.  Device  is
	      a	 full pathname and mode is an ASCII representation of a deci-
	      mal number suitable for passing to open(2).  If  a  device  had
	      already  been  opened,  it  is closed before a new open is per-
	      formed.

       Cdevice\n
	      Close the currently  open	 device.   The	device	specified  is
	      ignored.

       Lwhence\noffset\n
	      Perform  an  lseek(2) operation using the specified parameters.
	      The response value is that returned from the lseek call.

       Wcount\n
	      Write data onto the open device.	Rmt reads  count  bytes	 from
	      the  connection, aborting if a premature end-of-file is encoun-
	      tered.  The response value is that returned from	the  write(2)
	      call.

       Rcount\n
	      Read count bytes of data from the open device. If count exceeds
	      the size of the data buffer (10 kilobytes), it is truncated  to
	      the  data buffer size.  Rmt then performs the requested read(2)
	      and responds with Acount-read\n if  the  read  was  successful;
	      otherwise	 an  error in the standard format is returned. If the
	      read was successful, the data read is then sent.

       Ioperation\ncount\n
	      Perform a MTIOCOP ioctl(2) command using the specified  parame-
	      ters.   The parameters are interpreted as the ASCII representa-
	      tions of the decimal values to place in the mt_op and  mt_count
	      fields  of  the  structure  used in the ioctl call.  The return
	      value is the count parameter when the operation is  successful.

	      By  issuing the I-1\n0\n command, a client will specify that he
	      is using the VERSION 1 protocol.

	      For a VERSION 0 client, the operation parameter is the platform
	      mt_op  value  (could  be	different  if  the client and the rmt
	      server are on two different platforms). For a VERSION 1 client,
	      the operation parameter is standardized as below:

	      0	     Issue   a	 MTWEOF	  command  (write  count  end-of-file
		     records).

	      1	     Issue a MTFSF command (forward  space  over  count	 file
		     marks).

	      2	     Issue  a  MTBSF  command (backward space over count file
		     marks).

	      3	     Issue a MTFSR command (forward space count	 inter-record
		     gaps).

	      4	     Issue a MTBSR command (backward space count inter-record
		     gaps).

	      5	     Issue a MTREW command (rewind).

	      6	     Issue  a  MTOFFL  command	(rewind	 and  put  the	drive
		     offline).

	      7	     Issue a MTNOP command (no operation, set status only).

       ioperation\ncount\n
	      Perform  an  extended MTIOCOP ioctl(2) command using the speci-
	      fied parameters. The parameters are interpreted  as  the	ASCII
	      representations of the decimal values to place in the mt_op and
	      mt_count fields of the structure used in the ioctl  call.	  The
	      return  value is the count parameter when the operation is suc-
	      cessful. The possible operations are:

	      0	     Issue a MTCACHE command (switch cache on).

	      1	     Issue a MTNOCACHE command (switch cache off).

	      2	     Issue a MTRETEN command (retension the tape).

	      3	     Issue a MTERASE command (erase the entire tape).

	      4	     Issue a MTEOM command (position to end of media).

	      5	     Issue a MTNBSF command (backward space  count  files  to
		     BOF).

       S      Return  the  status of the open device, as obtained with a MTI-
	      OCGET ioctl call.	 If the operation was successful, an “ack” is
	      sent with the size of the status buffer, then the status buffer
	      is sent (in binary, which	 is  non-portable  between  different
	      platforms).

       ssub-command
	      This  is	a  replacement	for  the previous S command, portable
	      across different platforms. If the open device  is  a  magnetic
	      tape,  return members of the magnetic tape status structure, as
	      obtained with a MTIOCGET ioctl call. If the open device is  not
	      a	 magnetic  tape, an error is returned. If the MTIOCGET opera-
	      tion was successful, the numerical value of the structure	 mem-
	      ber is returned in decimal. The following sub commands are sup-
	      ported:

	      T	     return the content of the structure member mt_type which
		     contains the type of the magnetic tape device.

	      D	     return  the  content  of  the  structure member mt_dsreg
		     which contains the "drive status register".

	      E	     return the content	 of  the  structure  member  mt_erreg
		     which contains the "error register". This structure mem-
		     ber must be retrieved first because it is cleared	after
		     each MTIOCGET ioctl call.

	      R	     return  the  content  of  the  structure member mt_resid
		     which contains the residual count of the last I/O.

	      F	     return the content of  the	 structure  member  mt_fileno
		     which contains the file number of the current tape posi-
		     tion.

	      B	     return the content	 of  the  structure  member  mt_blkno
		     which  contains  the  block  number  of the current tape
		     position.

	      f	     return the content	 of  the  structure  member  mt_flags
		     which contains MTF_ flags from the driver.

	      b	     return  the  content of the structure member mt_bf which
		     contains the optimum blocking factor.

       Any other command causes rmt to exit.

DIAGNOSTICS
       All responses are of the form described above.

SEE ALSO
       rcmd(3), rexec(3), /usr/include/sys/mtio.h, rdump(8), rrestore(8)

BUGS
       People should be discouraged from using this for a remote file  access
       protocol.

AUTHOR
       The  dump/restore  backup  suit	was ported to Linux’s Second Extended
       File System by Remy Card <card@Linux.EU.Org>. He maintained  the	 ini-
       tial  versions  of  dump	 (up and including 0.4b4, released in january
       1997).

       Starting	  with	 0.4b5,	  the	new   maintainer   is	Stelian	  Pop
       <stelian@popies.net>.

AVAILABILITY
       The  dump/restore  backup  suit is available from <http://dump.source-
       forge.net>

HISTORY
       The rmt command appeared in 4.2BSD.



BSD		      version 0.4b39 of January 21, 2005	       RMT(8)