File: st.4

package info (click to toggle)
manpages-pt 20040726-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,988 kB
  • sloc: sh: 45; makefile: 16
file content (693 lines) | stat: -rw-r--r-- 28,847 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
.\" -*- nroff -*-
.\" Copyright 1995 Robert K. Nichols (Robert.K.Nichols@att.com)
.\" Copyright 1999 Kai Mkisara (Kai.Makisara@metla.fi)
.\"
.\" A redistribuio de cpias deste manual  permitida, desde que acom-
.\" panhadas deste aviso de copyright e desta permisso.
.\"
.\" A distribuio de verses modificadas deste manual  permitida, desde
.\" que, sob as condies descritas acima e o trabalho derivado do origi-
.\" nal seja distribuido sob os mesmos termos desta permisso.
.\" 
.\" Uma vez que o Linux e as bibliotecas esto constantemente sendo alte-
.\" radas, esta pgina de manual pode estar incorreta ou desatualizada. O
.\" autor no assume quaisquer responsibilidades por erros ou omisses ou
.\" por danos resultantes por uso das informaes obtidas aqui. O autor
.\" pode no ter tomado os mesmos nveis de cuidados na produo deste ma-
.\" nual, que  licenciado sem cobrana de taxas, como se ele fosse produ-
.\" zido comercialmente.
.\" 
.\" Verses formatadas ou processadas deste manual, se no vier com os fon-
.\" tes, devem ter o aviso de copyright e relacionado os autores do mesmo.
.TH ST 4  "18/01/1999" "Linux 2.0 - 2.2" "Manual do Programador Linux"
.SH NOME
st \- Dispositivo de Fita SCSI
.SH SINOPSE
.nf
.B #include <sys/mtio.h>
.sp
.BI "int ioctl(int " fd ", int " request " [, (void *)" arg3 "])"
.BI "int ioctl(int " fd ", \s-1MTIOCTOP\s+1, (struct mtop *)" mt_cmd ")"
.BI "int ioctl(int " fd ", \s-1MTIOCGET\s+1, (struct mtget *)" mt_status ")"
.BI "int ioctl(int " fd ", \s-1MTIOCPOS\s+1, (struct mtpos *)" mt_pos ")"
.fi
.SH DESCRIO
O driver 
.B st
prov a interface para vrios dispositivos de fita SCSI.
Atualmente, o driver controla todos os dispositivos detetados do tipo
\(lqacesso-seqencial.\(rq
O driver 
.B st
usa o nmero de dispositvo maior 9.
.PP
Cada dispositivo usa oito nmeros menores. Os cinco bits de menor ordem
nos nmeros menores so atribuidos seqencialmente na ordem em que so
detetados. Os nmeros menores podem ser agrupados em
dois conjuntos de quatro nmeros. os nmeros menores principais (auto-rebobinamento), 
.IR n ,
e um nmero de dispositivo \(lqsem rebobinamento\(rq nmeros de dispositivo,
.IR "" ( n "+ 128)."
Os dispositivos abertos usando o nmero principal recebero o comando
\s-1REWIND\s+1 que os rebobinar quando forem fechados.
Dispositivos abertos usando o \(rqnmero de dispositvo\(lqsem rebobinamento.
(Observe que usando um dispositivo com auto-rebobinamento, ao posicionar a fita,
por exemplo, o mt no d o resultado desejado: a fita 
rebobinada depois do comando mt e o prximo comando atua a
partir do inicio da fita).
.PP
Em cada grupo, quatro nmeros menores esto disponveis para definir 
dispositivos com caractersticas diferentes (tamanho do bloco,
compresso, densidade, etc). Quando o sistema inicia, apenas o primeiro dispositivo est
disponvel. Os outros trs so ativados quando as caractersticas padres
so definidas (veja abaixo). (Alterando as constantes durante a compilao,
 possvel mudar o balano entre o nmero mximo
de unidades de fita e o nmero de menor nmero de dispositivo para cada
unidade. A alocao padro permite controlar 32 unidades de fita.
Por exemplo,  possvel controlar at 64 unidades
com dois nmeros menores para diferentes opes).
.PP
Os dispositivos so tipicamente criados por:
.RS
.nf
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
.fi
.RE
.PP
No h dispositivos de bloco correspondentes.
.PP
O driver usa um buffer interno que tem que ter espao suficiente
para manter no mnimo um bloco de fita. No Linux anterior ao 2.1.121, o buffer 
alocado como um bloco contguo. Isto limita o tamanho do bloco para o
maior bloco contguo de memria que o alocador pode prover.
O limite atual  de 128kB para a arquitetura de 32 bits e 256kB para
a arquitetura de 64 bits. Nas novas verses do Linux o driver aloca 
o buffer em vrias partes se necessrio. Por padro, o nmero mximo
de partes  16. Isto significa que o tamanho mximo do bloco  muito
grande (2 MB se alocado 16 blocos de 128kB).
.PP
O tamanho do buffer interno do driver  determinado por uma constante em tempo de compilao,
que pode ser sobrescrita com uma opo na inicializao do kernel do Linux.
Em adio a isto, o driver tenta alocar um buffer temporrio grande 
em tempo de execuo se necessrio. Porm, a alocao em tempo de execuo
de grandes blocos contguos de memria pode falhar, portanto,
no confie muito em alocao dinmica de buffer em verses anteriores a 2.1.121
(isto tambm se aplica em carga dinmica de driver usando o kerneld e kmod).
.PP
O driver no suporta especificamente qualquer marca ou modelo de
unidade de fita. Depois que o sistema inicia, as opes do dispositivo
de fita so definidas pelo firmware da unidade. Por exemplo, se o 
firmware seleciona o modo de blocagem fixa, a unidade de fita usar 
este modo. As opes podem ser alteradas com chamadas 
.B ioctl()
explcitas e mantidas em efeito quando o dispositivo  fechado e reaberto.
As opes definidas afetam, tanto os dispositivos com auto-rebobinamento,
quanto os sem rebobinamento.
.PP
Opes diferentes podem ser especificadas para dispositivos diferentes,
dentro de um subgrupo de quatro. As opes 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 variveis (se a unidade suportar ambos
os modos).
.PP
O driver suporta 
.B parties
se a unidade de fita suport-las. (As parties em fita no tem nada 
ver com as parties em disco. Uma fita particionada pode ser vista 
como vrias fitas lgicas.) O suporte a 
parties tem que ser habilitado com um ioctl. A localizao 
da fita  preservada em cada partio atravs das alteraes na partio.
A partio usada para operaes subseqentes,
 selecionada com um ioctl. A mudana de partio  executada junto com
a prxima operao para evitar movimento desnecessrio
da fita. O nmero mximo de parties um uma fita  definido por uma 
constante durante a compilao (originalmente quatro). O driver contm 
um ioctl que pode formatar uma fita com uma ou duas parties.
.PP
O dispositivo 
.B /dev/tape
 geralmente criado como um vnculo smblico ou fixo para o dispositivo 
de fita padro no sistema.
.SH "TRANSFERNCIA DE DADOS"
O driver suporta operaes nos modos de blocagem fixa e varivel 
(se suportado pela unidade). No modo de blocagem fixa a unidade grava 
blocos de tamanho especfico e o tamanho do bloco no  dependente do 
contador de bytes gravados, usado pelas chamadas do sistema. No modo 
de blocagem varivel, um bloco  gravado para cada chamada de gravao e
o contador de bytes determina o tamanho do bloco. Observe que os blocos 
na fita, no contm quaisquer informaes sobre o mode de gravao. 
Durante a leitura, o importante  usar comandos que aceitam o tamanho 
dos blocos gravados.
.PP
No modo varivel, o contador de bytes no precisa coincidir exatamente 
com o tamanho do bloco. Se o contador  maior do que o prximo bloco 
na fita, o driver retorna os dados e a funo retorna o tamanho atual 
do bloco. Se o tamanho do bloco  maior do que o contador de bytes, 
a quantidade requisitada de dados  retornada a partir do inicio do 
bloco e o resto  descartado.
.PP
No modo fixo, o contador de bytes lidos pode ser arbitrrio se o 
uso de buffer estiver habilitado ou um mltiplo do tamanho do bloco 
se o buffer estiver desabilitado. O Linux antes da verso 2.1.121 
permite gravao com um contador de byte arbitrrio, se o buffer 
estiver habilitado. Em todos os casos, o contador de bytes de 
gravados deve ser um mltiplo do tamanho do bloco.
.PP
Um marcador de arquivo  automticamente gravado na fita se a
ltima operao na fita antes de fech-la foi uma gravao.
.PP
Quando um marcador de arquivo  encontrado enquanto lendo, a seguinte
 comcludo. Se houver dados no buffer quando um marcador de arquivo
 encontrado, estes dados sero retornados. A prxima leitura retornar zero
bytes. A leitura seguinte retornar os dados do prximo arquivo. O fim dos 
dados gravados  sinalizado pelo retorno de zero bytes durante duas leituras 
consecutivas. A terceira leitura retornar um erro.
.SH "IOCTLS"
O driver suporta trs requisitos ioctl.
Os requisitos no reconhecidos pelo driver 
.B st
so passados para o driver 
.B SCSI
.
As definies abaixo so do 
.BR /usr/include/linux/mtio.h :
.SS "\s-1MTIOCTOP\s+1 \- Executa uma operao de fita"
.PP
Este requisito leva um argumento do tipo 
.BR "(struct mtop *)" .
Nem todos as unidades suportam todas as operaes.
O driver retorna um erro EIO se a unidade rejeitar uma operao.
.PP
.nf
.ta +.4i +.7i +1i
/* Estrutura do \s-1MTIOCTOP\s+1 \- comando op de fita mag: */
struct mtop {
	short	mt_op;		/* operaes definidas abaixo */
	int	mt_count;	/* quantidade delas */
};
.fi
.PP
Operaes de fita magnticas para uso normal:
.PD 0
.IP MTBSF 14
Retrocede espaos sobre
.B mt_count
marcadores de arquivos.
.IP MTBSFM
Retrocede espaos sobre
.B mt_count
marcadores de arquivos.
Reposiciona a fita no lado EOT ltimo marcador de arquivo.
.IP MTBSR
Retrocede espaos sobre
.B mt_count
registros (blocos da fita).
.IP MTBSS
Retrocede espaos sobre
.B mt_count
setmarks.
.IP MTCOMPRESSION
Habilita compresso de dados se 
.B mt_count
no for zero e desabilita a compresso se 
.B mt_count
 zero. Este comando usa o MODO page 15 suportado pela maioria das fitas DATs.
.IP MTEOM
Vai para o final da mdia gravada (para acrescentar arquivos).
.IP MTERASE
Apaga a fita.
.IP MTFSF
Avana 
.B mt_count
marcadores de arquivos.
.IP MTFSFM
Avana 
.B mt_count
marcadores de arquivos.
Reposiciona a fita no lado BOT do ltimo marcado de arquivo.
.IP MTFSR
Avana espaos sobre
.B mt_count
registro (blocos da fita).
.IP MTFSS
Avana espaos sobre
.B mt_count
setmarks.
.IP MTLOAD
Executa o comando load SCSI. Um caso especial est disponvel para 
alguns carregadores automticos HP. Se
.B mt_count
 a constante MT_ST_HPLOADER_OFFSET mais um nmero, o nmero  
enviando para a unidade controlar a carga automtica.
.IP MTLOCK
Bloqueia a porta da unidade de fita.
.IP MTMKPART
Formata a fita em uma ou duas parties. Se 
.B mt_count
no for zero, ele d o tamanho da primeira partio e a segunda partio 
contm o resto da fita. Se 
.B mt_count
for zero, a fita  formatada com um partio.
Este comando no  permitido em uma unidade a menos que o suporte a 
esteja habilitado (veja MT_ST_CAN_PARTITIONS abaixo).
.IP MTNOP
Nenhuma operao \- descarrega o buffer do driver.
Ele pode ser usado antes de ler o estado com \s-1MTIOCGET\s+1.
.IP MTOFFL
Rebobina a fita e coloca a unidade fora de linha.
.IP MTRESET
Reinicia a unidade.
.IP MTRETEN
Retensiona a fita.
.IP MTREW
Rebobina.
.IP MTSEEK
Posiciona no nmero de bloco especificado em
.BR mt_count .
Esta operao requer uma unidade SCSI-2 que suporte o comando \s-1LOCATE\s+1
(endereo de dispositivo especfico)
ou uma unidade Tandberg-compatvel SCSI-1 (Tandberg, Archive
Viper, Wangtek, ... ).
O nmero do bloco dever ser aquele previamente retornado pelo 
\s-1MTIOCPOS\s+1 se o endereo especfico do dispositivo foi usado.
.IP MTSETBLK
Define o tamanho do bloco para o valor especificado em 
.BR mt_count .
Um tamanho de zero define o modo de bloco de tamanho varivel.
.IP MTSETDENSITY
Define a densidade para o cdigo em 
.BR mt_count .
O cdigo de densidade suportado pela unidade pode ser encontrado na 
documentao da unidade.
.IP MTSETPART
A partio  alternada para 
.B mt_count .
As parties so numeradas a partir de zero. Este comando no  permitido 
em uma unidade, a menos que o suporte a parties esteja habilitado (veja 
MT_ST_CAN_PARTITIONS abaixo).
.IP MTUNLOAD
Executa o comando SCSI unload (no ejeta a fita).
.IP MTUNLOCK
Desbloqueia a porta da unidade de fita.
.IP MTWEOF
Grava 
.B mt_count
marcadores de arquivos.
.IP MTWSM
Grava 
.B mt_count
setmarks.
.PD
.PP
Operaes de Fita Magntica para configurar opes de dispositivo (superusurio):
.PD 0
.IP MTSETDRVBUFFER 8
Define vrias opes de driver e unidade de acordo com os bits codificados em 
.BR mt_count .
Isto consiste do modo de buferizao da unidade, 13 opes Booleanas 
da unidade, os limites de gravao do buffer, padres para o tamanho do 
bloco e densidade e limites de tempo (apenas no Linux >= 2.1).
Uma operao simples s pode afetar um tem na lista acima (as opes 
Booleanas contadas com um tem.)
.PD
.IP
Um valor zero nos 4 bits de alta rdem ser usado para definir o modo 
de buferizao da unidade de fita.
Os modos de buferizao so:
.RS 12
.IP 0 4
A unidade no informar o estado \s-1GOOD\s+1 nos comandos de gravao at
que os blocos de dados sejam gravados na mdia.
.PD 0
.IP 1
A unidade informar o estado \s-1GOOD\s+1 nos comandos de gravao assim que
todos os dados tenham sido transferidos do buffer interno da unidade.
.IP 2
A unidade pode informar o estado \s-1GOOD\s+1 nos comandos de gravao assim
que: (a) os dados foram transferido do buffer interno da unidade e (b) todos 
os dados em buffers de inicializadores diferentes foram gravados com sucesso 
para a mdia.
.PD
.RE
.IP ""
Para controlar o limite de gravao, o valor em 
.B mt_count
deve incluir a constante 
\s-1MT_ST_WRITE_THRESHOLD\s+1 logicamente ORed com um contador de bloco nos 
28 bits inferiores.
O contador de bloco refere-se a blocos de 1024-byte e no ao tamanho fsico 
dos blocos na fita.
Os limites no podem exceder o tamanho do buffer interno da unidade (veja 
.BR \s-1DESCRIO\s+1 ,
acima).
.IP
Para definir e limpar as opes Booleanas
o valor em 
.B mt_count
deve incluir uma das constantes \s-1MT_ST_BOOLEANS\s+1,
\s-1MT_ST_SETBOOLEANS\s+1, \s-1MT_ST_CLEARBOOLEANS\s+1 ou
\s-1MT_ST_DEFBOOLEANS\s+1 logicamente ORed com
qualquer combinao das opes a seguir  desejvel.
Usando \s-1MT_ST_BOOLEANS\s+1 as opes podem ser definidas para valores 
definidos nos bits correspondentes. Com \s-1MT_ST_SETBOOLEANS\s+1 as
opes podem ser seletivamente definidas e com \s-1MT_ST_DEFBOOLEANS\s+1
seletivamente limpas.
.IP ""
As opes padres para um dispositivo de fita podem ser definidas com 
\s-1MT_ST_DEFBOOLEANS\s+1. Um dispositivo de fita inativo (i.e., um 
dispositivo com nmero menor 32 ou 160)  ativado quando as opes padres
para ele so definidas na primeira vez. Um dispositivo ativado herda daquele 
ativado na inicializao as opes no definidas explicitamente.
.IP ""
As opes Booleanas so:
.IP
.PD 0
.RS
.IP "\s-1MT_ST_BUFFER_WRITES\s+1  (Padro: true)"
Coloca no buffer todas as operaes de gravao usando a blocagem fixa.
Se esta opo  false e a unidade usa um bloco de tamanho fixo, ento
todas as operaes de gravao devem usar um mltiplo do tamanho do bloco.
Esta opo deve ser definida como falsa para se obter uma gravao confivel em sistemas multi-volumes.
.IP "\s-1MT_ST_ASYNC_WRITES\s+1  (Padro: true)"
Quando esta opo  verdadejra, a operao de gravao retorna imediatamente 
sem esperar que os dados sejam transferidos para a unidade se os dados
esto ajustados dentro do buffer da unidade.  
O limite de gravao determina quando o buffer est cheio mas depois
um novo comando de escrita SCSI  usado.
Quaisquer erros relatados pela unidade sero retidos at a prxima 
operao.
Esta opo deve ser definida como falsa para se obter uma gravao confivel em sistemas multi-volumes.
.IP "\s-1MT_ST_READ_AHEAD\s+1  (Padro: true)"
Esta opo faz o driver prover leitura buferizada e leitura
a frente em blocos fixos.
Se esta opo  false e a unidade usa um tamanho de bloco fixo, 
todas as operaes de leitura devem ser mltiplos do tamanho do bloco.
.IP "\s-1MT_ST_TWO_FM\s+1  (Padro: false)"
Esta opo modifica as caractersticas do driver quando um arquivo  fechado.
A ao normal  gravar uma marca de arquivo simples.
Se esta opo  true o driver gravar duas marcas de arquivo e 
um caracter de retrocesso sobre a ltima marca.
.PD
.IP
Nota:
Esta opo no pode ser true para unidades de fita QIC uma vez que elas 
no 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 tambm 
detetam o final dos dados gravados e o uso das duas marcas de arquivo 
so necessria apenas quando h intercambio de fita com outros sistemas.
.PP
.PD 0
.IP "\s-1MT_ST_DEBUGGING\s+1  (Padro: false)"
Esta opo ativa vrias mensagens de depurao de erros do driver 
(s tem efeito se o driver foi compilado com \s-1DEBUG\s+1 definido 
com valor diferente de zero).
.IP "\s-1MT_ST_FAST_EOM\s+1  (Padro: false)"
Esta opo envia a operao \s-1MTEOM\s+1 diretamente para a unidade, 
potencialmente acelera a operao, mas causa perda de trilhas do 
nmero de arquivo atual, normalmente retornado pela requisio 
\s-1MTIOCGET\s+1.
Se \s-1MT_ST_FAST_EOM\s+1  false o driver responder a um requisito 
\s-1MTEOM\s+1 repassando espaos sobre o arquivo.
.IP "\s-1MT_ST_AUTO_LOCK\s+1 (Padro: false)"
Quando esta opo  true, a porta da unidade  bloqueada quando o 
dispositivo  aberto e desbloqueada quando ele  fechado.
.IP "\s-1MT_ST_DEF_WRITES\s+1 (Padro: false)"
As opes da fita (tamanho do bloco, modo, compresso, etc.) pode variar
quando muda-se de um dispositivo vinculado a uma unidade, para outro 
vinculado a mesma unidade dependendo de como os dispositivos esto 
definidos. Esta opo define quando as mudanas so foradas pelo driver 
atravs de comandos SCSI e quando a unidade auto-deteta que as capacidades 
so confiveis. Se esta opo  false, o driver envia os comandos SCSI 
imediatamente quando o dispositivo  alterado. Se a opo 
 true, os comandos SCSI no so enviados at que uma gravao seja 
requisitada. Neste caso o firmware da unidade tem permisso para detetar a 
estrutura da fita durante a leitura e os comandos SCSI so usados apenas para 
certificar-se que a fita  gravada de acordo com a especificao correta.
.IP "\s-1MT_ST_CAN_BSR\s+1 (Padro: false)"
Quando a leitura a frente  usada, a fita deve algumas vezes ser rebobinada 
para a posio correta quando o dispositivo  fechado e o comando SCSI para 
efetuar esta tarefa  usado. Algumas unidades antigas no podem processar 
este comando confiavelmente e esta opo pode ser usada para instruir o 
a no us-lo. O resultado final  que, com leitura a frente 
e o modo de bloco fixo, a fita no pode ser corretamente posicionada no 
arquivo quando o dispositivo  fechado.
.IP "\s-1MT_ST_NO_BLKLIMS\s+1 (Padro: false)"
Algumas unidades no aceitam o comando SCSI READ BLOCK LIMITS. Se ele  
usado, o driver no us-o. A desvantagem  que o driver no pode checar 
antes de enviar os comandos se o tamanho de bloco selecionado  aceitvel 
pela unidade de fita.
.IP "\s-1MT_ST_CAN_PARTITIONS\s+1 (Padro: false)"
Esta opo habilita o suporte a vrias parties em uma fita. 
Ela aplica-se a todos os dispositivos vinculados  unidade.
.IP "\s-1MT_ST_SCSI2LOGICAL\s+1 (Padro: false)"
Esta opo instrui o driver a usar o endereo lgico de bloco definido 
no padro SCSI-2 durante as operaes de procura e 
( com os comandos MTSEEK e MTIOCPOS e durante alteraes 
na partio). Do contrrio o endereo especfico do dispositivo  usado.
 altamente recomendvel definir esta opo se a unidade suporta os 
endereos lgicos, porque eles tambm contam as marcas de arquivo. H 
algumas unidades que s suportam o endereamento lgico de bloco.
.IP "\s-1MT_ST_SYSV\s+1 (Padro: false)"
Quando esta opo  habilitada, o dispositivo de fita usa a semntica 
do SystemV. Do contrrio a do BSD  usada. A diferena mais importante 
entre as semnticas  o que acontece quando um dispositivo usado para 
leitura  fechado: na semntica SYSV a fita  avanada para a prxima 
marca de arquivo se a mesma no foi encontrada durante a utilizao 
do dispositivo. Na semntica BSD a posio da fita no se altera.
.IP \s-1EXEMPLO\s+1
.nf
.ta +.4i +.7i +1i
.BI "struct mtop " mt_cmd ;
.IB "mt_cmd.mt_op" " = \s-1MTSETDRVBUFFER\s+1;"
.IB "mt_cmd.mt_count" " = \s-1MT_ST_BOOLEANS\s+1 |"
.B "		\s-1MT_ST_BUFFER_WRITES\s+1 |"
.B "		\s-1MT_ST_ASYNC_WRITES\s+1;"
.BI "ioctl(" fd ", \s-1MTIOCTOP\s+1, &" mt_cmd ");"
.fi
.RE
.PD
.IP ""
O tamanho padro do bloco para um dispositivo pode ser definido com 
\s-1MT_ST_DEF_BLKSIZE\s+1 e a densidade padro com 
\s-1MT_ST_DEFDENSITY\s+1. Uma operao OU  executada entre os valores 
dos parmetros e o cdigo da operao.
.IP ""
Com o Linux 2.1.x e posteriores, os limites de tempo podem ser definidos 
com o subcomando \s-1MT_ST_SET_TIMEOUT\s+1 e um OU do tempo em segundos.
O limite longo  (usado para rebobinamento e outros comandos 
que levam muito tempo) pode ser definido com 
\s-1MT_ST_SET_LONG_TIMEOUT\s+1. O padro do Linux  muito longo para 
certificar-se que um comando falhou por ter excedido o limite de tempo 
em qualquer unidade. Por isso o driver pode parecer travar, mesmo que ele  
seja o nico em espera. Estes comandos podem ser usados para definir  
valores mais prticos para unidades especficas. O limite definido para um 
dispositivo, aplica-se a todos que estejam vinculados a mesma unidade.
.SS "\s-1MTIOCGET\s+1 \- Obtm o estado"
.PP
Esta requisio leva um argumento do tipo 
.BR "(struct mtget *)" .
.PP
.nf
/* estrutura para \s-1MTIOCGET\s+1 - comando para obter o estado da fita */
struct mtget {
	long	mt_type;
	long	mt_resid;
	/* os registradores abaixo so dependentes do dispositivo */
	long	mt_dsreg;
	long	mt_gstat;
	long	mt_erreg;
	/* Os dois campos a seguit nem sempre so usados */
	daddr_t	mt_fileno;
	daddr_t	mt_blkno;
};
.fi
.IP \fBmt_type\fP 11
Arquivo cabealho define vrios valores para 
.BR mt_type ,
mas o driver atual s informa os tipos genricos 
\s-1MT_ISSCSI1\s+1 (Fita SCSI-1 genrica) e \s-1MT_ISSCSI2\s+1 (Fita SCSI-2 genrica).
.PD 0
.IP \fBmt_resid\fP
contm o nmero da partio da fita atual.
.IP \fBmt_dsreg\fP
informa a definio de tamanho de bloco da unidade atual (nos 24 bits 
baixos) e densidade (nos 8 bits altos).
Estes campos so definidos por \s-1MT_ST_BLKSIZE_SHIFT\s+1, \s-1MT_ST_BLKSIZE_MASK\s+1,
\s-1MT_ST_DENSITY_SHIFT\s+1 e \s-1MT_ST_DENSITY_MASK\s+1.
.IP \fBmt_gstat\fP
d informaes genricas do estado (independente do dispositivo).
O arquivo cabealho define macros para testar estes bits de estado:
.RS
.HP 4
\s-1GMT_EOF(\s+1\fIx\fP\s-1)\s+1:
A fita est posicionada aps a marca de arquivo
(sempre false aps uma operao \s-1MTSEEK\s+1).
.HP
\s-1GMT_BOT(\s+1\fIx\fP\s-1)\s+1:
A fita est posicionada no inicio do primeiro arquivo (sempre false
aps uma operao \s-1MTSEEK\s+1).
.HP
\s-1GMT_EOT(\s+1\fIx\fP\s-1)\s+1:
Uma operao da fita alcanou o final fsico da Fita.
.HP
\s-1GMT_SM(\s+1\fIx\fP\s-1)\s+1:
A fita est posicionada na setmark
(sempre false aps uma operao \s-1MTSEEK\s+1).
.HP
\s-1GMT_EOD(\s+1\fIx\fP\s-1)\s+1:
A fita est posicionada no final do dado gravado.
.HP
\s-1GMT_WR_PROT(\s+1\fIx\fP\s-1)\s+1:
A unidade est protegida contra gravao.
Para algumas unidades isto pode significar que a mesma no suporta 
gravao no tipo mdia atual.
.HP
\s-1GMT_ONLINE(\s+1\fIx\fP\s-1)\s+1:
O ltimo 
.B open()
encontrou uma fita na unidade e pronta para operao.
.HP
\s-1GMT_D_6250(\s+1\fIx\fP\s-1)\s+1, \s-1GMT_D_1600(\s+1\fIx\fP\s-1)\s+1, \s-1GMT_D_800(\s+1\fIx\fP\s-1)\s+1:
Reporta informaes de estado \(lqgenricas\(rq sobre a densidade 
atual definida em 9-track \(Apenas para unidades de fita de 12".
.HP
\s-1GMT_DR_OPEN(\s+1\fIx\fP\s-1)\s+1:
A unidade no contm uma fita.
.HP
\s-1GMT_IM_REP_EN(\s+1\fIx\fP\s-1)\s+1:
Modo de Informao Imediata. Este bit  definido se no h garantias que os
foram fisicamente gravados na fita quando a chamada de gravao retorna. 
Ele  definido zero apenas quando o driver no buferiza os dados e a 
unidade est definida para no colocar os dados no buffer.
.RE
.IP \fBmt_erreg\fP
O nico campo definido em
.B mt_erreg
 o contador de erros recuperados, nos 16 bits de baixa rdem (como definido 
por\s-1MT_ST_SOFTERR_SHIFT\s+1 e \s-1MT_ST_SOFTERR_MASK\s+1).
Devido a inconsistncias na forma como as unidades informam os erros recuperados,
o contador freqentemente no  mantido (a maioria das unidades 
no informam por padro erros de programas, mas isto pode ser alterado com o comando SCSI MODE SELECT).
.IP \fBmt_fileno\fP
Informa o nmero atual do arquivo (base-zero).
Este valor  -1 quando o nmero do arquivo  desconhecido (i.e., depois de 
\s-1MTBSS\s+1
ou \s-1MTSEEK\s+1).
.IP \fBmt_blkno\fP
Informa o nmero de bloco (base-zero) do arquivo atual.
Este valor  -1 quando o nmero do bloco  desconhecido (i.e., depois de 
\s-1MTBSF\s+1,
\s-1MTBSS\s+1, ou \s-1MTSEEK\s+1).
.PD
.SS "\s-1MTIOCPOS\s+1 \- Obtm a posio da fita."
.PP
Este requesito aceita um argumento do tipo 
.B "(struct mtpos *)"
e informa a noo da unidade do nmero de bloco da fita atual,
que no  o mesmo que 
.B mt_blkno
retornado por \s-1MTIOCGET\s+1.
A unidade deve ser uma SCSI-2 que suporte o comando \s-1READ POSITION\s+1
(endereo especfico do dispositivo)
ou uma unidade SCSI-1 Tandberg-compatvel (Tandberg, Archive
Viper, Wangtek, ... ).
.PP
.nf
/* estrutura para \s-1MTIOCPOS\s+1 - comando para obter a posio da fita */
struct	mtpos {
	long 	mt_blkno;	/* nmero do bloco atual */
};

.fi
.SH "VALOR RETORNADO"
.IP EIO 14
A operao solicitada no pode ser concluida.
.IP ENOSPC
Uma operao de gravao no pode ser concluida porque a fita 
chegou no final fsico.
.IP EACCES
Tentando gravar ou apagar um fita com proteo a gravao.
(Este erro no  detetado durante um 
.BR open() .)
.IP EFAULT
Os parmetros do comando apontam para memria que no pertencem ao 
processo chamado.
.IP ENXIO
Durante a abertura o dispositivo de fita no existe.
.IP EBUSY
O dispositivo j est em uso ou o driver no conseguiu alocar um 
buffer.
.IP EOVERFLOW
Tentou ler ou gravar um bloco de tamanho varivel que  maior do que
o buffer interno da unidade.
.IP EINVAL
Um
.B ioctl()
tem um argumento ilegal ou o tamanho do bloco requisita  ilegal.
.IP ENOSYS
.BR ioctl()
desconhecido.
.IP EROFS
Tentativa de abrir com O_WRONLY ou O_RDWR quando a fita na unidade est
protegida contra gravao.
.SH ARQUIVOS
/dev/st*  : Dispositivo de fita SCSI com auto-rebobinamento
.br
/dev/nst* : Dispositivo de fita SCSI sem auto-rebobinamento
.SH AUTOR
O driver foi escrito por Kai M\(:akisara (Kai.Makisara@metla.fi)
a partir de um driver escrito por Dwayne Forsyth. Vrias outras 
pessoas tambm contribuiram com o driver.
.SH "VEJA TAMBM"
.BR mt (1)
.PP
O arquivo README.st nos fontes do Linux contm informaes mais 
recentes sobre o driver e suas possibilidades de 
configurao.
.SH NOTAS
1. Quando trocar dados entre sistemas, ambos tem que usar o mesmo 
tamanho de bloco fsico da fita. Os parmetros da unidade aps a 
inicializao freqentemente no so os mesmos que o sistema usa 
para o dispositivo. A maioria dos sistema usam unidades no modo de
blocagem varivel, se a mesma suportar. Isto aplica-se a maioria 
das unidades modernas, incluindo DATs, 8mm, DLTs, etc. Pode ser 
oportuno usar esta unidades em modo varivel tambm no Linux (i.e 
usa MTSETBLK ou MTSETDEFBLK na inicializao para definir o modo), ao menos 
quando trocar dados com outros sistemas. A desvantagem disto 
 que um tamanho de bloco suficientemente grande tem que ser usado 
para obter uma taxa de transferncia aceitvel em barramento SCSI.
.PP
2. Muitos programas (por ex., tar) permitem ao usurio especificar o fator 
de bloco na linha de comando. Note que isto determina o tamanho do bloco 
fsico na fita apenas no modo de bloco varivel.
.PP
3. Para poder usar unidades SCSI, o driver SCSI bsico,
o driver da placa SCSI e o driver para fita SCSI deve ser 
compilado no Linux ou carregado como mdulo. Se o driver para 
fita SCSI no estiver presente, a unidade  reconhecida, mas o suporte 
descrito nesta pgina no est disponvel.
.PP
4. O driver grava as mensagens de erro no console/log. Os cdigos 
escritos em algumas mensagens so automticamente traduzidos para texto 
se a exibio das mensagens SCSI est habilitada na compilao do Linux.
.SH DIREITOS AUTORAIS
Copyright \(co 1995 Robert K. Nichols.
.br
Copyright \(co 1999 Kai M\(:akisara.
.PP
 permitido fazer e distribuir cpias deste
manual desde que o aviso de direitos autorais e esta permisso esteja
presente em todas as cpias.
Permisses adicionais esto contidas nos cabealhos do arquivo fonte.
.SH TRADUO E REVISO PARA LNGUA PORTUGUESA
\&\fR\&\f(CWFbio Henrique F. Silva <fabiohfs@eol.com.br> (traduo)\fR
\&\fR\&\f(CWCarlos Augusto Horylka <horylka@conectiva.com.br> (reviso)\fR