Provided by: manpages-pt-br_4.21.0-2_all bug

NOME

       st - Dispositivo de Fita SCSI

SINOPSE

       #include <sys/mtio.h>

       int ioctl(int fd, int request [, (void *)arg3]);
       int ioctl(int fd, MTIOCTOP, (struct mtop *)mt_cmd);
       int ioctl(int fd, MTIOCGET, (struct mtget *)mt_status);
       int ioctl(int fd, MTIOCPOS, (struct mtpos *)mt_pos);

DESCRIÇÃO

       O  controlador  st  provê a interface para vários dispositivos de fita SCSI. Atualmente, o
       controlador controla todos os  dispositivos  detectados  do  tipo  “acesso-seqüencial”.  O
       controlador st usa o número de dispositvo principal 9.

       Each device uses eight minor device numbers.  The lowermost five bits in the minor numbers
       are assigned sequentially in the order of detection.  In the 2.6 kernel,  the  bits  above
       the  eight  lowermost  bits  are  concatenated to the five lowermost bits to form the tape
       number.  The minor numbers can be grouped into two sets of  four  numbers:  the  principal
       (auto-rewind)  minor  device  numbers,  n,  and the “no-rewind” device numbers, (n + 128).
       Devices opened using the principal device number will be sent a REWIND command  when  they
       are  closed.   Devices  opened  using  the “no-rewind” device number will not.  (Note that
       using an auto-rewind device for positioning the tape with, for instance, mt does not  lead
       to  the  desired  result:  the  tape  is rewound after the mt command and the next command
       starts from the beginning of the tape).

       Em cada grupo, quatro números menores estão  disponíveis  para  definir  dispositivos  com
       características  diferentes  (tamanho  do  bloco,  compressão,  densidade,  etc). Quando o
       sistema inicia, apenas o primeiro dispositivo está disponível. Os outros três são ativados
       quando  as  características  padrões são definidas (veja abaixo). (Alterando as constantes
       durante a compilação, é possível mudar o balanço entre o número máximo de unidades de fita
       e  o  número  de  número  de  dispositivo  secundário para cada unidade. A alocação padrão
       permite controlar 32 unidades de fita. Por exemplo, é possível controlar até  64  unidades
       com dois números secundários para diferentes opções).

       Os dispositivos são tipicamente criados por:

           mknod -m 666 /dev/st0 c 9 0
           mknod -m 666 /dev/st0l c 9 32
           mknod -m 666 /dev/st0m c 9 64
           mknod -m 666 /dev/st0a c 9 96
           mknod -m 666 /dev/nst0 c 9 128
           mknod -m 666 /dev/nst0l c 9 160
           mknod -m 666 /dev/nst0m c 9 192
           mknod -m 666 /dev/nst0a c 9 224

       Não há dispositivos de bloco correspondentes.

       The  driver  uses an internal buffer that has to be large enough to hold at least one tape
       block.  Before Linux 2.1.121, the buffer is  allocated  as  one  contiguous  block.   This
       limits  the  block size to the largest contiguous block of memory the kernel allocator can
       provide.  The limit is currently 128 kB for 32-bit architectures  and  256 kB  for  64-bit
       architectures.   In  newer  kernels  the  driver  allocates the buffer in several parts if
       necessary.  By default, the maximum number of parts is 16.  This means  that  the  maximum
       block size is very large (2 MB if allocation of 16 blocks of 128 kB succeeds).

       The  driver's  internal  buffer size is determined by a compile-time constant which can be
       overridden with a kernel startup option.   In  addition  to  this,  the  driver  tries  to
       allocate a larger temporary buffer at run time if necessary.  However, run-time allocation
       of large contiguous blocks of memory may fail and it is advisable not to rely too much  on
       dynamic  buffer  allocation  before Linux 2.1.121 (this applies also to demand-loading the
       driver with kerneld or kmod).

       O controlador não suporta especificamente qualquer marca ou modelo  de  unidade  de  fita.
       Depois  que o sistema inicia, as opções do dispositivo de fita são definidas pelo firmware
       da unidade. Por exemplo, se o 'firmware' seleciona o modo de blocagem fixa, a  unidade  de
       fita  usará  este  modo.  As opções podem ser alteradas com chamadas ioctl(2) explícitas e
       mantidas em efeito quando o dispositivo é fechado e reaberto. As opções definidas  afetam,
       tanto os dispositivos com auto-rebobinamento, quanto os sem rebobinamento.

       Opções  diferentes  podem  ser  especificadas  para  dispositivos diferentes, dentro de um
       subgrupo de quatro. As opções fazem efeito quanto o dispositivo é aberto. Por  exemplo,  o
       administrador  do  sistema  pode  definir um dispositivo que grava em blocos fixos com uma
       certa blocagem e outro que grava em blocos variáveis  (se  a  unidade  suportar  ambos  os
       modos).

       O  controlador  suporta  partições se a unidade de fita suportá-las. (As partições em fita
       não tem nada ver com as partições em disco. Uma fita  particionada  pode  ser  vista  como
       várias  fitas  lógicas.)  O  suporte a partições tem que ser habilitado com um ioctl(2). A
       localização da fita é preservada em cada partição através das alterações  na  partição.  A
       partição  usada  para  operações subseqüentes, é selecionada com um ioctl(2). A mudança de
       partição é executada junto com a próxima operação para evitar movimento  desnecessário  da
       fita.  O  número  máximo  de  partições um uma fita é definido por uma constante durante a
       compilação (originalmente quatro). O controlador contém um ioctl(2) que pode formatar  uma
       fita com uma ou duas partições.

       O  dispositivo  /dev/tape  é  geralmente  criado  como um vínculo símbólico ou fixo para o
       dispositivo de fita padrão no sistema.

       Starting from Linux 2.6.2, the driver exports in the sysfs directory  /sys/class/scsi_tape
       the attached devices and some parameters assigned to the devices.

   Data transfer
       O  controlador  suporta operações nos modos de blocagem fixa e variável (se suportado pela
       unidade). No modo de blocagem fixa a unidade  grava  blocos  de  tamanho  específico  e  o
       tamanho  do  bloco não é dependente do contador de bytes gravados, usado pelas chamadas do
       sistema. No modo de blocagem variável, um bloco é gravado para cada chamada de gravação  e
       o  contador  de  bytes  determina  o  tamanho do bloco. Observe que os blocos na fita, não
       contém quaisquer informações sobre o mode de gravação. Durante a leitura, o  importante  é
       usar comandos que aceitam o tamanho dos blocos gravados.

       In  variable-block  mode  the  read  byte count does not have to match the tape block size
       exactly.  If the byte count is larger than the next block on tape, the driver returns  the
       data and the function returns the actual block size.  If the block size is larger than the
       byte count, an error is returned.

       In fixed-block mode the read byte counts can be arbitrary if buffering is  enabled,  or  a
       multiple  of  the  tape  block  size if buffering is disabled.  Before Linux 2.1.121 allow
       writes with arbitrary byte count if buffering is enabled.   In  all  other  cases  (before
       Linux  2.1.121  with  buffering  disabled  or newer kernel) the write byte count must be a
       multiple of the tape block size.

       In Linux 2.6, the driver tries to use direct transfers between the  user  buffer  and  the
       device.   If  this is not possible, the driver's internal buffer is used.  The reasons for
       not using direct transfers include improper alignment of the user buffer (default  is  512
       bytes but this can be changed by the HBA driver), one or more pages of the user buffer not
       reachable by the SCSI adapter, and so on.

       Um marcador de arquivo é automáticamente gravado na fita se  a  última  operação  na  fita
       antes de fechá-la foi uma gravação.

       Quando  um  marcador  de  arquivo  é encontrado enquanto lendo, a seguinte é comcluído. Se
       houver dados no 'buffer' quando um marcador de arquivo é  encontrado,  estes  dados  serão
       retornados.  A próxima leitura retornará zero bytes. A leitura seguinte retornará os dados
       do próximo arquivo. O fim dos dados gravados é  sinalizado  pelo  retorno  de  zero  bytes
       durante duas leituras consecutivas. A terceira leitura retornará um erro.

   Ioctls
       O  controlador  suporta  três  requisitos  ioctl(2).  Os  requisitos não reconhecidos pelo
       controlador st são  passados  para  o  controlador  SCSI.  As  definições  abaixo  são  do
       /usr/include/linux/mtio.h:

   MTIOCTOP  executa uma operação de fita
       Este  requisito  leva um argumento do tipo (struct mtop *). Nem todos as unidades suportam
       todas as operações. O controlador retorna um erro EIO se a unidade rejeitar uma operação.

           /* Structure for MTIOCTOP - mag tape op command: */
           struct mtop {
               short   mt_op;       /* operations defined below */
               int     mt_count;    /* how many of them */
           };

       Operações de fita magnéticas para uso normal:

       MTBSF  Retrocede espaços sobre mt_count marcadores de arquivos.

       MTBSFM Retrocede espaços sobre mt_count marcadores de arquivos. Reposiciona a fita no lado
              EOT último marcador de arquivo.

       MTBSR  Retrocede espaços sobre mt_count registros (blocos da fita).

       MTBSS  Retrocede espaços sobre mt_count setmarks.

       MTCOMPRESSION
              Habilita  compressão de dados se mt_count não for zero e desabilita a compressão se
              mt_count é zero. Este comando usa o MODO page 15 suportado pela maioria  das  fitas
              DATs.

       MTEOM  Vai para o final da mídia gravada (para acrescentar arquivos).

       MTERASE
              Erase  tape.   With  Linux  2.6,  short erase (mark tape empty) is performed if the
              argument is zero.  Otherwise, long erase (erase all) is done.

       MTFSF  Avança mt_count marcadores de arquivos.

       MTFSFM Avança mt_count marcadores de arquivos. Reposiciona a fita no lado  BOT  do  último
              marcado de arquivo.

       MTFSR  Avança espaços sobre mt_count registro (blocos da fita).

       MTFSS  Avança espaços sobre mt_count setmarks.

       MTLOAD Executa  o  comando  load  SCSI.  Um  caso  especial  está  disponível  para alguns
              carregadores automáticos HP. Se mt_count é a constante  MT_ST_HPLOADER_OFFSET  mais
              um número, o número é enviando para a unidade controlar a carga automática.

       MTLOCK Bloqueia a porta da unidade de fita.

       MTMKPART
              Format  the tape into one or two partitions.  If mt_count is positive, it gives the
              size of partition 1 and partition 0 contains the rest of the tape.  If mt_count  is
              zero,  the  tape  is  formatted  into  one  partition.   From Linux 4.6, a negative
              mt_count specifies the size of partition 0  and  the  rest  of  the  tape  contains
              partition  1.   The  physical  ordering  of  partitions depends on the drive.  This
              command is not allowed for a drive unless the partition support is enabled for  the
              drive (see MT_ST_CAN_PARTITIONS below).

       MTNOP  Nenhuma  operação—descarrega o 'buffer' do controlador. Ele pode ser usado antes de
              ler o estado com MTIOCGET.

       MTOFFL Rebobina a fita e coloca a unidade fora de linha.

       MTRESET
              Reinicia a unidade.

       MTRETEN
              Retensiona a fita.

       MTREW  Rebobina.

       MTSEEK Posiciona no número de bloco especificado em mt_count.  Esta  operação  requer  uma
              unidade SCSI-2 que suporte o comando LOCATE (endereço de dispositivo específico) ou
              uma unidade Tandberg-compatível SCSI-1 (Tandberg, Archive Viper, Wangtek, ... ).  O
              número do bloco deverá ser aquele previamente retornado pelo MTIOCPOS se o endereço
              específico do dispositivo foi usado.

       MTSETBLK
              Define o tamanho do bloco para o valor especificado em mt_count. Um tamanho de zero
              define o modo de bloco de tamanho variável.

       MTSETDENSITY
              Define  a densidade para o código em mt_count. O código de densidade suportado pela
              unidade pode ser encontrado na documentação da unidade.

       MTSETPART
              A partição é alternada para mt_count. As partições são numeradas a partir de  zero.
              Este  comando  não  é  permitido  em uma unidade, a menos que o suporte a partições
              esteja habilitado (veja MT_ST_CAN_PARTITIONS abaixo).

       MTUNLOAD
              Executa o comando SCSI unload (não ejeta a fita).

       MTUNLOCK
              Desbloqueia a porta da unidade de fita.

       MTWEOF Grava mt_count marcadores de arquivos.

       MTWSM  Grava mt_count setmarks.

       Operações de Fita Magnética para configurar opções de dispositivo (superusuário):

       MTSETDRVBUFFER
              Set various drive and driver options according to bits encoded in mt_count.   These
              consist  of the drive's buffering mode, a set of Boolean driver options, the buffer
              write threshold, defaults for the block size and density, and timeouts (only  since
              Linux  2.1).   A  single  operation can affect only one item in the list below (the
              Booleans counted as one item.)

              Um valor zero nos 4  bits  de  alta  órdem  será  usado  para  definir  o  modo  de
              buferização da unidade de fita. Os modos de buferização são:

              0      A  unidade  não  informará o estado GOOD nos comandos de gravação até que os
                     blocos de dados sejam gravados na mídia.

              1      A unidade informará o estado GOOD nos comandos de gravação assim  que  todos
                     os dados tenham sido transferidos do 'buffer' interno da unidade.

              2      A  unidade  pode  informar o estado GOOD nos comandos de gravação assim que:
                     (a) os dados foram transferido do 'buffer' interno da unidade e (b) todos os
                     dados  em 'buffer's de inicializadores diferentes foram gravados com sucesso
                     para a mídia.

              To control the write threshold the value in  mt_count  must  include  the  constant
              MT_ST_WRITE_THRESHOLD  bitwise  ORed  with  a  block count in the low 28 bits.  The
              block count refers to 1024-byte blocks, not the physical block size  on  the  tape.
              The  threshold  cannot  exceed  the driver's internal buffer size (see DESCRIPTION,
              above).

              To set and clear the Boolean options the value in mt_count must include one of  the
              constants     MT_ST_BOOLEANS,     MT_ST_SETBOOLEANS,     MT_ST_CLEARBOOLEANS,    or
              MT_ST_DEFBOOLEANS bitwise ORed with whatever combination of the  following  options
              is  desired.   Using MT_ST_BOOLEANS the options can be set to the values defined in
              the corresponding bits.  With MT_ST_SETBOOLEANS the options can be selectively  set
              and with MT_ST_DEFBOOLEANS selectively cleared.

              As   opções   padrões   para  um  dispositivo  de  fita  podem  ser  definidas  com
              MT_ST_DEFBOOLEANS. Um dispositivo de fita inativo (i.e., um dispositivo com  número
              menor  32  ou  160)  é  ativado  quando as opções padrões para ele são definidas na
              primeira vez. Um dispositivo ativado herda  daquele  ativado  na  inicialização  as
              opções não definidas explicitamente.

              As opções Booleanas são:

              MT_ST_BUFFER_WRITES  (Padrão: true)
                     Coloca no 'buffer' todas as operações de gravação usando a blocagem fixa. Se
                     esta opção é false e a unidade usa um bloco de tamanho fixo, então todas  as
                     operações de gravação devem usar um múltiplo do tamanho do bloco. Esta opção
                     deve ser definida como  falsa  para  se  obter  uma  gravação  confiável  em
                     sistemas multi-volumes.

              MT_ST_ASYNC_WRITES  (Padrão: true)
                     Quando esta opção é verdadejra, a operação de gravação retorna imediatamente
                     sem esperar que os dados sejam transferidos para a unidade se os dados estão
                     ajustados  dentro  do  'buffer'  da  unidade. O limite de gravação determina
                     quando o 'buffer' está cheio mas depois um novo comando de  escrita  SCSI  é
                     usado.  Quaisquer  erros  relatados pela unidade serão retidos até a próxima
                     operação. Esta opção deve ser definida como falsa para se obter uma gravação
                     confiável em sistemas multi-volumes.

              MT_ST_READ_AHEAD  (Padrão: true)
                     Esta opção faz o controlador prover leitura buferizada e leitura a frente em
                     blocos fixos. Se esta opção é false e a unidade  usa  um  tamanho  de  bloco
                     fixo, todas as operações de leitura devem ser múltiplos do tamanho do bloco.

              MT_ST_TWO_FM  (Padrão: false)
                     Esta  opção  modifica  as características do controlador quando um arquivo é
                     fechado. A ação normal é gravar uma marca de arquivo simples. Se esta  opção
                     é  true  o  controlador  gravará  duas  marcas  de  arquivo e um caracter de
                     retrocesso sobre a última marca.

                     Nota: Esta opção não pode ser true para unidades de fita  QIC  uma  vez  que
                     elas  não  podem  sobrescrever  a marca de arquivo. Estas unidades detetam o
                     final dos dados gravados testando se a fita está em branco.  A  maioria  das
                     unidades  atuais  também detetam o final dos dados gravados e o uso das duas
                     marcas de arquivo são necessária apenas quando há intercambio  de  fita  com
                     outros sistemas.

              MT_ST_DEBUGGING  (Padrão: false)
                     Esta  opção  ativa várias mensagens de depuração de erros do controlador (só
                     tem efeito se o controlador foi  compilado  com  DEBUG  definido  com  valor
                     diferente de zero).

              MT_ST_FAST_EOM  (Padrão: false)
                     This  option  causes  the  MTEOM operation to be sent directly to the drive,
                     potentially speeding up the operation but causing the driver to  lose  track
                     of  the  current  file number normally returned by the MTIOCGET request.  If
                     MT_ST_FAST_EOM is false, the driver will respond  to  an  MTEOM  request  by
                     forward spacing over files.

              MT_ST_AUTO_LOCK (Padrão: false)
                     When  this  option is true, the drive door is locked when the device file is
                     opened and unlocked when it is closed.

              MT_ST_DEF_WRITES (Padrão: false)
                     As opções da fita (tamanho do bloco, modo,  compressão,  etc.)  pode  variar
                     quando  muda-se  de  um  dispositivo  vinculado  a  uma  unidade, para outro
                     vinculado  a  mesma  unidade  dependendo  de  como  os  dispositivos   estão
                     definidos.   Esta   opção  define  quando  as  mudanças  são  forçadas  pelo
                     controlador através de comandos SCSI e quando a unidade auto-deteta  que  as
                     capacidades  são  confiáveis.  Se esta opção é false, o controlador envia os
                     comandos SCSI imediatamente quando o dispositivo é alterado. Se  a  opção  é
                     true,  os  comandos  SCSI  não  são  enviados  até  que  uma  gravação  seja
                     requisitada. Neste caso o firmware da unidade tem permissão para  detetar  a
                     estrutura  da  fita  durante  a leitura e os comandos SCSI são usados apenas
                     para certificar-se que a fita  é  gravada  de  acordo  com  a  especificação
                     correta.

              MT_ST_CAN_BSR (Padrão: false)
                     When  read-ahead  is used, the tape must sometimes be spaced backward to the
                     correct position when the device is closed and the  SCSI  command  to  space
                     backward  over  records  is  used for this purpose.  Some older drives can't
                     process this command reliably and this option can be used  to  instruct  the
                     driver  not to use the command.  The end result is that, with read-ahead and
                     fixed-block mode, the tape may not be correctly  positioned  within  a  file
                     when  the  device is closed.  With Linux 2.6, the default is true for drives
                     supporting SCSI-3.

              MT_ST_NO_BLKLIMS (Padrão: false)
                     Algumas unidades não aceitam o comando SCSI READ  BLOCK  LIMITS.  Se  ele  é
                     usado,  o  controlador não usá-o. A desvantagem é que o controlador não pode
                     checar antes de enviar os comandos se  o  tamanho  de  bloco  selecionado  é
                     aceitável pela unidade de fita.

              MT_ST_CAN_PARTITIONS (Padrão: false)
                     Esta  opção habilita o suporte a várias partições em uma fita. Ela aplica-se
                     a todos os dispositivos vinculados à unidade.

              MT_ST_SCSI2LOGICAL (Padrão: false)
                     Esta opção instrui o controlador a usar o endereço lógico de bloco  definido
                     no  padrão SCSI-2 durante as operações de procura e ( com os comandos MTSEEK
                     e MTIOCPOS e durante  alterações  na  partição).  Do  contrário  o  endereço
                     específico  do  dispositivo  é  usado. É altamente recomendável definir esta
                     opção se a unidade suporta os endereços lógicos, porque eles  também  contam
                     as  marcas  de  arquivo. Há algumas unidades que só suportam o endereçamento
                     lógico de bloco.

              MT_ST_SYSV (Padrão: false)
                     Quando esta opção é habilitada, o dispositivo de fita  usa  a  semântica  do
                     System  V.  Do contrário a do BSD é usada. A diferença mais importante entre
                     as semânticas é o que acontece quando um dispositivo usado  para  leitura  é
                     fechado:  na  semântica  System  V a fita é avançada para a próxima marca de
                     arquivo se a mesma não foi encontrada durante a utilização  do  dispositivo.
                     Na semântica BSD a posição da fita não se altera.

              MT_ST_NO_BLKLIMS (Padrão: false)
                     Enables immediate mode (i.e., don't wait for the command to finish) for some
                     commands (e.g., rewind).

              An example:

                  struct mtop mt_cmd;
                  mt_cmd.mt_op = MTSETDRVBUFFER;
                  mt_cmd.mt_count = MT_ST_BOOLEANS |
                          MT_ST_BUFFER_WRITES | MT_ST_ASYNC_WRITES;
                  ioctl(fd, MTIOCTOP, mt_cmd);

              O  tamanho  padrão  do  bloco  para  um   dispositivo   pode   ser   definido   com
              MT_ST_DEF_BLKSIZE  e  a  densidade  padrão  com MT_ST_DEFDENSITY. Uma operação OU é
              executada entre os valores dos parâmetros e o código da operação.

              With Linux 2.1.x and later, the timeout values  can  be  set  with  the  subcommand
              MT_ST_SET_TIMEOUT  ORed  with  the  timeout in seconds.  The long timeout (used for
              rewinds  and  other  commands  that  may  take  a  long  time)  can  be  set   with
              MT_ST_SET_LONG_TIMEOUT.   The  kernel  defaults  are  very long to make sure that a
              successful command is not timed out with any drive.  Because of  this,  the  driver
              may  seem  stuck even if it is only waiting for the timeout.  These commands can be
              used to set more practical values for a specific drive.  The timeouts set  for  one
              device apply for all devices linked to the same drive.

              Starting from Linux 2.4.19 and Linux 2.5.43, the driver supports a status bit which
              indicates whether the drive requests cleaning.  The method used  by  the  drive  to
              return  cleaning  information  is  set  using the MT_ST_SEL_CLN subcommand.  If the
              value is zero, the cleaning bit is always zero.  If the value is one, the TapeAlert
              data defined in the SCSI-3 standard is used (not yet implemented).  Values 2–17 are
              reserved.  If the lowest eight bits are >= 18, bits from the  extended  sense  data
              are  used.  The bits 9–16 specify a mask to select the bits to look at and the bits
              17–23 specify the bit pattern to look for.  If the bit pattern is zero, one or more
              bits  under the mask indicate the cleaning request.  If the pattern is nonzero, the
              pattern must match the masked sense data byte.

   MTIOCGET  obtém o estado
       Esta requisição leva um argumento do tipo (struct mtget *).

           /* structure for MTIOCGET - mag tape get status command */
           struct mtget {
               long     mt_type;
               long     mt_resid;
               /* the following registers are device dependent */
               long     mt_dsreg;
               long     mt_gstat;
               long     mt_erreg;
               /* The next two fields are not always used */
               daddr_t  mt_fileno;
               daddr_t  mt_blkno;
           };

       mt_type
              Arquivo cabeçalho define vários valores para mt_type, mas o  controlador  atual  só
              informa  os  tipos  genéricos  MT_ISSCSI  (Fita  SCSI-1 genérica) e MT_ISSCSI (Fita
              SCSI-2 genérica).

       mt_resid
              contém o número da partição da fita atual.

       mt_dsreg
              reports the drive's current settings for block  size  (in  the  low  24  bits)  and
              density  (in  the  high  8 bits).  These fields are defined by MT_ST_BLKSIZE_SHIFT,
              MT_ST_BLKSIZE_MASK, MT_ST_DENSITY_SHIFT, and MT_ST_DENSITY_MASK.

       mt_gstat
              dá informações  genéricas  do  estado  (independente  do  dispositivo).  O  arquivo
              cabeçalho define macros para testar estes bits de estado:

              GMT_EOF(x)
                     A  fita  está  posicionada  após  a  marca de arquivo (sempre false após uma
                     operação MTSEEK).

              GMT_BOT(x)
                     A fita está posicionada no inicio do primeiro arquivo (sempre false após uma
                     operação MTSEEK).

              GMT_EOT(x)
                     Uma operação da fita alcançou o final físico da Fita.

              GMT_SM(x)
                     A fita está posicionada na setmark (sempre false após uma operação MTSEEK).

              GMT_EOD(x)
                     A fita está posicionada no final do dado gravado.

              GMT_WR_PROT(x)
                     A  unidade  está  protegida contra gravação. Para algumas unidades isto pode
                     significar que a mesma não suporta gravação no tipo mídia atual.

              GMT_ONLINE(x)
                     O último open(2) encontrou uma fita na unidade e pronta para operação.

              GMT_D_6250(x)
              GMT_D_1600(x)
              GMT_D_800(x)
                     Reporta informações de estado “genéricas” sobre a densidade  atual  definida
                     em 9-track enas para unidades de fita de ½".

              GMT_DR_OPEN(x)
                     A unidade não contém uma fita.

              GMT_IM_REP_EN(x)
                     Modo  de Informação Imediata. Este bit é definido se não há garantias que os
                     foram fisicamente gravados na fita quando a chamada de gravação retorna. Ele
                     é  definido  zero  apenas  quando  o  controlador  não buferiza os dados e a
                     unidade está definida para não colocar os dados no 'buffer'.

              GMT_CLN(x)
                     The drive has requested cleaning.  Implemented since Linux 2.4.19 and  Linux
                     2.5.43.

       mt_erreg
              O  único  campo definido em mt_erreg é o contador de erros recuperados, nos 16 bits
              de baixa órdem (como definido por MT_ST_SOFTERR_SHIFT e MT_ST_SOFTERR_MASK). Devido
              a  inconsistências  na  forma  como  as  unidades  informam os erros recuperados, o
              contador freqüentemente não é mantido (a maioria  das  unidades  não  informam  por
              padrão  erros  de  programas,  mas  isto  pode ser alterado com o comando SCSI MODE
              SELECT).

       mt_fileno
              Informa o número atual do arquivo (base-zero). Este valor é -1 quando o  número  do
              arquivo é desconhecido (por exemplo, depois de MTBSS ou MTSEEK).

       mt_blkno
              Informa  o  número  de bloco (base-zero) do arquivo atual. Este valor é -1 quando o
              número do bloco é desconhecido (por exemplo, depois de MTBSF, MTBSS, ou MTSEEK).

   MTIOCPOS  obtém a posição da fita
       This request takes an argument of type (struct mtpos *) and reports the drive's notion  of
       the  current  tape  block  number, which is not the same as mt_blkno returned by MTIOCGET.
       This drive must be a SCSI-2 drive that supports the READ POSITION command (device-specific
       address)  or a Tandberg-compatible SCSI-1 drive (Tandberg, Archive Viper, Wangtek, ... ).

           /* estrutura para MTIOCPOS - comando para obter a posição da fita */
           struct mtpos {
               long mt_blkno;    /* número do bloco atual */
           };

VALOR DE RETORNO

       EACCES Tentando  gravar  ou  apagar  um  fita  com  proteção  a gravação. (Este erro não é
              detetado durante um open(2).)

       EBUSY  O dispositivo já está em uso ou o controlador não conseguiu alocar um 'buffer'.

       EFAULT Os parâmetros do comando  apontam  para  memória  que  não  pertencem  ao  processo
              chamado.

       EINVAL Um ioctl(2) tem um argumento ilegal ou o tamanho do bloco requisita é ilegal.

       EIO    A operação solicitada não pode ser concluida.

       ENOMEM The  byte  count  in  read(2)  is smaller than the next physical block on the tape.
              (Before Linux 2.2.18 and Linux 2.4.0 the extra bytes have been silently ignored.)

       ENOSPC Uma operação de gravação não pode ser concluida  porque  a  fita  chegou  no  final
              físico.

       ENOSYS ioctl(2) desconhecido.

       ENXIO  Durante a abertura o dispositivo de fita não existe.

       EOVERFLOW
              Tentou  ler  ou  gravar  um bloco de tamanho variável que é maior do que o 'buffer'
              interno da unidade.

       EROFS  Tentativa de abrir com O_WRONLY ou O_RDWR quando a fita na unidade  está  protegida
              contra gravação.

ARQUIVOS

       /dev/st*
              Dispositivo de fita SCSI com auto-rebobinamento

       /dev/nst*
              Dispositivo de fita SCSI sem auto-rebobinamento

NOTAS

       •  When  exchanging  data between systems, both systems have to agree on the physical tape
          block size.  The parameters of a drive after  startup  are  often  not  the  ones  most
          operating  systems  use  with these devices.  Most systems use drives in variable-block
          mode if the drive supports that mode.  This applies to most  modern  drives,  including
          DATs,  8mm  helical scan drives, DLTs, etc.  It may be advisable to use these drives in
          variable-block mode also in Linux (i.e., use MTSETBLK or MTSETDEFBLK at system  startup
          to set the mode), at least when exchanging data with a foreign system.  The drawback of
          this is that a fairly large tape block size has to  be  used  to  get  acceptable  data
          transfer rates on the SCSI bus.

       •  Muitos programas (por exemplo, tar(1)) permitem ao usuário especificar o fator de bloco
          na linha de comando. Note que isto determina o tamanho do bloco físico na  fita  apenas
          no modo de bloco variável.

       •  Para poder usar unidades SCSI, o controlador SCSI básico, o controlador da placa SCSI e
          o controlador para fita SCSI deve ser compilado no Linux ou carregado como módulo. Se o
          controlador para fita SCSI não estiver presente, a unidade é reconhecida, mas o suporte
          descrito nesta página não está disponível.

       •  O controlador grava as mensagens de erro no console/log. Os códigos escritos em algumas
          mensagens  são  automáticamente  traduzidos para texto se a exibição das mensagens SCSI
          está habilitada na compilação do Linux.

       •  The driver's internal buffering allows good throughput in fixed-block  mode  also  with
          small  read(2)   and write(2)  byte counts.  With direct transfers this is not possible
          and may cause a surprise when moving to the 2.6 kernel.  The solution is  to  tell  the
          software  to  use larger transfers (often telling it to use larger blocks).  If this is
          not possible, direct transfers can be disabled.

VEJA TAMBÉM

       mt(1)

       The file drivers/scsi/README.st or Documentation/scsi/st.txt (kernel >= 2.6) in the  Linux
       kernel  source  tree  contains  the  most  recent  information  about  the  driver and its
       configuration possibilities

TRADUÇÃO

       A tradução para português brasileiro desta página man foi criada  por  Fábio  Henrique  F.
       Silva <fabiohfs@mail.com> e Carlos Augusto Horylka <horylka@conectiva.com.br>

       Esta  tradução  é  uma  documentação  livre;  leia  a  Licença  Pública Geral GNU Versão 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ ou posterior para  as  condições  de  direitos
       autorais.  Nenhuma responsabilidade é aceita.

       Se  você  encontrar  algum erro na tradução desta página de manual, envie um e-mail para a
       lista de discussão de tradutores ⟨debian-l10n-portuguese@lists.debian.org⟩.