home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / e / portug.txt < prev    next >
Text File  |  2020-01-01  |  169KB  |  4,157 lines

  1. .po12
  2. .op
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. KK    KK    EEEEEEEE  RRRRRRRR   MM     MM  IIII  TTTTTTTTTT
  11. KK   KK     EE        RR     RR  MMM   MMM   II       TT
  12. KK  KK      EE        RR     RR  MMMM MMMM   II       TT
  13. KK KKKK     EEEEEE    RRRRRRRR   MM MMM MM   II       TT
  14. KKKK  KK    EE        RR   RR    MM  M  MM   II       TT
  15. KK     KK   EE        RR    RR   MM     MM   II       TT
  16. KK      KK  EEEEEEEE  RR     RR  MM     MM  IIII      TT
  17.  
  18. ____________________________________________________________
  19. ____________________________________________________________
  20.  
  21.  
  22.           GGGGGGG  UU      UU  IIII   AAAAAAAA 
  23.          GG        UU      UU   II   AA      AA
  24.          GG        UU      UU   II   AA      AA
  25.          GG  GGGG  UU      UU   II   AA      AA
  26.          GG    GG  UU      UU   II   AAAAAAAAAA
  27.          GG    GG  UU      UU   II   AA      AA
  28.           GGGGGGG   UUUUUUUU   IIII  AA      AA
  29.  
  30.  
  31.                    DDDDDDDD     OOOOOOO
  32.                    DD     DD   OO     OO
  33.                    DD     DD   OO     OO
  34.                    DD     DD   OO     OO
  35.                    DD     DD   OO     OO
  36.                    DD     DD   OO     OO
  37.                    DDDDDDDD     OOOOOOO
  38.  
  39.                                    '
  40.  UU    UU  SSSSSS  UU    UU  AAAAAA  RRRRRRR  IIII  OOOOOO
  41.  UU    UU SS       UU    UU AA    AA RR    RR  II  OO    OO
  42.  UU    UU SS       UU    UU AA    AA RR    RR  II  OO    OO
  43.  UU    UU  SSSSSS  UU    UU AA    AA RRRRRRR   II  OO    OO
  44.  UU    UU       SS UU    UU AAAAAAAA RR  RR    II  OO    OO
  45.  UU    UU SS    SS UU    UU AA    AA RR   RR   II  OO    OO
  46.   UUUUUU   SSSSSS   UUUUUU  AA    AA RR    RR IIII  OOOOOO 
  47.  
  48. ____________________________________________________________
  49. ____________________________________________________________
  50.  
  51. Quinta Edic,a~o                     Brasi'lia, setembro de 1986
  52. .pa
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.                   KERMIT - Guia do Usua'rio
  72.  
  73.                        Quinta Edic,a~o
  74.  
  75.                        Frank da Cruz
  76.     Columbia University Center for Computing Activities
  77.                     New York, NY, 10027
  78.  
  79.             Copyright (C) 1981, 1982, 1983, 1984
  80.   Trustees of Columbia University in the City of New York
  81.  
  82.             Traduc,a~o de J. Ricardo B. Ghirlanda
  83.        Telecomunicac,o~es Brasileiras S. A. - TELEBRAS
  84.                     Brasi`lia - DF, 1986
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.      E' permitida e, mesmo, incentivada, a co'pia e divulgac,a~o 
  106. de  qualquer  parte deste manual,  desde que para  fins  na~o 
  107. comerciais.
  108. .foKERMIT - Guia do Usua'rio                                   i
  109.  
  110.  
  111.  
  112.                           SUMA'RIO
  113.  
  114.  
  115.    Prefa'cio .............................................iii
  116.    Um Pouco de Histo'ria..................................iii
  117.    Pedidos de Informac,a~o..................................iv
  118.  
  119. 1. Introduc,a~o..............................................1
  120.  
  121.  
  122. 2. Como usar o KERMIT......................................4
  123.  
  124.    2.1. O programa KERMIT..................................4
  125.    2.2. Falando com dois computadores de uma vez...........5
  126.    2.3. Transferindo um arquivo............................6
  127.    2.4. Comandos ba'sicos...................................7
  128.    2.5. Exemplos reais.....................................9
  129.         2.5.1. MICRO  ---  HOST............................9
  130.         2.5.2. HOST   ---  HOST...........................11
  131.         2.5.3. MICRO  ---  MICRO..........................13
  132.    2.6. Outra maneira: o SERVIDOR.........................14
  133.  
  134.  
  135. 3. Quando as coisas va~o mal...............................17
  136.  
  137.    3.1. Problemas com a linha de comunicac,a~o..............17
  138.    3.2. A transfere^ncia ficou presa.......................18
  139.    3.3. O micro se enganchou..............................19
  140.    3.4. O host sumiu......................................19
  141.    3.5. O disco esta' cheio................................19
  142.    3.6. Interfere^ncia de mensagens........................20
  143.    3.7. Erros no host.....................................20
  144.    3.8. O arquivo e' lixo..................................20
  145.    3.9. Veio lixo depois do fim do arquivo................20
  146.  
  147.  
  148. 4. Comandos KERMIT........................................22
  149.  
  150.    4.1.  Operac,a~o remota e local..........................22
  151.    4.2.  Interface de comandos............................23
  152.    4.3.  Notac,a~o..........................................24
  153.    4.4.  Suma'rio dos comandos KERMIT......................25
  154.    4.5.  SEND.............................................26
  155.    4.6.  RECEIVE..........................................28
  156.    4.7.  GET..............................................29
  157.    4.8.  SERVER...........................................30
  158.    4.9.  BYE..............................................30
  159.    4.10. FINISH...........................................30
  160.    4.11. REMOTE...........................................30
  161.    4.12. LOCAL............................................32
  162.    4.13. CONNECT..........................................32
  163.    4.14. HELP.............................................33
  164. .foKERMIT: Guia do Usua'rio                                   ii
  165.    4.15. TAKE.............................................33
  166.    4.16. EXIT, QUIT.......................................33
  167.    4.17. O comando SET....................................33
  168.    4.18. DEFINE...........................................43
  169.    4.19. SHOW.............................................43
  170.    4.20. STATISTICS.......................................44
  171.    4.21. LOG..............................................44
  172.    4.22. TRANSMIT.........................................44
  173.  
  174.  
  175. 5. Implementac,o~es do KERMIT...............................45
  176.  
  177. 6. KERMIT para IBM VM/CMS.................................47
  178.  
  179.    6.1.  SEND.............................................48
  180.    6.2.  RECEIVE FN FT FM.................................48
  181.    6.3.  SET..............................................48
  182.    6.4.  SHOW.............................................49
  183.    6.5.  STATUS...........................................49
  184.    6.6.  CMS..............................................49
  185.    6.7.  CP...............................................49
  186.    6.8.  HELP.............................................49
  187.    6.9.  Fatos Relevantes.................................49
  188.    6.10. Mensagens do sistema.............................51
  189.  
  190.  
  191. 7. KERMIT para CP/M-80....................................53
  192.  
  193.    7.1 Suma'rio do CP/M....................................53
  194.    7.2 Descric,a~o do KERMIT-80.............................54
  195.    7.3 Comandos do KERMIT-80..............................55
  196.    7.4 O KERMIT gene'rico..................................59
  197.    7.5 Instalac,a~o.........................................60
  198.  
  199.        7.5.1. Baixando o KERMIT-80........................61
  200.        7.5.2. Construindo um KERMIT.......................63
  201.        7.5.3. O KERMIT-80 gene'rico........................64
  202.  
  203.  
  204. Ape^ndice A:
  205.  
  206.      O Conjunto de Caracteres ASCII (ANSI X3.4/1968)......66
  207. .pa
  208.                           PREFA'CIO
  209. .foKERMIT: Guia do Usua'rio                                  iii
  210.  
  211.  
  212.      Desde que foi produzida  a quarta edic,a~o deste  manual, 
  213. em  julho   de 1983,   os KERMITs  tem voado  mais  e   mais 
  214. ra'pidos   do  que  algue'm possa acompanhar.  Velhas  verso~es 
  215. foram  melhoradas e apareceram  implementac,o~es para   outros  
  216. sistemas.   Deixou  de ser pra'tico  tentar  cobrir  todas as 
  217. implementac,o~es num u'nico manual.  Assim este manual  tentara' 
  218. descrever um tipo  "ideal" de  programa KERMIT, que  tenha a  
  219. maioria das facilidades especificadas no Manual do Protocolo  
  220. KERMIT.  A  maior  parte  dos  KERMITs se  enquadrara'  nessa 
  221. descric,a~o, de alguma forma.
  222.  
  223.      Depois da  parte  principal deste manual,  independente  
  224. de  sistema,   do manual,  existem sec,o~es para diversos pro
  225. gramas KERMIT particulares,   enfatizando suas diferenc,as do 
  226. ideal, neste momento.
  227.  
  228.      As partes deste manual que dependem de sistema ficara~o, 
  229. rapidamente,  obsoletas.  Informac,o~es  correntes acerca   de 
  230. qualquer programa KERMIT  em particular  podem ser encontra
  231. das  nos  arquivos  de documentac,a~o ou nos  textos  de  HELP 
  232. internos ao pro'prio programa.
  233.  
  234.  
  235.  
  236.                     UM POUCO DE HISTO'RIA
  237.  
  238.      O  protocolo KERMIT para transfere^ncia  de arquivos foi 
  239. projetado  no  Columbia  University  Center  for   Computing 
  240. Activities  (CUCCA) em  1981-82 por Bill Catchings,  princi
  241. palmente,  e  por  Frank da Cruz.  O Bill escreveu  os  dois 
  242. primeiros  programas, um  para o  DECSYSTEM-20 e  outro para  
  243. um microcomputador sob CP/M.
  244.  
  245.      O   objetivo inicial era dar aos usua'rios dos  sistemas 
  246. de timesharing da Columbia University,  composto de um  DEC-
  247. 20  e um IBM-4341,  uma  forma de  guardar seus arquivos  em 
  248. disquetes.  O  projeto deve muito aos modelos ANSI e  ISO  e 
  249. algumas   ide'ias  foram tomadas  de projetos  similares  das 
  250. universidades  de Stanford  e Utah.  O protocolo  foi proje
  251. tado   para  se ajustar a`s  "sensi'veis"  comunicac,o~es  full-
  252. -duplex do front-end do  sistema DEC-20 e as  peculiaridades 
  253. half-duplex  do sistema de comunicac,a~o do IBM.  O  protocolo 
  254. foi logo implementado com sucesso no IBM-4341 do CUCCA,  sob 
  255. VM/CMS, por Daphne Tzoar.
  256.  
  257.      Entretanto  a IBM  lanc,ou o  PCS,  que  comec,ou a  apa
  258. recer em nossos escrito'rios  e,   com  ele,   a  necessidade  
  259. de   uma   forma  gene'rica  de transfere^ncia   de   arquivos  
  260. entre   as   diversas  ma'quinas.   Logo Daphne preparou  uma 
  261. implementac,a~o para o IBM/PC.
  262.  
  263.      Apo's o sucesso inicial do KERMIT,   na CUCCA,  ele  foi 
  264. apresentado   em  confere^ncias  a grupos de usua'rios   (como 
  265. DECUS e SHARE)  e passou a ser pedido  por  outras  instala
  266. c,o~es.   Uma   vez   publicada  a  descric,a~o   do  protocolo,   
  267. algumas   dessas  instalac,o~es   escreveram   suas   pro'prias 
  268. implementac,o~es  ou adaptaram as existentes para que rodassem 
  269. em   sistemas adicionais  e mandaram  de volta  essas  novas  
  270. verso~es  para   o CUCCA,  de forma a   serem   distribui'das, 
  271. novamente,   para   outros.  Assim  o  KERMIT  cresceu   ate' 
  272. suportar  cerca de 50 sistemas diferentes.  Tem sido enviado 
  273. em  fita magne'tica  do CUCCA para  centenas  de  instalac,o~es  
  274. em  du'zias  de pai'ses,  alcanc,ando centenas ou milhares mais 
  275. atrave's de va'rios grupos de usua'rios e redes de  teleproces
  276. samento.
  277.  
  278. .foKERMIT: Guia do Usua'rio                                   iv
  279.      Ate'  agora  as contribuic,o~es ao esforc,o do  KERMIT  tem 
  280. sido  feitas por indivi'duos   nas  seguintes   instituic,o~es:  
  281. Stevens     Institute,     Cornell    University,    Rutgers  
  282. University,  Cerritos College,  The  University  of Toronto,  
  283. The  University of  Tennesse at  Knoxville,  The  University 
  284. of California at  Berkeley,  The  University of  Toledo, The  
  285. University   os  Texas   at  Austin,    The  University   of 
  286. Michigan,   Oakland University, The University of Wisconsin,  
  287. University  College Dublin,   The University  of Washington, 
  288. ABC-Klubben   Stockholm,    The   Helsinki   University   of 
  289. Technology,   The    US  National   Institutes   of  Health,  
  290. Digital  Equipment Corporation,  The  Source  Telecomputing,  
  291. Hewlett-Packard  Laboratories,   Litton  Data  Systems,  RCA 
  292. Laboratories,  ATARI Computer,  Telecomunicac,o~es Brasileiras 
  293. S.  A.  em Brasi'lia e em Campinas-SP,  Empresa Brasileira de 
  294. Agropecua'ria,  assim  como muitos  outros.  A  lista  cresce 
  295. constantemente.
  296.  
  297.  
  298.                    PEDIDOS DE INFORMAC,A~O
  299.  
  300.      O software do  KERMIT e'  gra'tis e  disponi'vel a  todos. 
  301. A  Columbia University,  no  entanto,  na~o consegue  distri
  302. buir  software  na escala requerida  pelo  KERMIT.  De  for
  303. ma  a  baixar  seus  custos  de  mi'dia,  impressa~o,   envio, 
  304. materiais,   trabalho e  recursos computacionais,  pede  uma 
  305. moderada   taxa  de distribuic,a~o  das  instalac,o~es que   re
  306. quisitem  o KERMIT diretamente de la'. A distribuic,a~o e' feita 
  307. nos seguintes termos:
  308.  
  309.         Distribuic,a~o completa:                $100.00
  310.         (fita, manual do usua'rio e manual do protocolo)
  311.  
  312.         Documentac,a~o impressa:                  $5.00 (cada)
  313.                (manuais ou listagem de programas-fonte)
  314.  
  315.  
  316.      Outras  instalac,o~es  podem  redistribuir o   KERMIT  em  
  317. seus  pro'prios  termos  e  sa~o  encorajadas a  fazer   isso,  
  318. com  as seguintes condic,o~es:  o  KERMIT  na~o pode  ser  ven
  319. dido visando  lucro;   devem  ser prestados  os  cre'ditos de  
  320. autoria quando  de direito;  novos materiais devem ser reme
  321. tidos   para a  Columbia University no  endere^c,o abaixo   de 
  322. forma    a  ser  mantido  um   conjunto  definitivo  e  com
  323. preensivo  das implementac,o~es do KERMIT para futuras distri
  324. buic,o~es.
  325. .foKERMIT: Guia do Usua'rio                                    v
  326.  
  327. .cp10
  328.      Para  pedir o envio do KERMIT da  Columbia  University, 
  329. escreva para
  330.  
  331.         KERMIT DISTRIBUTION
  332.         COLUMBIA UNIVERSITY CENTER FOR COMPUTING ACTIVITIES
  333.         7th floor, Watson Laboratory
  334.         612 West 115th Street
  335.         New York, N.Y.  10025,
  336.  
  337. pedindo:
  338.  
  339. a) manuais ou listagens que voce^ quiser (especifique-as) ou
  340.  
  341. b) fita magne'tica em um dos seguintes formatos:
  342.  
  343.    SISTEMA        FORMATO                         DENSIDADES
  344.  
  345.    TOPS-10        BACKUP/INTERCHANGE, sem label    800, 1600
  346.    TOPS-20        DUMPER, sem label                800, 1600
  347.    IBM VM/CMS     EBCDIC, formato CMS             1600, 6250
  348.                           ou standard label       1600, 6250
  349.    outros         ASCII, label ANSI                800, 1600
  350.  
  351. (especifique SISTEMA, FORMATO e DENSIDADE).
  352.  
  353.      Os  cheques  devera~o ser  pagos  ao Columbia  Universi
  354. ty  Center for Computing Activities.
  355.  
  356.      Uma co'pia  de cada  manual sera'  inclui'da com  a  fita.  
  357. A  Columbia University fornecera' a fita, embalagem e envio.
  358.  
  359.      A    Columbia   University   na~o   produz    disquetes;  
  360. sa~o   fornecidos  "bootstrapping"   que  permitem   que   as  
  361. verso~es  para microcomputadores  sejam "baixadas" do  compu
  362. tador para o  qual as fitas forem preparadas.  A fita inclui 
  363. todos os fontes,  documentac,a~o e,  quando pra'tico,  arquivos 
  364. com  os mo'dulos  de execuc,a~o.  Infelizmente os  recursos  do  
  365. CUCCA  sa~o  limitados  e   na~o  permitem  manter uma   forma 
  366. automatizada   de atualizac,o~es ou  de novas  implementac,o~es, 
  367. documentac,o~es ou correc,o~es que aparecem.
  368.  
  369.      Caso  voce^ escreva para a Columbia University,  informe 
  370. as ma'quinas  e sistemas  operacionais onde pretende  rodar o 
  371. KERMIT  ou se voce^ estaria interessado em  tentar  fazer sua  
  372. pro'pria  implementac,a~o para  um  novo sistema.
  373.  
  374.      O   KERMIT esta' disponi'vel aos usua'rios  da BINET  NET
  375. WORK  via SERVER no host CUVMA.  Deve-se teclar
  376.  
  377.      @@SMSG  RSCS  MSG CUVMA  KERMSRV HELP
  378.  
  379. para maiores  informac,o~es.  O KERMIT  tambe'm esta' disponi'vel  
  380. aos usua'rios da ARPANET, via ANONYMOUS FTP do host COLUMBIA-
  381. 20, na a'rea PS:<KERMIT>.
  382.  
  383. .foKERMIT: Guia do Usua'rio                                   vi
  384.      O  KERMIT tambe'm  e' distribui'do  regularmente por   va'
  385. rios grupos  de usua'rios de computadores como DECUS e SHARE.
  386.  
  387.      No Brasil,  a Rede de Comunicac,a~o de Dados da TELEBRAS, 
  388. apesar  de ainda na~o adotar o protocolo KERMIT  e,  sim,  um 
  389. pro'prio,  oferece o KERMIT para seus usua'rios. Inclusive uma 
  390. versa~o "abrasileirada" pela TELEMIG,  o Transtexto (TRNTXT), 
  391. que inclui a capacidade de controlar a portadora de um modem 
  392. de 1200 bps half-duplex,  muito difundido.  A RCD/TB emprega 
  393. tal  tipo de modem.  Para maiores informac,o~es,  ao receber o 
  394. "Menu Principal" dos servic,os da RCD/TB, entre em "B" (Banco 
  395. de  Arquivos)  e  consulte,   no  banco  2  (validados),   o 
  396. KERMIT.DOC, assim:
  397.  
  398.      COMANDO ARQUIVO>c kermit.doc
  399.  
  400.      O servic,o perguntara' se deseja receber o arquivo.  Res
  401. ponda "S".  Desta forma voce^ tera',  em seu micro,  todas  as 
  402. informac,o~es  necessa'rias para conseguir a versa~o  apropriada 
  403. do KERMIT para o seu equipamento.
  404.  
  405.      La' esta~o,  tambe'm,  os manuais do Usua'rio (este) e o do 
  406. Protocolo  (caso voce^ se interesse em saber mais do que esta' 
  407. explicado  neste  guia,  melhorar uma versa~o  existente  ou, 
  408. ainda, escrever uma versa~o nova). 
  409.  
  410.      Uma   vez  que novos  programas KERMIT (ou  melhoramen
  411. tos  em antigas verso~es) aparecem  com  freque^ncia, as  ins
  412. talac,o~es  que usam  o  KERMIT pesadamente  sa~o encorajadas a  
  413. contactar a Columbia  duas ou tres vezes por ano, para saber 
  414. das novidades.
  415.  
  416.      Nenhuma  garantia  do software  nem da  documentac,a~o  a  
  417. seu  respeito esta' expli'cita ou implicitamente colocada; nem 
  418. os autores sa~o obrigados a informar a todos qualquer defeito 
  419. em programas ou suas documentac,o~es.
  420. .pa
  421. .pn1
  422. .foKERMIT: Guia do Usua'rio                                    #
  423. .he                                                  Introduc,a~o
  424.  
  425. 1. Introduc,a~o
  426.  
  427.      Todo  mundo quer que seus computadores falem entre  si. 
  428. Existem  va'rias  formas de se fazer isso,  a  maioria  delas 
  429. muito  cara.  Mas existe uma  que e'  barata e  relativamente 
  430. fa'cil:   conectar os dois computadores atrave's de suas  por
  431. tas TTY  (terminal  assi'ncrono) e  engana'-los de  forma  que 
  432. acreditem  que o outro  seja um dos seus  terminais. Podemos 
  433. esperar  que isso funcione,  ja' que o padra~o  de  conexa~o  e' 
  434. quase  que  universalmente obedecido,   tanto  em   hardware 
  435. (plug   e  sinal:  EIA  RS-232)  quanto em software  (carac
  436. teres   ASCII).   Uma  vez  conectados  dessa   forma,    os 
  437. computadores podem rodar,  cada um,  programas que se enten
  438. dam,  de maneira a permitir a comunicac,a~o desejada por  meio 
  439. de um protocolo.
  440.  
  441.      Por que um protocolo e'  necessa'rio,  afinal?  Tre^s pro
  442. blemas   maiores ocorrem quando se tenta ligar dois computa
  443. dores via uma linha TTY:
  444.  
  445.      1. Rui'do
  446.                     E'  temeroso  garantir que  na~o  existira' 
  447.                     interfere^ncia  ele'trica  numa  linha  de 
  448.                     comunicac,a~o. Qualquer linha apresentara', 
  449.                     ocasionalmente, interfere^ncia, ou rui'do, 
  450.                     principalmente se for uma linha  discada 
  451.                     ou chaveada,  que resulta,  tipicamente, 
  452.                     em   lixo  ou   caracteres   extras.   O  
  453.                     rui'do  adultera  os dados  e, quando  se 
  454.                     percebe, normalmente ja' e' muito tarde.
  455.  
  456.      2. Sincronismo
  457.                     Os  dados na~o podem chegar mais  rapida
  458.                     mente  do  que a  ma'quina receptora con
  459.                     segue manusea'-los.  Mesmo que a  veloci
  460.                     dade  da  linha seja a mesma  nas   duas 
  461.                     pontas,  a  ma'quina receptora  pode  na~o  
  462.                     ser capaz  de processar um  fluxo conti'
  463.                     nuo  de  entrada a tal  velocidade.  Seu  
  464.                     processador   central   pode ser   muito  
  465.                     lento  ou carregado  demais,   seus buf
  466.                     fers   muito  cheios ou   pequenos...  O 
  467.                     sintoma ti'pico de um problema de sincro
  468.                     nismo e' a perda de dados. Muitos  siste
  469.                     mas operacionais simplesmente  descartam 
  470.                     os  dados  que  chegam quando  eles  na~o 
  471.                     esta~o preparados para recebe^-los.
  472.  
  473.      3. Quedas de linha
  474.                     Uma   linha pode parar de trabalhar  por  
  475.                     curtos peri'odos por causa de um conector 
  476.                     defeituoso, queda de energia ou qualquer 
  477.                     raza~o similar.  Em conexo~es discadas  ou 
  478.                     chaveadas   tais defeitos  intermitentes 
  479.                     fara~o com que a portadora  caia,  encer
  480.                     rando a conexa~o; mas qualquer conexa~o em 
  481.                     que na~o seja usada a  portadora de sinal 
  482.                     o sintoma sera' a perda dos dados.
  483.  
  484.      De   forma  a  prevenir  a  adulterac,a~o  dos  dados   e  
  485. sincronizar  a comunicac,a~o,  computadores que   se  entendam 
  486. podem   trocar informac,o~es  de controle,   ao mesmo tempo em 
  487. que  esta~o transferindo dados.  Tal insersa~o de  informac,o~es 
  488. de  controle  entre os  dados e as ac,o~es decorrentes   disso 
  489. constitui um PROTOCOLO.
  490.  
  491.      O   KERMIT  e'  um desses  protocolos.   Foi  projetado, 
  492. especificamente,   para  transferir   arquivos   sequenciais  
  493. atrave's  das  linhas  comuns  de telecomunicac,o~es.   Na~o   e' 
  494. necessariamente   melhor  que os muitos outros protocolos de 
  495. transfere^ncia   de arquivo orientados  para este ou   aquele 
  496. terminal   mas   e' gratis,   bem  documentado e   tem   tido 
  497. compatibilidade implementada em va'rios microcomputadores bem 
  498. como em ma'quinas de pequeno e grande porte.
  499.  
  500.      O  KERMIT transfere dados  encapsulados em pacotes   de 
  501. informac,a~o de controle. Tais  informac,o~es  incluem  marca de  
  502. sincronismo,   nu'mero   do pacote  para permitir a  detecc,a~o  
  503. de  perda   de pacotes,   um indicador de comprimento  e  um  
  504. "checksum" para  uma verificac,a~o  dos dados  (paridade hori
  505. zontal).  Os  pacotes perdidos  ou  adulterados sa~o detecta
  506. dos   e  as devidas  retransmisso~es   sa~o    automaticamente  
  507. pedidas.    Os   pacotes duplicados  sa~o descartados.   Adi
  508. cionalmente  va'rios  pacotes de controle especiais  permitem 
  509. que  KERMITs se  conectem e desconectem para  trocar  diver
  510. sos  tipos de informac,a~o.  Pouca  coisa  e' assumida   acerca 
  511. das  capacidades  de cada computador.  Por isso o  protocolo 
  512. KERMIT  pode  funcionar bem entre va'rios sistemas  de  tipos 
  513. diferentes.
  514.  
  515.      A Sec,a~o 2 (Como usar o KERMIT) lhe diz tudo o que  voce^ 
  516. precisa  saber para transferir arquivos de texto na  maioria 
  517. dos casos e mostra  alguns exemplos especi'ficos.
  518.  
  519.      Se  voce^ seguir os exemplos  da Sec,a~o 2 mas  na~o conse
  520. guir  fazer  uma conexa~o de terminal ou  na~o  transferir  um 
  521. arquivo  com sucesso,  consulte a Sec,a~o 3 (Quando as  coisas 
  522. va~o mal).
  523.  
  524.      Se  voce^ pretende ser um forte usua'rio do KERMIT,  deve 
  525. ler a Sec,a~o 4 (Comandos KERMIT), que  descreve, em detalhes,  
  526. todas  as facilidades  do KERMIT.   Uma certa  familiaridade 
  527. com o material dessa Sec,a~o lhe ajudara' em possi'veis dificul
  528. dades  quando quizer fazer novos tipos de conexa~o  ou quando  
  529. estiver  tentando   transferir arquivos  na~o   usuais.  Voce 
  530. achara', tambe'm, descric,o~es de facilidades avanc,adas de manu
  531. seio  de arquivos  que foram omitidas de edic,o~es  anteriores 
  532. deste manual.
  533.  
  534.      A  Sec,a~o 5 (Implementac,o~es do KERMIT)  resume  sistemas 
  535. para  os quais o KERMIT estava disponi'vel quando da prepara
  536. c,a~o desta edic,a~o.
  537.  
  538.      Os  capi'tulos  subsequentes  descrevem   implementac,o~es  
  539. particulares  selecionadas.   Leia  a sec,a~o apropriada  para 
  540. cada  sistema  em que voce^ for usar  o  KERMIT;  cada  sec,a~o 
  541. descreve a convenc,a~o para nomes de arquivos  e outras  faci
  542. lidades importantes para usua'rios  KERMIT. Lista, tambe'm, os 
  543. comandos  KERMIT  para aqueles sistemas,  principalmente  em 
  544. termos  de   suas diferenc,as do KERMIT "ideal"  descrito  na 
  545. Sec,a~o 4.
  546. .pa
  547. .he                                          Como usar o KERMIT
  548. 2. Como usar o KERMIT
  549.  
  550.      O  KERMIT e' um protocolo para transfere^ncias confia'veis 
  551. de arquivos entre computadores atrave's das linhas comuns  de 
  552. telecomunicac,o~es   usadas para  conectar  os  terminais  aos  
  553. computadores.   A meca^nica  de  uso do KERMIT para se trans
  554. ferir  um arquivo pode parecer  confusa ate' que  se pegue  a 
  555. ide'ia  da  coisa.   Um  pouco de embasamento pode  tornar  o 
  556. processo mais inteligi'vel.
  557.  
  558.      O KERMIT e',  provavelmente,  a maneira mais barata para 
  559. se  fazer   uma  comunicac,a~o   entre  dois  computadores.  O 
  560. hardware exigido normalmente ja' esta' disponi'vel,  o software 
  561. e'  gra'tis e todos os seus componentes rodam  como  programas 
  562. normais  de aplicac,a~o,  sem modificac,o~es de sistema.  O que, 
  563. alia's,  contrasta terrivelmente  com uma  rede de  comunica
  564. c,a~o de  dados, onde  existem  canais  e  "drivers" de  comu
  565. nicac,a~o  de  alta velocidade dedicados, softwares cari'ssimos 
  566. e  outros "ingredientes".  Uma rede  prove^ mais servic,os  do 
  567. que  o KERMIT,  usualmente a maiores velocidades,  ja' que  a 
  568. rede  e' normalmente parte do sistema.  Quando uma  rede  na~o 
  569. existe (ou na~o  esta' disponi'vel),  o KERMIT pode preencher o 
  570. espac,o.  Mas  uma  vez  que o KERMIT na~o  fica  integrado  a  
  571. qualquer sistema em  particular e,   sim,  apoiado  nos  re
  572. cursos  que  muitos sistemas  tem,  requer   algum  trabalho 
  573. adicional para aqueles que quiserem usa'-lo.
  574.  
  575.  
  576. .cp3
  577. 2.1. O programa KERMIT
  578.  
  579.      O  KERMIT embute um conjunto de regras para  transferir 
  580. confiavelmente arquivos entre  computadores.  Geralmente  um  
  581. dos   computadores   e'  um sistema  de grande  porte  (host)  
  582. em  regime  de time-sharing  com va'rios terminais ligados  a 
  583. ele e o outro e' um microcomputador pessoal.
  584.  
  585.      Para que se estabelec,a um protocolo KERMIT, um programa 
  586. KERMIT  deve estar  rodando em cada ponta da linha de  comu
  587. nicac,a~o (uma ponta no host, outra no micro).
  588.  
  589.      Dois programas KERMIT  trocam mensagens numa  linguagem 
  590. deles,   toda especial:    o  protocolo  KERMIT.  O  dia'logo  
  591. e'  qualquer  coisa  como:
  592.  
  593. A  -- Ola'!    Vou  comec,ar   a mandar arquivos   para  voce^.  
  594.       Quando  voce^ for comec,ar a mandar mensagens para  mim,  
  595.       por  favor na~o as fac,a maiores  que 80  caracteres  e, 
  596.       se voce^ na~o ouvir nada de mim por mais de 15 segundos, 
  597.       acorde-me, sim?
  598.  
  599. B --  Certo!
  600.  
  601. A --  Agora, la' vai um arquivo chamado ARQUIVO.TXT, certo?
  602.  
  603. B --  Certo.
  604.  
  605. A --  La' vai o primeiro pedac,o...
  606.  
  607. B --  Peguei!
  608.  
  609. A --  Muito bem! La' vai o segundo pedac,o...
  610.  
  611. B --  O segundo pedac,o era lixo.
  612.  
  613. A --  Bem, la' vai ele de novo...
  614.  
  615.       etc.
  616.  
  617.      Voce^   na~o ve^ isso acontecer:  tudo  esta' embutido  num 
  618. co'digo conciso que os dois KERMIT  podem entender.  Eles  se 
  619. preocupam com  transmissa~o, checagem  de erros, traduc,a~o dos 
  620. caracteres  e  tudo  o  mais.  Cada mensagem  e'  chamada  de  
  621. "pacote"  e   cada pacote  esta' num  formato  especial   que 
  622. qualquer KERMIT pode entender.
  623.  
  624.  
  625. .cp3
  626. 2.2. Falando com dois computadores de uma vez
  627.  
  628.      Seu trabalho e'  fazer os dois  KERMITs entrarem no  ar. 
  629. A   confusa~o  aparece   porque voce^ tem que  usar  um  u'nico 
  630. teclado e uma u'nica tela para se comunicar com dois computa
  631. dores diferentes,  dois programas distintos. Vamos  falar de  
  632. um caso  comum:  voce^ esta'  sentado diante  de um micro  que 
  633. tem  uma  porta   serial de comunicac,a~o.  Esta   porta  esta' 
  634. ligada a  um host usando, digamos, um MODEM.
  635.  
  636.      Normalmente,  quando voce^  usa o micro,  esta' "falando" 
  637. diretamente  com ele.  Seus comandos sa~o interpretados  pelo 
  638. sistema operacional do seu micro  (CP/M, MS-DOS, UNIX, o que 
  639. for)  ou por algum programa que estiver rodando  no  momento 
  640. (um editor de textos,  um jogo...).  O KERMIT e'  um programa 
  641. como  qualquer outro mas que tem a  habilidade  especial  de 
  642. tanto interpretar  seus  comandos diretamente,  como  outros  
  643. programas,  quanto  de passar tudo  o que voce^  digitar para 
  644. que  o host interprete. Quando mandamos  o KERMIT se  conec
  645. tar,  ele  envia   cada caracter que  se tecla   atrave's  da 
  646. porta   serial e cada  caracter que chegar  por ela vai para 
  647. a  tela.  Isto  e' chamado SERVIC,O DE  TERMINAL  VIRTUAL  (um  
  648. computador  aje  "virtualmente" como se fosse o terminal  de 
  649. outro.  Nesse  momento voce^ estaria falando com o host  e  o 
  650. micro "ignorando" voce^.
  651.  
  652.      O  KERMIT,   como  muitos  outros  programas,   tem  um 
  653. "prompt".  O prompt e' um  si'mbolo que o  programa coloca  no  
  654. canto  esquerdo de  uma linha para indicar que esta'   pronto 
  655. para  receber um comando de voce^.   O prompt  do  KERMIT  e',  
  656. normalmente,     KERMIT-xx>.     O   "xx"   identifica     a 
  657. implementac,a~o  do  KERMIT.  O  KERMIT  que roda  no   DEC-20 
  658. usa  o  prompt KERMIT-20>;  o que roda em micros baseados em 
  659. 8080  ou  Z80 usa KERMIT-80>;  o que roda  num  IBM/PC   usa 
  660. KERMIT-86  e por  ai' vai...   Se voce^  ficar confuso  acerca  
  661. de  qual   KERMIT  esta'  falando com  voce^,  o   prompt  vai 
  662. ajudar.  Ale'm  disso  alguns KERMITs imprimem  uma  mensagem 
  663. informativa (normalmente em ingles^) como
  664.  
  665.      [Conectado ao host; tecle <CTRL-@> para retornar.]
  666.  
  667. quando voce^ se conecta e outra mensagem como
  668.  
  669.      [Conexa~o encerrada; de volta ao micro.]
  670.  
  671. quando voce^ volta.
  672.  
  673.      Uma vez conectado  ao host,  deve  existir uma  maneira  
  674. de  voltar  ao micro.  Isto e' conseguido atrave's de uma  se
  675. que^ncia  de escape.  Conforme o KERMIT passa seus caracteres 
  676. para  o  host,   testa cada um para ver se  e'  um   caracter  
  677. especial   previamente definido  como  caracter  de  escape. 
  678. Quando  ele  ve^ tal caracter,  deixa de ignorar  voce^  (voce^ 
  679. novamente   passa a  conversar  com  o  micro,   na~o com   o  
  680. host).  O  caracter  de escape normalmente e'  escolhido como  
  681. um   que  voce^  na~o precisara'  teclar  ao conversar   com  o 
  682. host   e  que   seja difi'cil de  ser  teclado  por  acidente 
  683. (usualmente um caracter de  controle, como CONTROL-@)  e que 
  684. e'   entrado segurando-se  a  tecla CTRL  enquanto se  aperta 
  685. a   tecla com  o si'mbolo indicado (nesse caso  SHIFT-P).  Os 
  686. caracteres de controle esta~o  escritos aqui  como CTRL-X  ou 
  687. ^X,  onde X e'  o caracter a ser teclado enquanto se aperta a 
  688. tecla CONTROL.
  689.  
  690.  
  691. .cp3
  692. 2.3. Transferindo um arquivo
  693.  
  694.      Para  transferir um arquivo,  tenha, primeiro, a  aten
  695. c,a~o do sistema operacional de seu micro.   Uma vez em  ni'vel  
  696. de comando,  rode o  KERMIT.  Diga  ao KERMIT,  enta~o, que o 
  697. conecte  ao host.  Ai' voce^ estara' falando com o host.  Neste 
  698. ponto voce^  tem que se  identificar para, so'  enta~o, rodar o 
  699. KERMIT do host.
  700.  
  701.      Agora   voce^  tem um  KERMIT de cada  lado do  fio.   O 
  702. pro'ximo passo e' dizer a cada um o que fazer.   Suponha que o 
  703. que  voce^  quer e'  transferir um  arquivo do  host   para  o 
  704. micro.   Primeiro diga ao  KERMIT do host que mande o arqui
  705. vo;   enta~o "escape" dele  de volta ao  do micro e  diga-lhe 
  706. que   receba o  tal arquivo.  A  transfere^ncia comec,a.  Pode  
  707. se  recostar  e observar ou ir fazer um  bom   sandui'che.  O 
  708. KERMIT  do micro  continuamente mostrara'  os  contadores  de  
  709. pacotes  e de  retransmisso~es e lhe avisara' quando a  trans
  710. fere^ncia houver terminado.
  711.  
  712.      O arquivo desejado esta' agora no disquete do seu micro. 
  713. O  protocolo KERMIT se assegurou da chegada certa e completa 
  714. do arquivo.  Agora e' por sua conta:  conecte-se de volta  ao 
  715. host,  saia do KERMIT de la', encerre a sua  sessa~o de termi
  716. nal,  "escape"  de volta para o KERMIT do micro e saia dele. 
  717. Fac,a,   enta~o,  o   que  voce^ havia  planejado  para o   seu  
  718. arquivo: edite-o, liste-o, o que quiser.
  719.  
  720.      O  protocolo KERMIT (e a maioria  dos programas KERMIT) 
  721. permitem que se mande,  confiavelmente,  um arquivo do  host 
  722. para o micro,  do micro para o  host, de um  host para outro  
  723. ou de um  micro para outro,   sem que se tenha, normalmente, 
  724. cuidados com a natureza das ma'quinas particularmente  envol
  725. vidas.   Muitas implementac,o~es permitem tambe'm que os arqui
  726. vos sejam mandados em grupos,   com um  u'nico comando,  como 
  727. "mande  todos os  meus arquivos  FORTRAN!".  O cena'rio  para 
  728. isso   e'  o mesmo  descrito acima,  somente os detalhes   de 
  729. como  estabelecer a  conexa~o real  e' que  podem diferir.
  730.  
  731.      O   KERMIT  trabalha  melhor  com  arquivos   "imprimi'
  732. veis"  (compostos apenas de letras,   di'gitos,  si'mbolos  de  
  733. pontuac,a~o,  controles de  carro, tabulac,a~o etc.) uma vez que 
  734. eles  podem ser representados em praticamente todos os tipos  
  735. de  computador.   Tambe'm  e' capaz  de  transferir   arquivos 
  736. "bina'rios"    (como   programas    executa'veis),    composto   
  737. por  padro~es arbitra'rios de bits.  Mas os  arquivos bina'rios 
  738. normalmente  so' tem  real significado  para computadores  do 
  739. mesmo tipo  daquele que o gerou.  Mesmo assim o KERMIT  pode 
  740. transferir  tais  arquivos de um  sistema A para   um  outro 
  741. sistema  B (onde na~o sera' usado) e,  dele,  para um terceiro 
  742. sistema  C,  similar  ao A,  em sua  configurac,a~o  original, 
  743. embora,  em  alguns  casos, devamos ter cuidados especiais.
  744.  
  745.      Ja'  temos uma  compreensa~o ba'sica daquilo que o  KERMIT 
  746. faz   e  como o faz.  Oportunamente veremos alguns  exemplos 
  747. mais concretos. Antes voce^ deve conhecer os comandos ba'sicos 
  748. do KERMIT.
  749.  
  750.  
  751. .cp3
  752. 2.4. Comandos ba'sicos
  753.  
  754.      Estas   sa~o   descric,o~es  gene'ricas  da   maioria   dos  
  755. comandos KERMIT.  Descric,o~es detalhadas vira~o depois. Nestas 
  756. descric,o~es  "local"  se  refere ao  sistema que   voce^  esta'  
  757. usando diretamente;   "remoto" se  refere ao sistema ao qual 
  758. voce^  esta'  conectado  via KERMIT.  Os comandos  podem   ser 
  759. compostos  de  mais de uma palavra e sa~o terminados  por  um 
  760. RETURN.
  761.  
  762. .cp3
  763. SEND especificac,a~o-de-arquivo(s)
  764.  
  765.           Manda  o  arquivo ou o grupo de arquivos  conforme 
  766.      especificado,  deste  KERMIT para o outro.  O nome   de 
  767.      cada  arquivo e' passado para o outro KERMIT num  pacote 
  768.      de  controle especial,  de forma  a poder  ser guardado  
  769.      com  o mesmo nome.  Um grupo de arquivos  e'  usualmente 
  770.      especificado   pelo   fato de  se   incluir  caracteres  
  771.      "coringa", como o  "*" na especificac,a~o do arquivo.
  772.  
  773.           Exemplos:
  774.  
  775.      SEND ARQUIVO.TXT  (Mande o arquivo ARQUIVO.TXT)
  776.      SEND ARQ*.ASM     (Mande os ASM comec,ados por ARQ)
  777.  
  778.           Algumas  implementac,o~es  do KERMIT podem  na~o  dar 
  779.      suporte  a  comandos  de transfere^ncia  de  grupos   de 
  780.      arquivos.   Tais  verso~es  exigem um comando SEND  para 
  781.      cada arquivo a ser transferido.
  782.  
  783. .cp2
  784. RECEIVE
  785.              Recebe um arquivo ou um grupo deles  de   outro 
  786.      KERMIT.   Caso  o  nome  de um arquivo  que chega  seja 
  787.      ilegal,  tenta   transforma'-lo  num nome   legal,   por 
  788.      exemplo,   abandonando  caracteres na~o-alfanume'ricos ou  
  789.      excessivos.  O  nome  assim  formado  na~o   e', garanti
  790.      damente,   u'nico.  Nesses casos  arquivos ja' existentes 
  791.      podem  se  perder.  Algumas  verso~es  de KERMIT  tentam 
  792.      previnir que isso acontec,a,  avisando a voce^ a  colisa~o 
  793.      dos   nomes  e tomando (ou  deixando que voce^  o  fac,a) 
  794.      ac,o~es evasivas.
  795.  
  796. .cp2
  797. CONNECT
  798.              Forma  um "terminal virtual" do sistema remoto. 
  799.      Num micro, isto usualmente significa mandar tudo  o que  
  800.      vem  do teclado atrave's da porta serial e o que  aquilo 
  801.      que chegar pela porta serial mostrar na tela do  micro. 
  802.      Para  escapar  de  uma conexa~o como  terminal  virtual, 
  803.      tecle  o  caracter  de escape do KERMIT   (um  ^@,  por 
  804.      exemplo).
  805.  
  806. .cp2
  807. SET
  808.           Altera  o  posicionamento  das   opc,o~es   standard 
  809.      (como  o  caracter  de   escape,   caracteri'sticas   do 
  810.      arquivo,   nu'mero da linha  de comunicac,a~o, paridade ou 
  811.      controle de fluxo).
  812.  
  813. .cp2
  814. SHOW
  815.           Mostra   os   valores  do  conjunto   de   opc,o~es, 
  816.      modificados pelo comando SET.
  817.  
  818.  
  819. .cp2
  820. EXIT
  821.            Sai  do  KERMIT para o sistema operacional sob  o 
  822.      qual ele esta' rodando.
  823.  
  824.  
  825. .cp2
  826. HELP ou ?
  827.           Teclado  em  qualquer lugar dentro de  um  comando                              
  828.      KERMIT:  lista  os comandos,  opc,o~es ou operadores  que                              
  829.      se   fazem possi'veis em tal ponto.  Este  comando  pode                              
  830.      ou  na~o   exigir  um RETURN,   dependendo  do   sistema                              
  831.      operacional.
  832.  
  833.  
  834. .cp3
  835. 2.5. Exemplos reais
  836.  
  837.      O  KERMIT pode ser usado em diversas situac,o~es:  em  um 
  838. computador  pessoal que esteja conectado a um maior,  em  um 
  839. host  que esteja ligado em um outro ou em um micro ligado  a 
  840. outro.
  841.  
  842. .cp3
  843. 2.5.1. MICRO <---> HOST
  844.  
  845.      Neste  exemplo,  o   usua'rio  esta'   sentado  num   IBM 
  846. Personal  Computer (PC),  que esta' conectado, atrave's de sua 
  847. porta serial,  a um computador host DECSYSTEM-20. O IBM/PC e' 
  848. o local; o DEC-20 e' remoto. Este exemplo tambe'm  se  aplica
  849. ra'  literalmente   a  quase   todas  as   implementac,o~es  do 
  850. KERMIT.
  851.  
  852.      Voce^  ligou  seu  PC e tem o  programa  KERMIT  em  seu 
  853. disco.  Comece   por rodar  o KERMIT no PC.  Use o   comando 
  854. CONNECT para se tornar um terminal do DEC-20.  Na realidade, 
  855. o PC  simula o popular terminal HEATH-19 (ou  o  VT52),  por 
  856. isso  e' uma boa medida dizer ao DEC-20 que seu terminal e' um 
  857. desses.  Entre  com  o procedimento de  LOGIN no  DEC-20   e 
  858. chame  o  KERMIT nele.   Aqui esta' um exemplo desse procedi
  859. mento com os comandos que voce^ daria em minu'sculas:
  860.  
  861. A>kermit              (chamando o KERMIT no PC)
  862. KERMIT V1.20
  863.  
  864. KERMIT-86>            (este e' o prompt do KERMIT do IBM/PC)
  865. KERMIT-86>connect     (conectando-se ao DEC-20)
  866.  
  867. [Connecting to host; type ConTRol-]c to return to PC.
  868.  Baud rate is 9600, connecting over COM1.]
  869.  
  870.                       (voce^ esta', agora, ligado ao DEC-20)
  871.  
  872. CU20B                 (o DEC-20 da' mensagens de saudac,a~o)
  873.  
  874. @terminal heath-19    (diga seu tipo de terminal - opcional)
  875. @login eu co'digo      (identifique-se normalmente)
  876.  
  877.                       (neste  ponto  o  DEC-20  manda  va'rias 
  878.                        mensagens)
  879.  
  880. @kermit               (chamando o KERMIT do DEC-20)
  881. KERMIT-20>            (prompt do KERMIT do DEC-20)
  882.  
  883.                       (voce esta' pronto para transferir 
  884.                        arquivos)
  885.  
  886.      Os  exemplos  seguintes ilustram  a  maneira de  mandar  
  887. arquivos  do  DEC-20 para o PC.   Note o  uso   do  caracter 
  888. coringa  "*" para denotar  um grupo de arquivos.
  889.  
  890.  
  891. .foKERMIT: Guia do Usua'rio                                   #
  892. KERMIT-20>send *.for  (mande todos os arquivos FORTRAN)
  893. ^]c                   (volta  para o PC,  usando a seque^ncia 
  894.                        de escape, neste caso CNTRL-] seguido 
  895.                        de "c")
  896. [Back at PC.]
  897. KERMIT-86>receive     (mandando  o KERMIT do PC  preparar-se 
  898.                        para receber os arquivos)
  899.  
  900.     Se  voce^  levar mais  de 5  segundos para  voltar ao  PC 
  901. e  emitir  o comando   RECEIVE,   os  primeiros  pacotes  do  
  902. KERMIT-20  podem  chegar prematuramente e aparecerem em  sua 
  903. tela.   Mas  na~o se preocupe:  o  pacote sera'  retransmitido 
  904. pelo  KERMIT-20 ate' que o KERMIT-86,  no PC,  confirme a sua 
  905. recepc,a~o.
  906.  
  907.     Uma vez estabelecida a conexa~o,  o  PC vai lhe mostrar o 
  908. que  estiver acontecendo:  depois de  limpar a  tela, espera  
  909. os  pacotes  que chegam;  conforme forem  chegando,  o  nome 
  910. corrente   de cada arquivo e o nu'mero  do pacote  va~o  sendo  
  911. mostrados   em   sua   tela.   Quando   o   prompt   do   PC 
  912. ("KERMIT-86>")  aparecer  na  sua  tela,  e'  sinal   que   a  
  913. transfere^ncia terminou.  Durante a transfere^ncia,  a tela do 
  914. micro mostrara' algo assim:
  915.  
  916. IBM PC KERMIT-86 V1.20
  917.  
  918. NUMBER OF PACKETS:  294                         RECEIVING...
  919. NUMBER OF RETRIES:    2
  920. FILE NAME:   PROGRAMA.FOR
  921.  
  922.  
  923.  
  924.      Os  contadores de pacotes (PACKETS) e de retransmisso~es 
  925. (RETRIES)  sa~o  continuamente  atualizados e  a  palavra  na 
  926. parte   superior  direita  da  tela   (RECEIVING,   SENDING, 
  927. COMPLETE,  INTERRUPTED  ou FAILED) mostra o status da trans
  928. fere^ncia.
  929.  
  930.     Quando   a  transfere^ncia terminar (muitas   verso~es  do 
  931. programa  KERMIT soam um bip),  voce^ deve se re-conectar  ao 
  932. host (DEC-20),  sair do  KERMIT de  la',  avisar  ao   DEC-20  
  933. que voce^ vai  encerrar a  sessa~o (LOGOUT) e escapar de volta 
  934. ao PC, como voce^ ja' havia feito antes.
  935.  
  936. KERMIT-86>connect         (de volta ao DEC-20)
  937. [CONNECTING TO HOST; TYPE CONTROL-] C TO RETURN TO PC.
  938.  
  939. KERMIT-20>                (ca' estamos no's!)
  940. KERMIT-20>exit            (saindo do KERMIT-20)
  941. @logout                   (despedindo-nos do DEC-20)
  942.  
  943.  
  944. LOGGED OUT JOB 55, USER EU, ACCOUNT MINHA-CONTA, TTY 146,
  945. AT 12-JUL-84 16:59:55,  USED 0:00:17 IN 0:21:55
  946.  
  947. ^]c                       (escapando de volta para o PC...)
  948.  
  949. KERMIT-86>exit            (... e saindo do KERMIT do PC)
  950.  
  951.  
  952.      Os  arquivos  que voce^ transferiu devem estar agora  no 
  953. disco do PC.
  954.  
  955.      Para   mandar arquivos do PC para   o  DEC-20,  proceda 
  956. similarmente.  Em  primeiro  lugar siga  as  instruc,o~es   de 
  957. LOGIN  no DEC-20  atrave's do  PC.  Depois,   em resposta  ao 
  958. prompt   do host  "KERMIT-20>",  tecle  RECEIVE ao inve's  de 
  959. SEND.   Escape  de  volta para  o PC e  use o  comando  SEND  
  960. para enviar  os arquivos do PC  para o DEC-20. O  PC vai lhe 
  961. mostrar, sempre, como vai indo a transmissa~o.
  962.  
  963.      Quando  o prompt "KERMIT-86" indicar que a  transmissa~o 
  964. terminou,  siga  o  procedimento ja' descrito  de  voltar  ao 
  965. DEC-20,   sair do KERMIT-20 e,  depois,  do host (LOGOUT). A 
  966. menos   que voce^ queira fazer qualquer  outro servic,o la'  no 
  967. DEC-20 como, por exemplo, compilar um dos programas que voce^ 
  968. acabou de enviar.
  969.  
  970.  
  971. .cp3
  972. 2.5.2. HOST <---> HOST
  973.  
  974.      Esta  sec,a~o descreve o uso do KERMIT  entre dois hosts. 
  975. Um "host" e' um computador de grande  porte e uma das  carac
  976. teri'sticas  que o  colocam nesta  classe e'  o fato   de  que  
  977. ele  tem   diversos terminais.   O uso do KERMIT  em  trans
  978. fere^ncias  host-host  difere  do caso PC-host na medida   em 
  979. que  a linha que conecta um terminal a um host na~o e' a mesma 
  980. atrave's da qual os dados sera~o transferidos  de um host para  
  981. o outro e que  alguns comandos  especiais tem que ser   emi
  982. tidos  para  permitir cumprir comandos na~o usuais  do  outro 
  983. host.
  984.  
  985.      Neste exemplo,  voce^ ja' esta' "logado" num DEC-20 e usou 
  986. um  discador  automa'tico  para  se  conectar  a um   sistema  
  987. IBM/370,  rodando VM/CMS, atrave's da porta TTY 12 do DEC-20. 
  988. O discador automa'tico,  neste exemplo,  e'   invocado  de  um   
  989. programa chamado DISQUE (imaginado aqui,  por simplicidade), 
  990. ao qual basta que se fornec,a o nu'mero do telefone.
  991.  
  992. @disque 765-4321/baud:1200
  993. Confirme: 765-4321, BAUD 1200.     (Voce^ tecla RETURN)
  994. Discando. Favor aguardar...
  995. Portadora detectada atrave's da TTY12:
  996. @
  997.  
  998.      Existem   outros   me'todos  para  conectar dois   hosts  
  999. com   uma  linha serial.   As   conexo~es   entre    ma'quinas  
  1000. pro'ximas    podem   ser   feitas simplesmente  passando   um  
  1001. cabo  EIA entre  suas  portas  TTY.  Conexo~es manuais tambe'm 
  1002. podem   ser feitas  mas sa~o  trabalhosas.  Se  voce^ tem   um 
  1003. micro  que suporte KERMIT,  talvez ache  mais fa'cil transfe
  1004. rir um arquivo do host A para ele e, dele, para o host B.
  1005.  
  1006.      O  procedimento abaixo deve servir  em  qualquer  caso, 
  1007. uma vez feita a conexa~o.  Note que  o KERMIT-20  executa uma  
  1008. conexa~o  a   terminal  remoto rodando  um  programa  chamado 
  1009. TTLINK num "fork" inferior. 
  1010.  
  1011. @
  1012. @kermit                   (chamando o KERMIT no DEC-20)
  1013. KERMIT-20>set ibm         (aciona handshaking especial,  pa
  1014.                            ridade e eco local)
  1015. KERMIT-20>set line (to tty) 12     (indica que linha usar)
  1016. KERMIT-20>connect         (conectando-se)
  1017. [TTLINK: CONNECTING TO REMOTE HOST OVER TTY12;
  1018.          TYPE <CTRL-Y>C TO RETURN]
  1019.  
  1020. VM/370 ONLINE  (o sistema da' suas mensagens de saudac,a~o)
  1021. login eu co'digo           (identificando-se ao sistema IBM)
  1022.  
  1023. LOGON AT 20:49:21 EST THURSDAY 07/12/84
  1024. CUVMB SP/CMS PUT 8210 01/19/84
  1025.  
  1026. kermit
  1027. KERMIT-CMS>send profile exec
  1028. ^Yc                       (seque^ncia de escape do TTLINK)
  1029. [TTLINK: CONNECTION CLOSED. BACK AT DEC-20.]
  1030. KERMIT-20>receive (informa ao KERMIT-20 que la' vem arquivos)
  1031.  
  1032.      A  transfere^ncia  comec,a nesse  momento.   O  KERMIT-20  
  1033. imprimira'  os nomes  dos arquivos que  chegarem, seguidos de  
  1034. pontos  ou porcentos para indicar o tra'fego dos pacotes  (um 
  1035. ponto  para  cada 5 pacotes transferidos com   sucesso,   um  
  1036. porcento  para  cada  time-out  ou  retransmissa~o). A trans
  1037. missa~o estara' completa quando voce^ vir um "[OK]",  ouvir  um 
  1038. bip  soar e  o prompt "KERMIT-20" aparecer.  Neste ponto nos 
  1039. reconectamos  ao IBM remoto,  saimos do KERMIT-CMS (EXIT)  e 
  1040. encerramos a sessa~o (LOGOUT). 
  1041.  
  1042. profile exec 1 ..%%.[OK]
  1043.  
  1044. KERMIT-20>connect  (de volta ao IBM para encerrar o servic,o)
  1045.  
  1046. [TTLINK: CONNECTING TO REMOTE HOST OVER TTY12:
  1047.          TYPE <CTRL-Y>C TO RETURN
  1048.  
  1049. KERMIT-CMS>exit
  1050. R;
  1051. logout
  1052.  
  1053. CONNECT= 00:03:01 VIRTCPU= 000:00.12 TOTCPU= 000:00.60
  1054. LOGOFF AT 20:52:24 EST THURSDAY 12/07/84
  1055.  
  1056. ^Yc                       (seque^ncia de escape do KERMIT-20)
  1057. [TTLINK: CONNECTION CLOSED. BACK AT DEC-20.]
  1058. KERMIT-20>exit            (acabado o servic,o do KERMIT)
  1059.  
  1060.      Este   e' todo  o procedimento.  O  arquivo esta' no  seu 
  1061. direto'rio   (no  DEC-20)   completamente    legi'vel,    como  
  1062. PROFILE.EXEC   --   note   que   o KERMIT-CMS   traduziu  da 
  1063. codificac,a~o  EBCDIC usada pela  IBM para ASCII e converteu o 
  1064. espac,o entre o nome e o tipo em um ponto. 
  1065.  
  1066.      Para mandar um  arquivo do  host local para  o  remoto,  
  1067. simplesmente  precisamos inverter os comandos SEND e RECEIVE 
  1068. que aparecem no exemplo acima.
  1069.  
  1070.  
  1071. .cp3
  1072. 2.5.3. MICRO <---> MICRO
  1073.  
  1074.      O  KERMIT  tambe'm  funciona  entre  computadores   pes
  1075. soais   (micro, estac,o~es de trabalho). A diferenca aqui esta' 
  1076. no  fato  de que os comandos sa~o entrados em dois  teclados,  
  1077. ao  inve's de num  so'.  Isto porque  um  computador   pessoal  
  1078. normalmente   so'  aceita  comandos  atrave's  de seu  pro'prio 
  1079. teclado.   Se um  KERMIT de  um  micro se  conecta a  outro,  
  1080. na~o existira' normalmente programa algum, do outro lado, para 
  1081. ouvi'-lo. 
  1082.  
  1083.      Fazer   a  conexa~o fi'sica entre os  dois  micros  exige 
  1084. certa atenc,a~o.  Se as duas ma'quinas  estiverem bem pro'ximas,  
  1085. podera' ser  usado um cabo "null-modem".  No entanto,  micros  
  1086. diferentes tem diferentes requisitos (uns exigem um conector 
  1087. fe^mea  em sua porta serial,  outros macho;  uns precisam que 
  1088. certos  sinais RS-232 sejam mantidos altos  ou  baixos).  De 
  1089. qualquer  modo  voce^  sempre tem que  se  assegurar  que  as  
  1090. velocidades das portas sa~o  as mesmas nas duas ma'quinas. 
  1091.  
  1092.      As   conexo~es  a longa dista^ncia podem  ser feitas  via 
  1093. discagem,  desde que MODEMs compati'veis estejam  disponi'veis 
  1094. (pode  ser  interessante  que um dos lados  tenha   resposta 
  1095. automa'tica) ou usando qualquer tipo de circuito dedicado  ou 
  1096. chaveado  que  possa estar disponi'vel  (PaBX,  centrador  de 
  1097. portas  ou  outra  coisa que se possa ligar em  um  conector 
  1098. EIA).
  1099.  
  1100.      Neste  exemplo um  DEC VT180  (ROBIN),  sob  CP/M, esta'  
  1101. ligado a um SUPERBRAIN da INTERTEC,  tambe'm sob CP/M,  usan
  1102. do-se  um cabo  null-modem fe^mea-macho.   Conseguir um  cabo 
  1103. certo e' a parte difi'cil.  A conexa~o pode ser testada rodando  
  1104. o pro'prio  KERMIT nas  duas ma'quinas  e emitindo  o  comando  
  1105. CONNECT   em   ambas:  o  que  se  teclar num   dos   micros 
  1106. devera' tambe'm aparecer na tela do outro.
  1107.  
  1108.      Suponha  que voce^ quer enviar o  arquivo ARQUIVO.HEX do 
  1109. ROBIN  para   o SUPERBRAIN.  Proceda da maneira  descrita  a 
  1110. seguir. 
  1111.  
  1112. 1. Rode o KERMIT no SUPERBRAIN e de^ o comando de recepc,a~o:
  1113.  
  1114.     A>kermit
  1115.     INTERTEC SUPERBRAIN KERMIT-80 - V3.7
  1116.  
  1117.     KERMIT-80>receive
  1118.  
  1119.  
  1120. 2.  Rode  o  KERMIT no ROBIN e comande-o para  transmitir  o 
  1121.     ARQUIVO.HEX
  1122.  
  1123.     A>kermit
  1124.     DEC VT18X KERMIT-80 - V3.7
  1125.     KERMIT-80>send arquivo.hex
  1126.  
  1127.      Observe  os pacotes voando.  Quando aparecer  o  prompt 
  1128. "KERMIT-80>",  a transfere^ncia terminou e voce^ pode sair dos 
  1129. dois KERMITs. 
  1130.  
  1131.      O   ponto   chave e'  preparar a  recepc,a~o  em  primeiro  
  1132. lugar (muitos KERMITs de micro na~o  incluem a facilidade  de  
  1133. time-out  e  se o  receptor na~o estiver pronto para  receber 
  1134. quando o transmissor comec,a a trabalhar, acontecera' um dead
  1135. lock de protocolo. 
  1136.  
  1137.  
  1138. .cp3
  1139. 2.6. Outra maneira: o SERVIDOR
  1140.  
  1141.      Ate' agora estivemos descrevendo as verso~es  elementares 
  1142. do protocolo KERMIT.  Uma  extensa~o  opcional deste protoco
  1143. lo inclui  o  conceito  de SERVIDOR.   Um SERVIDOR  KERMIT e'  
  1144. um  programa   KERMIT  que  na~o interage diretamente  com  o 
  1145. usua'rio   mas,  sim,  com outro  programa  KERMIT.  Na~o   se 
  1146. entram  comandos para  um servidor: ele simplesmente e'  cha
  1147. mado  em uma ma'quina e os comandos para ele sa~o  dados  pela 
  1148. ma'quina na outra ponta da conexa~o. 
  1149.  
  1150.      Nem todas as  implementac,o~es do  KERMIT podem ser  ser
  1151. vidores e  nem todas  sabem falar com  servidores (ainda). O 
  1152. servidor  deve rodar em um computador remoto, normalmente de 
  1153. grande  porte,  como  um DEC-20.  Ainda se tem  que fazer  a 
  1154. conexa~o com  ele,  identificar-se e disparar o servidor. Mas 
  1155. na~o  se   tem mais que  comandar um lado  para enviar  e   o 
  1156. outro   para  receber,   nem se reconectar  ao  remoto  para 
  1157. encerrar  a sessa~o. Usando o servidor, podemos  fazer  todas  
  1158. as   operac,o~es   que  quisermos,   falando somente   com   o 
  1159. KERMIT   do computador  local.  Alguns   servidores  preveem 
  1160. servic,os adicionais,  como listagens de direto'rios,  delec,a~o 
  1161. de arquivos e consulta aos controles de uso de disco.
  1162.  
  1163.      Um  servidor KERMIT e'  um mero programa KERMIT,  rodan
  1164. do  em um modo especial.  Age como se fosse um KERMIT  comum 
  1165. depois  que se da' o  comando RECEIVE  (espera  por uma  men
  1166. sagem  do   outro KERMIT)  mas neste  caso a mensagem  e'  um 
  1167. comando   que lhe diz o  que fazer,  normalmente enviar   ou 
  1168. receber  um arquivo ou um grupo deles.  Depois de escapar de 
  1169. volta para o sistema local,  podemos  dar quantos   comandos 
  1170. de enviar  ou receber  que quisermos e,  quando terminarmos, 
  1171. podemos  emitir o comando BYE,  que envia ao servidor KERMIT  
  1172. remoto  a   ordem de encerrar  a sessa~o   por  no's.   Na~o  e'  
  1173. necessa'rio  que   voltemos a nos  conectar ao  remoto   para 
  1174. fazer  isto.  Podemos,  tambe'm,  usar o  comando FINISH,  ao 
  1175. inve's  do BYE,  para tirar  o servidor do ar mas nos  manter 
  1176. em sessa~o com o host. 
  1177.  
  1178.      Este   e' um exemplo  do uso de  um servidor KERMIT.   O 
  1179. usua'rio  esta' usando um micro sob CP/M,  ligado a um  DEC-20 
  1180. como host remoto. 
  1181.  
  1182.     A>kermit              (chamando o KERMIT do micro)
  1183.     KERMIT V3.7
  1184.  
  1185.     KERMIT-80>connect
  1186.                     (pedindo conexa~o, apo's prompt do micro)
  1187.  
  1188.      [CONNECTING TO REMOTE HOST.
  1189.           TYPE CTRL-]C TO RETURN TO MICRO.]
  1190.  
  1191.     CU20E                 (o DEC-20 o atende)
  1192.  
  1193.     @login eu codigo      (identifique-se, como sempre)
  1194.  
  1195.  
  1196.     ( o DEC-20 imprime va'rias mensagens...)
  1197.  
  1198. @kermit                (chamando o KERMIT, normalmente)
  1199. KERMIT-20>server       (mandando-o trabalhar como servidor)
  1200. KERMIT SERVER RUNNING ON DEC-20 HOST.
  1201.                     PLEASE TYPE YOUR ESCAPE SEQUENCE
  1202.                     TO RETURN TO YOUR LOCAL MACHINE.
  1203.                     SHUT DOWN THE SERVER BY TYPING THE
  1204.                     KERMIT COMMAND ON YOUR LOCAL MACHINE.
  1205.  
  1206. ^]C                    (escapando, agora, para o micro)
  1207.      [CONNECTION CLOSED, BACK AT MICRO.]
  1208. KERMIT-80>get *.pas    (pegando todos meus programas PASCAL)
  1209. KERMIT-80>send arq*.*  (enviando todos os arquivos
  1210.                                    comec,ados por "ARQ")
  1211. KERMIT-80>exit      (saindo do KERMIT; voltando para o CP/M)
  1212. A>
  1213.  
  1214.  
  1215. (Aqui podemos fazer algum trabalho no micro,  como editar um 
  1216. arquivo.)
  1217.  
  1218.  
  1219. A>kermit         (rodando mais um pouco o KERMIT)
  1220. KERMIT-80>send oficio.txt (mando mais um arquivo)
  1221. KERMIT-80>bye    (So' isto. Derrubo o servidor)
  1222. A>               (de volta ao CP/M, automaticamente)
  1223.  
  1224.      Assim  e'  mais simples.  Note que  uma vez  iniciado  o 
  1225. servidor   KERMIT na ponta remota,  podemos rodar  o  KERMIT 
  1226. quantas  vezes quisermos,  sem ter que ficar,  mais,  indo e 
  1227. voltando  ao host remoto.  So' devemos ter  cuidado para  na~o 
  1228. nos  esquecermos  de encerrar o servidor atrave's do  comando 
  1229. BYE. 
  1230.  
  1231.      Seguem  os comandos ba'sicos disponi'veis para  se  falar 
  1232. com servidores. 
  1233.  
  1234. SEND especificac,a~o-de-arquivo
  1235.                Envia  um  arquivo ou grupo  de  arquivos  do 
  1236.                local para o remoto, da forma normal.
  1237.  
  1238. GET especificac,a~o-de-arquivo
  1239.                Pede  ao  remoto que envie um arquivo  ou  um 
  1240.                grupo de arquivos para o local.
  1241.  
  1242.                Este  comando e' equivalente ao SEND num remo
  1243.                to,  seguido  por   um   RECEIVE   no  local.  
  1244.                Repare  que  o KERMIT  local na~o faz  valida
  1245.                c,a~o  das especificac,o~es dos  arquivos.  Se  o  
  1246.                servidor  na~o  puder  obedecer   ao  comando,  
  1247.                mandara'   de  volta   uma mensagem   de  erro 
  1248.                apropriada.
  1249.  
  1250. .cp3
  1251. BYE
  1252.                Derruba  o servidor  e sai  do  KERMIT,   bem  
  1253.                como  vale um encerramento de sessa~o do  host 
  1254.                (LOGOUT).
  1255.  
  1256. .cp5
  1257. FINISH
  1258.                Derruba  o  servidor  sem  sair  do   KERMIT.   
  1259.                Um subsequente comando  CONNECT  nos  devolve  
  1260.                ao   seu servic,o no host remoto,  a ni'vel  de 
  1261.                comando CMS. 
  1262.  
  1263.  
  1264. .pa
  1265. .he                                    Quando as coisas va~o mal
  1266. 3. Quando as coisas va~o mal
  1267.  
  1268.      Conectar dois computadores pode ser um servic,o  engano
  1269. samente fa'cil e muitas coisas  podem  sair  erradas.   Antes  
  1270. que  possamos  efetivamente transferir arquivos,  precisamos 
  1271. estabelecer  comunicac,a~o  de terminal.  Mas um sucesso  numa 
  1272. conexa~o de terminal na~o significa que uma  transfere^ncia  de  
  1273. arquivos   funcionara' e  mesmo quando  a transfere^ncia   pa
  1274. rece estar funcionando,  podem acontecer coisas que a arrui
  1275. nem. 
  1276.  
  1277.  
  1278. .cp3
  1279. 3.1. Problemas com a linha de comunicac,a~o
  1280.  
  1281.      Se   voce^  tem uma versa~o do KERMIT em seu micro mas  o 
  1282. comando  CONNECT parece na~o funcionar,  assegure-se  de  que 
  1283. todas as conexo~es fi'sicas exigidas foram feitas,  sem folgas  
  1284. meca^nicas;  se  estiver usando  um modem  full-duplex,  veja  
  1285. se a la^mpada que indica a presenc,a da portadora esta' ligada; 
  1286. se seu micro tem mais de um conector,  veja se esta' usando o 
  1287. certo;  observe se o port esta' preparado corretamente para a 
  1288. velocidade  (ou baud-rate) empregados no host;  algumas ver
  1289. so~es do KERMIT tem, internamente, o comando SET BAUD, outros 
  1290. precisam que  se prepare o baud rate usando  as  facilidades  
  1291. do seu  sistema operacional,   antes que  o KERMIT  comece a 
  1292. rodar;  use  o comando SHOW para verificar qual o baud  rate 
  1293. corrente; veja se os outros para^metros da linha de comunica
  1294. c,a~o (como paridade,  bits por caracter, handshake e controle 
  1295. de fluxo) esta~o propriamente setados. 
  1296.  
  1297.      Consulte,  sempre,  os manuais de sistemas e de equipa
  1298. mentos.
  1299.  
  1300.      Se   todas  as conexo~es  e preparac,o~es  parecem   estar 
  1301. corretas  e ainda assim na~o conseguir estabelecer  comunica
  1302. c,a~o, o defeito pode estar no seu modem.  Os modems  internos 
  1303. (aqueles   que  sa~o   colocados num  dos  slots,  dentro  do 
  1304. chassi  do  micro)  na~o  sa~o recomendados  para  o  uso  com  
  1305. KERMIT. Muitos  dos programas  KERMIT para micro  sa~o escri
  1306. tos   para controlar o hardware de  comunicac,a~o   explicita
  1307. mente   e   os  modems  internos  podem interferir  com  tal 
  1308. controle.
  1309.  
  1310.  
  1311.      O    KERMIT  normalmente  espera  ter  controle   total  
  1312. da  porta  de comunicac,a~o.  Entretanto,  alguns equipamentos 
  1313. de  comunicac,a~o   controlam a linha entre os  dois  computa
  1314. dores, em  ambas as pontas. Exemplos de  onde isto  acontece  
  1315. sa~o os  modems  "inteligentes",  as  unidades  de selec,a~o ou 
  1316. contenc,a~o   de  portas,   multiplexadores,  redes  locais  e  
  1317. redes   que abranjem  grandes   a'reas.   Tais   equipamentos  
  1318. podem   interferir   com  o protocolo de  transfere^ncia   de 
  1319. arquivos  do KERMIT de diversas formas:  pode ser imposto um 
  1320. regime  de  paridade  sobre a linha;  isto significa  que  o  
  1321. oitavo bit de cada  caracter e' usado pelo  equipamento  para 
  1322. checar a transmissa~o; o uso de paridade...
  1323.  
  1324.     ... faz  com que  o checksum dos pacotes  se  apresentem 
  1325.         incorretos   ao  receptor e frustam qualquer  trans
  1326.         fere^ncia  de arquivos;  na maioria dos casos  nem  o 
  1327.         primeiro pacote passara';  
  1328.  
  1329.     ... impede  o  uso do oitavo  bit,  impresci'ndivel  para 
  1330.         dados bina'rios; 
  1331.  
  1332. se  a conexa~o como terminal funciona mas a transfere^ncia  de  
  1333. arquivos  na~o,   a  paridade geralmente e'  a  culpada;  para 
  1334. passar  por cima deste inconveniente,  descubra que paridade 
  1335. esta'  sendo  usada  e informe  ao  KERMIT   de   cada  ponta  
  1336. (atrave's do  comando SET)  de modo  que eles possam:
  1337.  
  1338.      a) compor e interpretar corretamente os checksums
  1339.  
  1340.      b) empregar uma codificac,a~o especial que permita passar 
  1341.         o  oitavo  bit atrave's do canal de comunicac,a~o de  7 
  1342.         bits (muitas redes de comutac,a~o de pacotes,  como  a 
  1343.         GTE TELENET,  exigem que se prepare a  paridade); os 
  1344.         equipamentos de  comunicac,a~o podem interpretar  cer
  1345.         tos  caracteres   no fluxo de dados  como  comandos;  
  1346.         por  exemplo:   de  repente voce^  ve^  o  seu   modem 
  1347.         "inteligente"  se  desconectando e comec,ando  a dis
  1348.         car uma  ligac,a~o para  a Tasma^nia.  O u'nico modo  de 
  1349.         se  contornar tais problemas e' colocar tais  equipa
  1350.         mentos  em   modo "transparente"  ou  "bina'rio".   A 
  1351.         maioria   dos equipamentos  de comunicac,a~o  tem  uma  
  1352.         forma de  se fazer  isto (veja no manual).  Em   al
  1353.         guns  casos  o  modo  transparente  tambe'm  cancela
  1354.         ra'  o processamento da paridade, permitindo o uso do 
  1355.         oitavo bit para dados. 
  1356.  
  1357.  
  1358. .cp3
  1359. 3.2. A transfere^ncia ficou presa
  1360.  
  1361.      Exitem  va'rias  situac,o~es nas  quais transfere^ncias  de 
  1362. arquivos   podem ficar  presas  mas,   uma  vez  que  muitos  
  1363. hosts   sa~o   capazes   de gerar  interrupc,o~es  de   timeout  
  1364. quando   os  dados  na~o   chegam   suficientemente  ra'pidos,  
  1365. eles podem usualmente retransmitir ou  negar a recepc,a~o (NAK 
  1366. - negatively   acknowledge) de pacotes   perdidos.     Ainda  
  1367. assim,    se   uma transfere^ncia  parecer  presa, voce^  pode 
  1368. teclar   RETURN  na   maioria dos micros   para  simular  um 
  1369. timeout. 
  1370.  
  1371.      Uma  excessa~o  interessante  e' o  KERMIT que   fica  no  
  1372. host  IBM  (sob VM/CMS):   ele na~o consegue detetar  timeout  
  1373. em  sua "console virtual" (ou seja,  o terminal do usua'rio). 
  1374. Dai',   quando se esta' usando o KERMIT  de um  micro ligado a 
  1375. um  host   IBM,  e'  eventualmente necessario  se  "reavivar" 
  1376. manualmente o host. 
  1377.  
  1378.      As  sec,o~es  seguintes  discutem   varias  razo~es  pelas 
  1379. quais    uma transfere^ncia   em   atividade    fica   presa.   
  1380. Antes  de  examina'-las,  assegure-se de ter,  realmente,  um 
  1381. KERMIT na outra extremidade da linha e de  que voce^ emitiu o 
  1382. comando  apropriado  (SEND,  RECEIVE ou SERVER).  Se o  lado 
  1383. remoto  na~o for  um servidor,   lembre-se  de que  voce^  tem  
  1384. que   se  re-conectar  a  cada  transfere^ncia e  emitir   um 
  1385. novo  comando  SEND ou RECEIVE. 
  1386.  
  1387.  
  1388. .cp3
  1389. 3.3. O micro se enganchou
  1390.  
  1391.      O   pro'prio   micro  eventualmente   se  engancha   por  
  1392. razo~es   acima  do  controle do KERMIT  como,  por  exemplo,  
  1393. flutuac,o~es de energia.  Se a  tela do  micro na~o foi atuali
  1394. zada  por um longo peri'odo,  o micro pode ter se enganchado. 
  1395. Tente os passos a seguir (na ordem dada). 
  1396.  
  1397.      - Cheque  a conexa~o.  Veja se algum conector na~o  ficou 
  1398.        frouxo.  Se  voce^ estiver usando um  modem,  veja  se 
  1399.        ainda  existe o sinal da portadora e reestabelec,a   a 
  1400.        sua conexa~o, se for o caso. 
  1401.  
  1402.      - Tecle  RETURN  para acordar  seu  micro.  Isto   deve 
  1403.        limpar   qualquer  deadlock  no  protocolo.  Diversos 
  1404.        RETURNs podem ser necessa'rios. 
  1405.  
  1406.      - Se  o   problema na~o  for de  deadlock,   reinicie  o  
  1407.        micro e,  enta~o,  reinicie o KERMIT,  reconecte-se ao 
  1408.        host, retorne ao seu servic,o ou recomece  a partir do 
  1409.        processo  de  identificac,a~o ao sistema  (LOGIN)  para 
  1410.        reiniciar   a transfere^ncia.   Talvez voce^  tenha que  
  1411.        parar  e reiniciar o KERMIT no host. 
  1412.  
  1413. .cp3
  1414. 3.4. O host sumiu
  1415.  
  1416.      Se  o  seu  sistema local  estiver  funcionando mas   a  
  1417. transfere^ncia estiver  enganchada, talvez  o host remoto  ou 
  1418. o KERMIT  dele esteja com defeito. Volte a ni'vel  de comando 
  1419. no   KERMIT  local (nas  implementac,o~es  para  microcomputa
  1420. dores, voce^ pode estar apto a fazer isso teclando cerca de 5 
  1421. RETURNs  ou   um  ou mais  CONTROL-C's).   Emita  o  comando 
  1422. CONNECT   para que  voce^ possa ver o  que  aconteceu.  Se  o  
  1423. sistema  remoto  quebrou,  voce^ tera' que esperar ate'  que  o 
  1424. consertem  e  recomec,ar a transfere^ncia  do arquivo  em  que 
  1425. voce^ estava trabalhando no momento do pane. 
  1426.  
  1427. .cp3
  1428. 3.5. O disco esta' cheio.
  1429.  
  1430.      Se seu disquete local ou se o  direto'rio do host lotou, 
  1431. o  KERMIT   da  ma'quina   onde  aconteceu  o   problema    o  
  1432. informara'  e  encerrara'  a transfere^ncia.   Pode-se   reini
  1433. ciar  a  transfere^ncia  repetindo  todo  o procedimento  com 
  1434. um novo  disquete ou apo's uma "limpeza" do direto'rio. Alguns 
  1435. programas  KERMIT   permitem que  se continue  a   seque^ncia 
  1436. onde  se havia  parado.  Por  exemplo,  no  DEC-20,  usando-
  1437. se  o comando  SEND  e incluindo o nome do arquivo no  campo 
  1438. "(INITIAL)": 
  1439.  
  1440.      KERMIT-20>send *.for (initial) arquivo4.for
  1441.  
  1442.  
  1443. .cp3
  1444. 3.6. Interfere^ncia de mensagens
  1445.  
  1446.      Voce^   pode   descobrir   que  ocasional   e   imprevi
  1447. sivelmente   as transmisso~es  de arquivos  falham.  Uma  das 
  1448. explicac,o~es   poderia ser que mensagens de  terminais  esta~o  
  1449. se  misturando com  seus pacotes de  dados.  Isto  pode  in
  1450. cluir  mensagens de broadcasting do sistema (como "O sistema 
  1451. vai  sair do  ar em  30 minutos."),   mensagens  de   outros 
  1452. usua'rios  ("Ei,  Ricardo!   Que programa e' esse, KERMIT, que 
  1453. voce^ vive rodando?"), avisos que voce^ possa ter pedido ("Sao  
  1454. 19:30.  Va' pra casa!" ou "Voce  recebeu uma  corresponde^ncia 
  1455. de...").  Muitos programas KERMIT tentam desabilitar automa
  1456. ticamente  mensagens  intrusas mas nem todos podem  garantir 
  1457. que   va~o  funcionar  quando as coisas va~o  mal.  Por   isso 
  1458. talvez  seja bom se cuidar manualmente para que essas mensa
  1459. gens na~o aparec,am.  A maioria dos sistemas operacionais  dos 
  1460. hosts  aceita  comandos  que inibem mensagens deles  para  o 
  1461. terminal.
  1462.  
  1463. .cp3
  1464. 3.7. Erros no host
  1465.  
  1466.      Va'rias    condic,o~es  de  erro  podem  ocorrer  no  host  
  1467. e  afetar  a transmissa~o de  um arquivo.   Sempre  que ocor
  1468. rem  tais erros,  o  KERMIT remoto  normalmente tenta trans
  1469. mitir  uma mensagem informativa a respeito ao KERMIT  local, 
  1470. parando  a transmissa~o  e nos colocando em ni'vel  KERMIT  de 
  1471. comando no micro. 
  1472.  
  1473. .cp3
  1474. 3.8. O arquivo e' lixo
  1475.  
  1476.      Existem   condic,o~es  sob as quais   o  KERMIT  acredita 
  1477. haver transmitido bem um arquivo quando, na realidade, na~o o 
  1478. fez.  Geralmente  e' devido  a` tarefa  enganosamente  simples  
  1479. de  especificar   as caracteri'sticas  de  um  arquivo,  como  
  1480. texto   versus  bina'rio,   sete  X  oito  bits,   blocado  X 
  1481. desblocado  ou  varia'vel e  por ai'  a  fora.  Cada   sistema 
  1482. tem   as suas pro'prias  peculiaridades  e  cada  KERMIT  tem  
  1483. comandos  especiais  que permitem especificar como um arqui
  1484. vo  deve  ser armazenado ou  transmitido.  Normalmente  tais 
  1485. dificuldades   so' aparecem quando  da transfere^ncia  de  ar
  1486. quivos  bina'rios. Arquivos de texto  na~o costumam apresentar 
  1487. problemas entre dois  programas  KERMIT   quaisquer,   mesmo  
  1488. rodando  em  ambientes distintos. 
  1489.  
  1490.  
  1491. .cp3
  1492. 3.9. Veio lixo depois do fim do arquivo
  1493.  
  1494.      Quando se transfere arquivos de texto  de um micro para 
  1495. um host,  a`s vezes  aparecem  caracteres  estranhos  no fim,  
  1496. depois   dele   chegar ao sistema  alvo.
  1497.  
  1498.      Isto  e'  porque  muitos  micros  na~o  possuem  um  modo 
  1499. consistente  de  indicar fim de arquivo.  O CP/M  e'  um  bom 
  1500. exemplo.  A  menor unidade de armazenamento  em um  disquete  
  1501. de  CP/M  e'  um "bloco" de  128 bytes.   Arquivos   bina'rios  
  1502. sempre   consistem  em  um  nu'mero  de blocos completos  mas 
  1503. um  arquivo de texto pode terminar em qualquer parte de   um 
  1504. bloco.   Ja'  que o CP/M na~o grava um contador de  bytes  num 
  1505. arquivo,  usa a convenc,a~o de marcar o seu fim com o caracter 
  1506. CONTROL-Z.
  1507.  
  1508.      Se a sua  versa~o de  KERMIT na~o esta' interessada  nesta  
  1509. convenc,a~o,  vai  transmitir  todo o bloco  final,  que  pode 
  1510. conter   (e  provavelmente  contera')  lixo  depois   do  fim  
  1511. "real"  do  arquivo.
  1512.  
  1513.      Para  contornar  este  inconveniente,   a  maioria  dos 
  1514. KERMITs  para micro  tem comandos como  SET FILE  ASCII   ou 
  1515. SET  FILE   TEXT  para   instruir o  KERMIT  a  obedecer   a 
  1516. convenc,a~o  do CONTROL-Z.  Outros ja' trabalham em modo  texto 
  1517. por default,  outros ainda em  modo bina'rio  ou bloco.
  1518. .pa
  1519. .he                                             Comandos KERMIT
  1520. 4. Comandos KERMIT
  1521.  
  1522.      A   descric,a~o  feita  aqui e'  de  um   programa  KERMIT 
  1523. "ideal",  que  tem a maioria das  facilidades  especificadas  
  1524. no  Manual   do Protocolo  KERMIT.  Programa  KERMIT   algum  
  1525. tera'   todos   os  comandos  aqui  descritos  nem  suportara' 
  1526. todas estas opc,o~es. A forma exata de alguns comandos  podera' 
  1527. diferir   de versa~o para  versa~o.  Alguns programas   KERMIT 
  1528. podem suportar opc,o~es dependentes  de  sistema na~o   descri
  1529. tas   aqui.  A  intenc,a~o  desta descric,a~o  e' dar uma base na  
  1530. qual  programas KERMIT especi'ficos podera~o ser descritos  em 
  1531. termos de suas pro'prias diferenc,as do "ideal".
  1532.  
  1533.  
  1534. .cp3
  1535. 4.1. Operac,a~o remota e local
  1536.  
  1537.      Alguns  programas  KERMIT podem  rodar  de duas  manei
  1538. ras:   remota e local.  Um  KERMIT  remoto normalmente  roda  
  1539. em  um host,  ao  qual  nos ligamos atrave's de um micro. 
  1540.  
  1541.      Quando  um KERMIT roda remotamente,  toda transfere^ncia 
  1542. de  arquivo e' feita pela linha do  terminal de  controle  de  
  1543. servic,o  (a  mesma  que  voce^ usou  para se  identificar  ao 
  1544. sistema operacional do host e usar comandos interativos).  O 
  1545. sistema operacional pensa que voce^ tem um terminal comum, ao 
  1546. inve's de um microcomputador. 
  1547.  
  1548.      Quando   o  KERMIT  esta' operando em   modo  local,   a 
  1549. transfere^ncia de arquivos e' feita  atrave's de um  dispositi
  1550. vo  externo,  como  a porta  de comunicac,a~o  serial do micro 
  1551. ou como  uma linha de terminal associada do host.
  1552.  
  1553.      O  KERMIT local e' ligado de alguma forma (um  mecanismo 
  1554. de  discagem) a outro computador, rodando sua pro'pria versa~o 
  1555. do  KERMIT.  O KERMIT local dete'm o controle   da  tela;   o 
  1556. remoto  na~o tem  acesso direto  a ela.   Os KERMIT  de micro 
  1557. geralmente rodam em modo  local, enquanto os de host em modo 
  1558. remoto,  precisando comandos especiais para entrarem em modo  
  1559. local.  Alguns  comandos so' fazem sentido para KERMITs remo
  1560. tos,  outros so' para locais e outros ainda podem ser  usados 
  1561. em ambos.  As operac,o~es remota  e local sa~o, esquematicamen
  1562. te, o seguinte. 
  1563.  
  1564. .cp20
  1565.  
  1566.                linha de comunicac,a~o
  1567.             +-------------/ /------(pacotes)---+  outras
  1568.             |                                  |  linhas
  1569. MICRO LOCAL |                                  |  | | |
  1570. +-----------+-----------+                      |  | | |
  1571. |   porta serial        |                   +--+--+-+-+----+
  1572. |-----------------------|                   |  |           |
  1573. |                       |                   |  |           |
  1574. |   Pacotes: 724        |                   |  sua         |
  1575. |   Retries: 1          |                   |  linha       |
  1576. |   File: PROGRAMA.C    |                   |  de          |
  1577. |                       |                   |  servic,o     |
  1578. |                (tela) |                   |  de          |
  1579. +-+---------------------+                   |  terminal    |
  1580.   |(comandos)                               |              |
  1581.   |   +---------+                           +--------------+
  1582.   +---+ teclado | (Voce^)                       HOST REMOTO
  1583.       +---------+          
  1584.                                      
  1585.  
  1586.      O  programa KERMIT  no micro  e' um  KERMIT LOCAL.  Pode 
  1587. controlar a tela, o teclado e a porta separadamente, podendo 
  1588. assim atualizar a  tela com informac,o~es de status,  observar  
  1589. atividade no e transferir pacotes de dados atrave's da  porta 
  1590. serial, ao mesmo tempo. 
  1591.  
  1592.      O programa  KERMIT  no  host  e'  o  KERMIT  REMOTO.   O  
  1593. usua'rio   se  identifica   ao host atrave's de uma  porta  de 
  1594. terminal.  O host na~o sabe se o usua'rio esta' entrando via um 
  1595. micro.  As  func,o~es do teclado,  da tela  e da  porta  esta~o 
  1596. todas  combinadas   na linha para terminal  do host  onde  o 
  1597. usua'rio se liga.  Em vista disto,  o KERMIT remoto e' cortado 
  1598. da  sua  tela e do seu teclado durante uma transfere^ncia  de 
  1599. arquivo. 
  1600.  
  1601.      Um   servidor KERMIT e' sempre remoto e tem que  receber 
  1602. seus comandos de um KERMIT local.  As descric,o~es que  seguem 
  1603. indicara~o quando um comando tem que ser remoto ou local.
  1604.  
  1605.  
  1606. .cp3
  1607. 4.2. Interface de comandos
  1608.  
  1609.      A  maioria das implementac,o~es (a versa~o UNIX e' a  maior 
  1610. excec,a~o)  tem uma  interface de comandos tipo palavras-chave  
  1611. ativa,  cujo  modelo  foi  o DECSYSTEM-20:  em  resposta  ao  
  1612. prompt  "KERMIT-XX>",  tecla-se  uma  palavra  chave   (como 
  1613. SEND,  RECEIVE ou  EXIT), possivelmente seguida por palavras 
  1614. chave adicionais  ou  para^metros,   cada um  deles   chamado  
  1615. "campo".   As  palavras   chave  podem ser  abreviadas  para  
  1616. qualquer  tamanho  desde que se mantenha a  distinc,a~o  entre 
  1617. aquelas  possi'veis para cada campo. Um  ponto de  interroga
  1618. c,a~o,   a  qualquer  momento pode  ser  usado  para  se obter 
  1619. informac,o~es acerca de  o que e'  esperado ou va'lido   naquele 
  1620. momento.   A facilidade  ESC-?  funciona  melhor  em  siste
  1621. mas   full-duplex   (ate'  o presente,  todos  menos  o  host  
  1622. IBM),   onde  o  programa  pode  "acordar"  imediatamente  e 
  1623. executar  a  func,a~o requerida.  Em sistemas orientados  para 
  1624. registros  ou  half-duplex,  a facilidade de  ESC  na~o  esta' 
  1625. disponi'vel e  o "?" requer um RETURN.
  1626.  
  1627.      Neste   exemplo  o usua'rio tecla "SET" e  um  ponto  de 
  1628. interrogac,a~o  para  descobrir quais sa~o  as opc,o~es  do  SET.  
  1629. Continua,  enta~o,   o  comando  no lugar  onde o  ponto   de 
  1630. interrogac,a~o  estava,  adicionando  um "D" e outro ponto  de 
  1631. interrogac,a~o  para  ver  quais das opc,o~es  comec,am  com  tal 
  1632. letra.  O usua'rio  escolhe duplex: tecla "U" (a u'nica  opc,a~o 
  1633. do  SET que comec,a com "DU"),  seguido por um  ESC (mostrado 
  1634. aqui por  um "$") para completar  o campo corrente e emite a 
  1635. palavra  guia "(TO)" para a pro'xima,  enta~o outro  ponto  de 
  1636. interrogac,a~o para ver as  possibilidades e assim por diante.  
  1637. O comando e' finalmente terminado por um RETURN.  Antes de se 
  1638. teclar  RETURN o comando pode ser editado  usando RUBOUT  ou 
  1639. outras teclas  apropriadas. Finalmente  o  mesmo  comando  e' 
  1640. entrado   novamente  com  um  mi'nimo de digitac,a~o,  com cada 
  1641. campo abreviado a seu u'nico comprimento mais   curto.  Neste 
  1642. exemplo,  as  partes tecladas pelo usua'rio estara~o em minu's
  1643. culas. 
  1644.  
  1645. KERMIT-20>set ?
  1646.  DEBUGGING        DELAY             DUPLEX            ESCAPE
  1647.  FILE             HANDSHAKE         IBM               LINE
  1648.  PARITY           RECEIVE           SEN
  1649. KERMIT-20>set d?
  1650.  DEBUGGING        DELAY             DUPLEX
  1651. KERMIT-20>set du$plex (to) ?
  1652.  FULL             HALF
  1653. KERMIT-20>set duplex (to) h$ALF
  1654. KERMIT-20>set du h
  1655.  
  1656.  
  1657. .cp3
  1658. 4.3. Notac,a~o
  1659.  
  1660.      Nas descric,o~es de comando, a seguinte notac,a~o e' usada: 
  1661.  
  1662. .cp4
  1663. qualquer
  1664.           um  para^metro - o si'mbolo em minu'sculas e'  trocado 
  1665.           por  um argumento do  tipo especificado   (nu'mero, 
  1666.           nome  do arquivo etc.)
  1667.  
  1668. .cp3
  1669. [qualquer]
  1670.           um   campo   opcional;   se   omitido   um   valor  
  1671.           default apropriado o substituira'
  1672.  
  1673. .cp3
  1674. nu'mero
  1675.           um nu'mero inteiro, entrado segundo  notac,a~o pre'via 
  1676.           do sistema
  1677.  
  1678. .cp4
  1679. caracter
  1680.           um  u'nico  caracter,  entrado literalmente ou como 
  1681.           um nu'mero (talvez octal ou hexadecimal)  represen
  1682.           tando  o valor ASCII do caracter
  1683.  
  1684. .cp3
  1685. nu'mero de ponto flutuante
  1686.           um  nu'mero   "real",   contendo possivelmente   um  
  1687.           ponto decimal e uma parte fraciona'ria
  1688.  
  1689. .cp7
  1690. especarq
  1691.           uma especificac,a~o de um arquivo,   isto e':  o nome 
  1692.           de  um   arquivo,   possivelmente  incluindo   uma  
  1693.           rota  de busca,   nome  de  dispositivo ou   dire
  1694.           to'rio   ou  outra  informac,a~o   de   qualificac,a~o,  
  1695.           inclusive    caracteres coringa,   ou de   ma'scara 
  1696.           para definic,a~o  de grupos de arquivos
  1697.  
  1698. .cp5
  1699. ^X
  1700.           um  caracter de controle pode ser escrito  usando-
  1701.           se a notac,a~o  "seta-para-cima"  ou  "circunflexo",  
  1702.           ja'  que muitos sistemas mostram seus caracteres de 
  1703.           controle desta forma.
  1704.  
  1705.      Os comandos sera~o mostrados em caixa-alta  (maiu'sculas) 
  1706. mas  podem ser entrados em qualquer combinac,a~o de maiu'sculas 
  1707. e minu'sculas. 
  1708.  
  1709.  
  1710. .cp3
  1711. 4.4. Suma'rio dos comandos KERMIT
  1712.  
  1713.      Esta   e'  uma lista  resumida dos comandos  KERMIT   da 
  1714. forma como eles devem ser encontrados na maioria dos progra
  1715. mas KERMIT.  As pro'ximas sec,o~es descrevera~o tais comandos em 
  1716. detalhe. 
  1717.  
  1718. .cp2
  1719. Para trocar arquivos:
  1720.     SEND, RECEIVE, GET
  1721.  
  1722. .cp4
  1723. Para se conectar a um host remoto:
  1724.     CONNECT, SET LINE, SET PRIORITY, SET DUPLEX,
  1725.     SET HANDSHAKE,
  1726.     SET ESCAPE, SET FLOW-CONTROL
  1727.  
  1728. .cp2
  1729. Para agir como um servidor:
  1730.     SERVER
  1731.  
  1732. .cp2
  1733. Para falar com um servidor:
  1734.     BYE, FINISH, GET, SEND, REMOTE
  1735.  
  1736. .cp8
  1737. Preparando  transmisso~es  e  para^metros  de  arquivos   na~o-
  1738. standard:
  1739.     SET BLOCK-CHECK, SET DEBUG, SET DELAY, SET FILE,
  1740.     SET INCOMPLETE,
  1741.     SET PARITY, SET RETRY;
  1742.     SET SEND (ou RECEIVE) END-OF-LINE, START-OF-PACKET,
  1743.     PACKET-LENGTH,
  1744.     PAUSE, TIMEOUT, PADDING
  1745.  
  1746. .cp2
  1747. Para definir "macros" de comandos SET:
  1748.     DEFINE
  1749.  
  1750. .cp2
  1751. Para interromper a transmissa~o:
  1752.     CONTROL-X, CONTROL-Z, CONTROL-C
  1753.  
  1754. .cp2
  1755. Para conseguir informac,o~es:
  1756.     HELP, STATISTICS, SHOW
  1757.  
  1758. .cp2
  1759. Para executar arquivos de comandos:
  1760.     TAKE
  1761.  
  1762. .cp2
  1763. Para gravar um arquivo com o histo'rico de uma transmissa~o:
  1764.     LOG TRANSACTIONS
  1765.  
  1766. .cp3
  1767. Para  captura ou transmissa~o de arquivos sem-protocolo (na~o-
  1768. formais):
  1769.     LOG SECTION, TRANSMIT
  1770.  
  1771. .cp2
  1772. Para abandonar o programa:
  1773.     EXIT, QUIT
  1774.  
  1775.      Se  sua versa~o do KERMIT reconhece o comando TAKE e  se  
  1776. voce^  tem  um   arquivo chamado  KERMIT.INI  no   seu  disco 
  1777. default,  o KERMIT executara',   automaticamente, um  comando 
  1778. TAKE  sobre ele durante  sua  inicializac,a~o.   Este  arquivo  
  1779. pode conter  qualquer comando  KERMIT (por exemplo, comandos  
  1780. SET ou  DEFINE para  chamar macros  que configurem  o KERMIT 
  1781. para os va'rios sistemas ou meios de comunicac,a~o). 
  1782.  
  1783.  
  1784. .cp3
  1785. 4.5. SEND
  1786.  
  1787. Sintaxe: SEND especarq1 [especarq2]
  1788.  
  1789.      O comando  SEND faz  com que  um  arquivo ou  um  grupo  
  1790. deles  seja enviados  para outro sistema.  Existem duas for
  1791. mas  do  comando,  dependendo  do fato  de   haver  ou   na~o  
  1792. caracteres  coringa   em  especarq.  O  uso   de  caracteres  
  1793. coringa  e'  o me'todo  mais comum de  se indicar  um grupo de 
  1794. arquivos numa u'nica especificac,a~o de arquivo.  Por  exemplo, 
  1795. se FULANO.TXT e'  um arquivo de texto, enta~o *.TXT  se refere 
  1796. ao grupo dos arquivos de texto.
  1797.  
  1798.      Se  especarq1  conte'm  caracteres  coringa,   todos  os  
  1799. arquivos   que coincidirem  sera~o  enviados,  na   ordem  do  
  1800. direto'rio,   por nome.  Se um arquivo na~o  puder  ser aberto  
  1801. para leitura,  sera'  pulado.
  1802.  
  1803.      O  arquivo inicial  para um grupo pode ser indicado  em 
  1804. especarq2.  Isto  possibilita uma transfere^ncia de um  grupo 
  1805. ser continuada do ponto em que foi abandonada, bem como para 
  1806. pular alguns arquivos que na~o se interessa transmitir. 
  1807.  
  1808.      Se   especarq1  na~o conte'm  caracter coringa  algum,  o  
  1809. u'nico arquivo especificado sera'  transmitido.  Opcionalmente  
  1810. especarq2  podera'  ser usado  para especificar o nome sob  o  
  1811. qual  o  arquivo chegara' no sistema alvo.  Especarq2  na~o  e' 
  1812. validado; se na~o especificado, o arquivo mantera' seu nome.
  1813.  
  1814.      Os   arquivos sera~o transmitidos com seus nomes e tipos 
  1815. (por exemplo,  ARQ.TXT, sem campos de direto'rio  ou disposi
  1816. tivo,  sem  nu'mero de  gerac,a~o ou  atributos).  Ao  se  usar 
  1817. paridade   na  linha de  comunicac,a~o (veja  SET  PARITY),  o  
  1818. KERMIT transmissor  exigira' que  o outro  KERMIT aceite   um 
  1819. tipo  especial de notac,a~o de prefixo para arquivos bina'rios. 
  1820. Isto e' uma facilidade avanc,ada e nem todos os KERMITs a tem; 
  1821. se  o  outro  KERMIT  na~o concordar   em   usa'-la,  arquivos  
  1822. bina'rios  na~o podera~o  ser transmitidos corretamente. 
  1823.  
  1824.      Outra  coisa  que o KERMIT  transmissor  perguntara'  ao 
  1825. receptor  e'  se ele  e'  capaz de  manusear uma   codificac,a~o  
  1826. especial de  prefixos para caracteres repetidos. Caso receba 
  1827. uma resposta afirmativa,  arquivos  com longas   cadeias  de   
  1828. caracteres  repetidos   sera~o  transmitidos  mais eficiente
  1829. mente. Textos com tabelas ou altamente identados e  arquivos 
  1830. bina'rios sa~o os maiores beneficiados com esta te'cnica. 
  1831.  
  1832.                   Operac,a~o remota de SEND
  1833.  
  1834.      Se voce^ esta' rodando o KERMIT remotamente,  deve "esca
  1835. par"  de   volta  para  o seu  KERMIT local  dentro   de  um  
  1836. tempo razoa'vel e  dar o comando RECEIVE. Na~o leve mais  de 1 
  1837. ou  2  minutos para completar o  chaveamento sena~o  o KERMIT 
  1838. remoto podera' "desistir"  por time-out (neste caso voce^ tera' 
  1839. que  se  reconectar ao remoto e emitir novamente  o  comando 
  1840. SEND). 
  1841.  
  1842.                    Operac,a~o local de SEND
  1843.  
  1844.      Se   voce^   esta' operando  localmente  um   KERMIT,  ja'  
  1845. deve  ter inicializado um KERMIT remoto e emitido um comando 
  1846. RECEIVE ou SERVER. 
  1847.  
  1848.      Uma vez dado o  comando SEND,  o nome  de cada  arquivo 
  1849. aparecera'   na sua  tela  conforme comec,ar  a  transfere^ncia  
  1850. e  informac,o~es   sera~o dadas para informar  o  tra'fego   dos 
  1851. pacotes.   Quando  a   operac,a~o  especificada  terminar,   o 
  1852. programa   fara' soar  um BIP e  o status  da  operac,a~o  sera' 
  1853. indicada por uma mensagem como OK,  COMPLETE, INTERRUPTED ou 
  1854. FAILED. 
  1855.  
  1856.      Se voce^  perceber muitas  indicac,o~es de  retransmisso~es 
  1857. de   pacotes,  provavelmente  voce^ esta' sofrendo de  um  mal 
  1858. chamado  "conexa~o  ruidosa".  Uma forma para se  diminuir  o 
  1859. nu'mero  de  retransmisso~es  e'  usar  o   comando  SET   SEND  
  1860. PACKET-LENGTH  para   diminuir o  comprimento dos   pacotes; 
  1861. tal medida diminuira' a probabilidade de  um dado pacote  ser 
  1862. adulterado  por  rui'do  e  reduzira' o  tempo  gasto  com  as 
  1863. retransmisso~es dos pacotes adulterados.
  1864.  
  1865.      Se  voce^  notar  que  esta'  sendo  transmitido  um  ar
  1866. quivo  que  na realidade na~o era para o ser,   podera' cance
  1867. lar a operac,a~o imediatamente teclando CONTROL-X  ou CONTROL-
  1868. Z.   Se voce^  estiver trabalhando  com  um grupo  de  arqui
  1869. vos,  o  CONTROL-X causa  o "pulo" do arquivo  correntemente 
  1870. sendo transmitido e  o KERMIT  procurara' o  pro'ximo arquivo;  
  1871. CONTROL-Z  cancelara' a transmissa~o de todo o grupo de arqui
  1872. vos e devolvera' voce^ a ni'vel de comando do KERMIT-20.
  1873.  
  1874.  
  1875. .cp5
  1876. 4.6. RECEIVE
  1877.  
  1878. Sintaxe: RECEIVE [especarq]
  1879.  
  1880.      O  comando RECEIVE informa ao KERMIT  que deve passar a 
  1881. esperar pela chegada de um arquivo ou por um grupo de arqui
  1882. vos  enviado por um comando SEND  dado  ao  outro   sistema.  
  1883. Se  somente  um  arquivo  estiver sendo recebido,  voce^ pode 
  1884. incluir  a  especarq  opcional para informar o nome   a  ser  
  1885. dado  para   gravar o  arquivo que  chegar  (sena~o   o  nome 
  1886. transmitido sera' mantido).  Se o nome que vier no header na~o 
  1887. for  um nome va'lido para o sistema local,  o KERMIT  tentara' 
  1888. transforma'-lo  num nome bom.  Se o nome sob o qual o arquivo 
  1889. sera' gravado ja' existir, o KERMIT tanto  tentara' sobrepor  o 
  1890. arquivo  existente  com o  novo quanto tentara'  inventar  um 
  1891. novo nome,  dependendo da preparac,a~o para manuseio de arqui
  1892. vos. 
  1893.  
  1894.      Se voce^ ligou paridade, a prefixac,a~o do oitavo bit sera' 
  1895. exigida.  Se o  outro lado  na~o puder fazer  isto,  arquivos 
  1896. bina'rios   na~o  podera~o  ser  corretamente  transmitidos.  O 
  1897. KERMIT  transmissor podera',  tambe'm,  pedir autorizac,a~o para 
  1898. comprimir caracteres repetidos. 
  1899.  
  1900.      Se um arquivo na~o chegar integralmente, sera' descartado 
  1901. pelo  KERMIT e na~o aparecera' no seu direto'rio.  Voce^  podera' 
  1902. mudar  este comportamento atrave's do comando SET  INCOMPLETE 
  1903. KEEP. 
  1904.  
  1905.  
  1906.                  Operac,a~o remota de RECEIVE
  1907.  
  1908.      Se  voce^  estiver  rodando  KERMIT  remotamente,   deve 
  1909. escapar de  volta para o local e emitir o comando SEND. Isto 
  1910. dentro  de 2 minutos no ma'ximo ou  o  KERMIT  remoto  desis
  1911. tira'  por  time-out.   Se  isto   acontecer,  conecte-se  de 
  1912. volta ao remoto e re-emita o comando RECEIVE. 
  1913.  
  1914.  
  1915.                  Operac,a~o local de RECEIVE
  1916.  
  1917.      Se voce^ esta' rodando  o KERMIT localmente, ja'  deve ter 
  1918. emitido   o  comando  SEND no remoto  e escapado  de   volta 
  1919. para  o  local.  Conforme os arquivos forem  chegando,  seus 
  1920. nomes  aparecera~o na tela,  juntamente  com informac,o~es sem
  1921. pre atualizadas do tra'fego dos pacotes. 
  1922.  
  1923.      Se  comec,ar  a chegar  um  arquivo que  voce^  na~o quer,  
  1924. cancele sua transmissa~o teclando  CONTROL-X;  isto  manda um  
  1925. pedido  de  cancelamento para  o KERMIT remoto.  Se o KERMIT 
  1926. remoto  entender seu pedido (nem todas as implementac,o~es  do 
  1927. KERMIT suportam  isto), ele obedecera'; se na~o  ele continua
  1928. ra'   a  transmitir.   Se  um  grupo  de   arquivos   estiver  
  1929. sendo transmitido,  voce^ pode cancelar a transmissa~o de todo 
  1930. o grupo,  teclando CONTROL-Z. 
  1931.  
  1932.  
  1933. .cp5
  1934. 4.7. GET
  1935.  
  1936. Sintaxe: GET especarq-remoto          (SOMENTE LOCAL)
  1937.  
  1938.      O  comando  GET pede a um servidor KERMIT  remoto  para 
  1939. mandar  o  arquivo ou o  grupo  de   arquivos  especificados  
  1940. pela  especarq-remoto.  Note  a distinc,a~o  entre os comandos 
  1941. RECEIVE   e GET:  o RECEIVE  po~e o KERMIT num estado passivo 
  1942. de  espera,   enquanto o GET manda  um comando SEND para   o 
  1943. servidor. 
  1944.  
  1945.      O   comando GET so' pode  ser usado quando o   KERMIT  e' 
  1946. local, com um servidor na outra ponta  da linha. Isto signi
  1947. fica   que  voce^  ja' tem  que ter se  conectado a  um  outro  
  1948. sistema, se identificado, chamado o KERMIT de la',  emitido o  
  1949. comando SERVER  e escapado  de volta  para o  KERMIT local. 
  1950.  
  1951.      A   especarq remota e' qualquer conjunto  de  caracteres 
  1952. que possa ser vista como uma especificac,a~o  va'lida de arqui
  1953. vo   para  o sistema  remoto.  Na~o  e'  validada  localmente. 
  1954. Conforme os arquivos chegam, seus nomes va~o  sendo mostrados 
  1955. na  tela,  junto  com conti'nuas indicac,o~es do  tra'fego   dos 
  1956. pacotes.   Como no comando RECEIVE, voce^ pode teclar ^X para 
  1957. pedir  que  o arquivo que estiver chegando  seja  cancelado, 
  1958. ^Z para pedir que todo o conjunto o seja. 
  1959.  
  1960.      Se  o KERMIT remoto  na~o for capaz de  executar func,o~es 
  1961. de servidor, voce^ provavelmente recebera'  de volta uma  men
  1962. sagem  dele  como  "ILLEGAL PACKET  TYPE"  (tipo  de  pacote 
  1963. inva'lido). Neste caso voce^  tem que se conectar  com o outro 
  1964. KERMIT,  emitir  o  comando SEND,  escapar de volta e dar  o 
  1965. comando RECEIVE. 
  1966.  
  1967.  
  1968. .cp5
  1969. 4.8. SERVER
  1970.  
  1971. Sintaxe:  SERVER      (SOMENTE REMOTO)
  1972.  
  1973.      O  comando SERVER faz com  que o KERMIT pare  de  rece
  1974. ber comandos do teclado e passe  a receber todas  as futuras 
  1975. instruc,o~es   sob a forma  de pacotes  KERMIT de outro siste
  1976. ma.  Um servidor KERMIT tem que ser remoto.  Isto implica em 
  1977. dizer  que voce^ tem  que estar dentro de  um  sistema,   por 
  1978. meio   de  um  outro computador (um   micro,  por  exemplo).  
  1979. Ale'm  disto,  seu  KERMIT local deve ter  comandos  para  se  
  1980. comunicar com servidores  (isto inclui GET, FINISH e BYE).
  1981.  
  1982.      Depois  de emitir este  comando,  escape de volta  para 
  1983. o seu sistema local e emita SEND,  GET, BYE, FINISH ou outro 
  1984. comando  de  servidor.  Se  o seu  KERMIT local  na~o tem   o 
  1985. comando  BYE,  enta~o  ele na~o  tem completa habilidade  para 
  1986. se  comunicar  com um  servidor e voce^ na~o deve  colocar   o 
  1987. KERMIT  remoto  em modo  servidor  mas, se  tem,  use-o para  
  1988. derrubar o servidor KERMIT e encerrar a sessa~o quando termi
  1989. nar o servic,o. 
  1990.  
  1991.      Quaisquer  para^metros  na~o  standard  devem ser   sele
  1992. cionados   com   o comando  SET antes de deixar o KERMIT  em 
  1993. modo servidor, em particular os de BLOCK-CHECK e FILE. 
  1994.  
  1995.  
  1996. .cp5
  1997. 4.9. BYE
  1998.  
  1999. Sintaxe: BYE     (SOMENTE LOCAL)
  2000.  
  2001.      Quando   rodando   como KERMIT  local falando   com  um  
  2002. servidor  KERMIT remoto,  use o comando BYE para derrubar  o 
  2003. servidor e encerrar a  sessa~o.  Seu uso tambe'm fechara' qual
  2004. quer arquivo log de depurac,a~o e encerrara' o KERMIT local. 
  2005.  
  2006.  
  2007. .cp5
  2008. 4.10. FINISH
  2009.  
  2010. Sintaxe: FINISH               (SOMENTE LOCAL)
  2011.  
  2012.      Rodando   como um KERMIT local falando com um  servidor 
  2013. KERMIT  remoto,  use o FINISH para encerrar o KERMIT  remoto 
  2014. sem fechar a sessa~o no  host,  de  forma  a poder  se  reco
  2015. nectar a  ele  conforme precisar.   Inclui um fechamento  de 
  2016. algum arquivo log local. 
  2017.  
  2018.  
  2019. .cp5
  2020. 4.11. REMOTE
  2021.  
  2022. Sintaxe: REMOTE comando       (SOMENTE LOCAL)
  2023.  
  2024.      Rodando  em modo local,  falando com um servidor KERMIT 
  2025. remoto, manda o comando especificado  para o servidor.  Se o 
  2026. servidor   na~o  entender  o comando  (todos esses   comandos 
  2027. sa~o  facilidades opcionais  do protocolo KERMIT), respondera'  
  2028. com  uma  mensagem  como  "UNKNOWN  KERMIT  SERVER COMMAND".  
  2029. Se entender,  mandara' os  resultados de  volta e  eles sera~o 
  2030. mostrados na tela. Os comandos remotos sa~o:
  2031.  
  2032. .cp7
  2033. CWD [direto'rio]
  2034.                Troca o direto'rio em uso.  Se na~o for dado um 
  2035.                nome,   o servidor  usara' o nome default.  De 
  2036.                outra forma voce^ sera' inquirido por um co'digo 
  2037.                de  acesso  e  o  servidor tentara'  mudar   a 
  2038.                especificac,a~o   do direto'rio.   Se  o  acesso  
  2039.                lhe  for  negado,   o  servidor  mandara'  uma 
  2040.                mensagem a respeito.
  2041.  
  2042. .cp3
  2043. DELETE especarq
  2044.                Apaga  o arquivo ou grupo de arquivos especi
  2045.                ficado.   O nome de cada um aparecera' na  sua 
  2046.                tela.
  2047.  
  2048. .cp5
  2049. DIRECTORY [especarq]
  2050.                Os    nomes   de   arquivo  que   coincidirem   
  2051.                com   a  especificac,a~o  dada  aparecera~o   na 
  2052.                tela.   Na falta  de uma  especificac,a~o,  to
  2053.                dos  os  nomes  de  arquivo do presente dire
  2054.                to'rio sera~o listados. 
  2055.  
  2056. .cp4
  2057. DISK [direto'rio]
  2058.                Prove^  informac,a~o acerca de uso de disco   no  
  2059.                presente direto'rio  como a quota,   o armaze
  2060.                namento corrente, o total de espac,o livre. 
  2061.  
  2062. .cp2
  2063. HELP
  2064.                Fornece uma lista das func,o~es disponi'veis.
  2065.  
  2066. .cp4
  2067. HOST [comando]
  2068.                Passa o dado comando para o sistema  do  host  
  2069.                sob   o qual   o  servidor  esta'  rodando   e  
  2070.                manda   a   tela resultante para  a  tela  do 
  2071.                local.
  2072.  
  2073. .cp5
  2074. KERMIT [comando]
  2075.                Passa o comando dado, que e' expresso na  sin
  2076.                taxe  de comandos pro'pria do servidor KERMIT, 
  2077.                para o servidor, para execuc,a~o. Isto e'  muito 
  2078.                u'til  para  alterac,a~o  de opc,o~es  do  comando 
  2079.                SET, LOG e outras. 
  2080.  
  2081. .cp4
  2082. RUN nome-do-programa [argumentos]
  2083.                Faz  com que o KERMIT remoto rode o  programa 
  2084.                indicado,   com   os   argumentos   passados. 
  2085.                Manda  o  resultado de volta para a sua tela.
  2086.  
  2087. .cp5
  2088. PROGRAM [comando]
  2089.                Manda  o comando ao programa previamente dis
  2090.                parado por um comando RUN. Mostra os resulta
  2091.                dos  na sua tela.   Se na~o  for fornecido  um 
  2092.                comando, entrega um caracter de RETURN para o 
  2093.                programa.
  2094.  
  2095. .cp3
  2096. TYPE especarq
  2097.                Lista  o conteu'do do arquivo especificado  na 
  2098.                sua tela.
  2099.  
  2100.  
  2101. .cp5
  2102. 4.12. LOCAL
  2103.  
  2104. Sintaxe: LOCAL comando
  2105.  
  2106.      Executa   o comando especificado no sistema  local  (no 
  2107. sistema onde o KERMIT que esta' recebendo este comando  esti
  2108. ver rodando). Tais  comandos proveem  certa facilidade local 
  2109. de manuseio de arquivos sem ter que sair do KERMIT,  o que e' 
  2110. particularmente u'til em um microcomputador.
  2111.  
  2112. CWD [direto'rio] (muda o direto'rio em uso)
  2113.  
  2114. DELETE especarq (apaga o arquivo ou grupo de arquivos
  2115.                                              especificado)
  2116.  
  2117. DIRECTORY [especarq] (prove^ uma listagem de direto'rio)
  2118.  
  2119.      Alguns  programas  KERMIT  podem prover comandos   para 
  2120. estas e  outras func,o~es  na sintaxe  de seus pro'prios   sis
  2121. temas,  quando   isto na~o causar confuso~es.  Por exemplo,  o 
  2122. KERMIT  de  CP/M pode usar ERA em vez  de  DELETE,  sem  ser 
  2123. precedido pela palavra "LOCAL". 
  2124.  
  2125.  
  2126. .cp5
  2127. 4.13. CONNECT
  2128.  
  2129. Sintaxe: CONNECT [designac,a~o-de-terminal]
  2130.  
  2131.      Estabelece   uma conexa~o de terminal com  o sistema  na 
  2132. outra ponta da linha de comunicac,a~o. Num  micro, normalmente 
  2133. e'  uma porta serial.  Num computador  de grande  porte, voce^  
  2134. tera'  que   especificar um  nu'mero de linha de  terminal  ou 
  2135. outro identificador,  ou no pro'prio comando  CONNECT ou  num 
  2136. comando  SET.  Volte ao KERMIT local atrave's da seque^ncia de 
  2137. escape teclando o  <ESC> seguido  por um  comando de  carac
  2138. ter u'nico.   Diversos comandos de caracter u'nico sa~o  possi'
  2139. veis:
  2140.  
  2141. C   encerra a conexa~o e volta ao KERMIT local
  2142. S   mostra o status da conexa~o
  2143. B   manda um sinal de BREAK
  2144. 0   (zero) manda um caracter nulo.
  2145. P   cai no sistema local sem encerrar a conexa~o
  2146. Q   encerra a transcric,a~o da sessa~o para o log
  2147. R   reinicia a transcric,a~o da sessa~o para o log
  2148. ?   lista todos os argumentos de caracter u'nico possi'veis
  2149. ^]  (ou qualquer caracter de escape combinado)
  2150.     Teclar  o caracter  de escape 2  vezes manda uma   co'pia 
  2151.     dele ao host conectado.
  2152.  
  2153.      Podemos  usar  o  comando SET ESCAPE  para  definir  um 
  2154. caracter de escape diferente e acertar a paridade,  DUPLEX e 
  2155. HANDSHAKE, para estabelecer  ou mudar estes para^metros.
  2156.  
  2157.  
  2158. .cp5
  2159. 4.14. HELP
  2160.  
  2161. Sintaxe: HELP
  2162.  
  2163.      Teclar   "HELP"  sozinho   da' um  resumo do   KERMIT  e  
  2164. seus  comandos e possivelmente   instruc,o~es    para    obter   
  2165. detalhamento em to'picos particulares.   A maioria das imple
  2166. mentac,o~es  do KERMIT tambe'm permite  o uso do "?" dentro  de 
  2167. um comando para  produzir uma pequena mensagem  de ajuda.
  2168.  
  2169.  
  2170. .cp5
  2171. 4.15. TAKE
  2172.  
  2173. Sintaxe: TAKE especarq
  2174.  
  2175.      Executa comandos KERMIT presentes no arquivo  especifi
  2176. cado.  O arquivo pode conter qualquer comando KERMIT va'lido, 
  2177. inclusive outros TAKE's.
  2178.  
  2179.  
  2180. .cp5
  2181. 4.16. EXIT, QUIT
  2182.  
  2183. EXIT  sai do KERMIT
  2184.  
  2185. QUIT  sino^nimo de EXIT
  2186.  
  2187.  
  2188. .cp5
  2189. 4.17. SET
  2190.  
  2191. Sintaxe: SET [opc,a~o] [valor]
  2192.  
  2193.      Estabelece  ou   modifica  va'rios  para^metros  para   a 
  2194. transfere^ncia  de arquivos ou para uma conexa~o.
  2195.  
  2196.      Quando   uma   operac,a~o de  transfere^ncia  de   arquivo 
  2197. comec,a,   os  dois KERMITs automaticamente trocam  mensagens 
  2198. especiais de inicializac,a~o,  nas quais  cada programa  prove^ 
  2199. certas  informac,o~es  sobre si ao outro.   Essas  informac,o~es 
  2200. incluem o tamanho ma'ximo de  um pacote que ele recebera',   o 
  2201. tempo  de timeout que quer que o outro use,  o nu'mero e tipo 
  2202. de caracteres de enchimento que precisa,   o caracter de fim  
  2203. de  arquivo que  necessita para  terminar  cada pacote   (se 
  2204. precisar),   o  tipo de  BLOCK-CHECK,  os prefixos desejados 
  2205. para  os caracteres de controle,  caracteres com o   bit  de  
  2206. mais alta  ordem ligados  e caracteres  de repetic,a~o.   Cada 
  2207. programa  KERMIT  tem seu  pro'prio conjunto  desses  valores  
  2208. default  e  normalmente voce^  na~o  precisa se  importar  com  
  2209. isso.   Nada  impede  que voce^  use o comando SHOW para   se 
  2210. informar   acerca  desses valores;   o comando   SET  existe  
  2211. para  permitir  a  voce^ altera'-los  de  forma  a  adapta'-los 
  2212. a condic,o~es incomuns.
  2213.  
  2214.     Os seguintes para^metros podem ser modificados:
  2215.  
  2216. BAUD-RATE          prepara a velocidade da porta de  comuni
  2217.                    cac,a~o
  2218.  
  2219. BLOCK-CHECK        me'todo  de detec,a~o de erro de transmissa~o 
  2220.                    de um pacote
  2221.  
  2222. DEBUGGING          arquivo de log ou de modo
  2223.  
  2224. DELAY              quanto  esperar  antes  de  iniciar   uma 
  2225.                    transmissa~o
  2226.  
  2227. DUPLEX             para conexa~o de terminal, FULL (eco remo
  2228.                    to)  ou  HALF (eco local)
  2229.  
  2230. ESCAPE             caracter para conexa~o de terminal
  2231.  
  2232. FILE               para para^metros de arquivo,  como conver
  2233.                    sa~o de nomes e tamanho do byte
  2234.  
  2235. FLOW-CONTROL       selec,a~o  do me'todo de controle de  fluxo, 
  2236.                    como XON/XOFF
  2237.  
  2238. HANDSHAKE          para  permitir  inversa~o de  linhas  HALF 
  2239.                    DUPLEX
  2240.  
  2241. IBM                prepara o ambiente local para conexa~o com 
  2242.                    um host IBM (eco local, paridade marca)
  2243.  
  2244. INCOMPLETE         o que fazer com um arquivo incompleto
  2245.  
  2246. LINE               linha  de terminal para uso em conexa~o de 
  2247.                    terminal  ou transfere^ncia de arquivos
  2248.  
  2249. PARITY             bit de paridade a ser empregado
  2250.  
  2251. PORT               para chaveamento de portas de comunicac,a~o
  2252.  
  2253. RECEIVE            va'rios  para^metros para uma  recepc,a~o  de 
  2254.                    arquivos
  2255.  
  2256. RETRY              quantas   tentativas   de   retransmissa~o  
  2257.                    de  um pacote devera~o ser feitas antes de 
  2258.                    desistir
  2259.  
  2260. SEND               va'rios para^metros para uma transmissa~o de 
  2261.                    arquivos
  2262.  
  2263.      O   comando DEFINE  pode ser  usado para   compor  "ma
  2264. cros"   atrave's  da combinac,a~o de comandos SET.  Passamos  a 
  2265. descrever, em detalhes, o comando SET:
  2266.  
  2267.  
  2268. .cp3
  2269. SET BAUD-RATE
  2270.  
  2271.      Prepara  ou   muda o  BAUD-RATE  (traduc,a~o  aproximada:  
  2272. velocidade   de transmissa~o   em  bits  por   segundo)    no  
  2273. dispositivo  selecionado  de comunicac,a~o.  A forma de  espe
  2274. cificar  o  baud rate  varia de sistema   para  sistema;  na 
  2275. maioria dos casos o pro'prio nu'mero (1200,  9600) e' digitado. 
  2276. Os  sistemas  sem este comando  geralmente  esperam  que   a 
  2277. velocidade  da  linha ja'  esteja preparada,  antes do KERMIT 
  2278. entrar.
  2279.  
  2280.  
  2281. .cp3
  2282. SET BLOCK-CHECK
  2283.  
  2284.      O  KERMIT  normalmente  usa  um  cheque  de  bloco   de  
  2285. um   caracter (CHECKSUM) em cada  pacote.  O  transmissor do 
  2286. pacote   calcula este  byte baseado  nos outros   caracteres 
  2287. do   pacote e  o receptor  o recalcula da mesma  forma.   Se  
  2288. esses  valores  empatarem, o  pacote  e'  aceito  e  a trans
  2289. missa~o  continua;   em  caso  contra'rio,   o  pacote  e'  re
  2290. jeitado e retransmitido.
  2291.  
  2292.      O checksum  na~o  e',  no  entanto,  um  me'todo de  dete
  2293. c,a~o  de  erros infali'vel.  O cheque de bloco de  um caracter 
  2294. do KERMIT e',  normalmente, uma quantidade de  6  bits (os  8  
  2295. bits  de mais  baixa  ordem  da  soma aritme'tica,   dobrados 
  2296. sobre si pro'prio).  Com somente 6 bits de precisa~o, as chan
  2297. ces sa~o de uma em cada  2 elevado a` sexta potencia (1/64) de  
  2298. um erro  ocorrer e na~o ser detectado  pelo  checksum,  assu
  2299. mindo-se que todos os erros sa~o distribui'dos igualmente.
  2300.  
  2301.      Podemos  diminuir  a  probabilidade de um  erro  passar 
  2302. inco'lume,  a  custa  de  uma diminuic,a~o   da  eficie^ncia  da  
  2303. transmissa~o,  usando  o comando SET BLOCK-CHECK  para  sele
  2304. cionar  me'todos   de  checagem  de  blocos   mais rigorosos.  
  2305. Note que todos os tre^s me'todos detetara~o qualquer erro de um 
  2306. bit  ou qualquer erro de um nu'mero impar de bits.  As opc,o~es 
  2307. sa~o:
  2308.  
  2309. 1-CHARACTER-CHECKSUM  Um checksum normal de um caracter de 6 
  2310.                       bits
  2311.  
  2312. 2-CHARACTER-CHECKSUM  Um  checksum  de  2   caracteres,   12  
  2313.                       bits.   Reduz  a probabilidade  de  um  
  2314.                       erro  passar  para 1/4096 mas  aumenta 
  2315.                       de um caracter o pacote
  2316.  
  2317. 3-CHARACTER-CRC       Um  cheque de redunda^ncia ci'clica de 3  
  2318.                       caracteres,  16  bits,  formato CCITT. 
  2319.                       Ale'm de erros em qualquer nu'mero i'mpar 
  2320.                       de bits,  este me'todo detecta erros de 
  2321.                       bit  duplo,  todas rajadas de erro com 
  2322.                       16 ou menos e mais de 99.99% das raja
  2323.                       das maiores que isso.
  2324.  
  2325.      Checksums de um u'nico caracter tem provado ser  adequa
  2326. dos  na pra'tica,  muito mais efetivos do que  possa  parecer 
  2327. numa primeira ana'lise,  ja' que a  distribuic,a~o de probabili
  2328. dade na~o e' a mesma para todos os erros e um checksum simples 
  2329. serve  para  pegar  os tipos de erros ti'picos em  linhas  de 
  2330. telecomunicac,a~o.   Outros  me'todos  so' devem   ser  exigidos  
  2331. quando existe muito rui'do na conexa~o.
  2332.  
  2333.      Observe  que   os cheques  de bloco  de  2 e  3  carac
  2334. teres   na~o   esta~o  disponi'veis  em todas  as   verso~es  de 
  2335. KERMIT;   se  o outro  KERMIT na~o for capaz de  executar  os 
  2336. cheques de bloco de maior precisa~o,  a transfere^ncia automa
  2337. ticamente usara' o me'todo padra~o de caracter u'nico.
  2338.  
  2339.  
  2340. .cp5
  2341. SET DEBUG
  2342.  
  2343. Sintaxe: SET DEBUG [opc,o~es]
  2344.  
  2345.      Registra o tra'fego dos pacotes, no  seu terminal ou num 
  2346. arquivo.  As opc,o~es sa~o:
  2347.  
  2348. .cp2
  2349. STATES   Mostra  as transic,o~es de estado do KERMIT e nu'meros 
  2350.          de pacotes.
  2351.  
  2352. .cp2
  2353. PACKETS  Mostra cada pacote que chega e que sai  (comprimen
  2354.          tos).
  2355.  
  2356. .cp4
  2357. LOG-FILE Grava no arquivo de log especificado as informac,o~es  
  2358.          selecionadas  (estados  ou  pacotes).  Se o arquivo  
  2359.          de  log na~o foi especificado,  usa o  terminal,  se 
  2360.          local.
  2361.  
  2362. .cp3
  2363. OFF      Na~o  mostra  informac,o~es  de depurac,a~o  (este  e'  o 
  2364.          default).   Se  a depurac,a~o estava ativa, encerra-a  
  2365.          e fecha qualquer arquivo  de log.
  2366.  
  2367.  
  2368. .cp5
  2369. SET DELAY
  2370.  
  2371. Sintaxe: SET DELAY nu'mero
  2372.  
  2373.      Especifica  quantos  segundos  deve  esperar antes   de  
  2374. transmitir   o  primeiro  pacote depois de um comando  SEND. 
  2375. Use quando remoto e mandando arquivos para seu KERMIT local. 
  2376. Isto lhe da' tempo para escapar de volta e  emitir o  comando 
  2377. RECEIVE.  O atraso normal e'  de 5 segundos. Em modo local ou 
  2378. em  modo servidor,  o KERMIT na~o espera antes de  comec,ar  a 
  2379. mandar o primeiro pacote.
  2380.  
  2381.  
  2382. .cp5
  2383. SET DUPLEX
  2384.  
  2385. Sintaxe: SET DUPLEX palavra-chave
  2386.  
  2387.      Para  uso quando  conectado a  um sistema   remoto.  As  
  2388. palavras-chave  possi'veis  sa~o FULL e HALF.  FULL  significa  
  2389. que  o  sistema  remoto ecoa os caracteres que  voce^  tecla; 
  2390. HALF,  o local.   O default e' FULL e e'  usado pela   maioria 
  2391. dos   hosts.  HALF e'  necessa'rio ao se  conectar a  sistemas 
  2392. IBM. "Half duplex" tambe'm e' chamado "eco local".
  2393.  
  2394.  
  2395. .cp5
  2396. SET ESCAPE
  2397.  
  2398. Sintaxe: SET ESCAPE caracter
  2399.  
  2400.      Especifica  ou  muda o caracter que se quer  usar  para 
  2401. "escapar"  de  uma  conexa~o remota de volta  para  o  KERMIT 
  2402. local.  Normalmente e' um  caracter que na~o se espera usar no 
  2403. sistema remoto,  talvez um caracter de controle como ^\, ^], 
  2404. ^^ ou  ^_.  A maioria das verso~es  de KERMIT usa uma  dessas 
  2405. como   default.  Depois que se tecla  o caracter de  escape, 
  2406. deve-se  teclar  um argumento  de  uma  letra,   como   "C",  
  2407. para encerrar  a  conexa~o.  Os argumentos  sa~o  os  relacio
  2408. nados  acima,  sob  a  descric,a~o  do comando CONNECT.
  2409.  
  2410.  
  2411. .cp5
  2412. SET FILE
  2413.  
  2414. Sintaxe: SET FILE palavras-chave/para^metros
  2415.  
  2416.      Estabelece   os para^metros relacionados  com  arquivos. 
  2417. Dependendo das caracteri'sticas do sistema,  pode ser  neces
  2418. sa'rio  dizer  ao KERMIT  como acessar  arquivos do  disco ou 
  2419. como   armazenar arquivos  que cheguem.  Os  para^metros  que 
  2420. realmente se  especificam atrave's deste comando  variara~o de    
  2421. sistema   para   sistema   e    sempre   se   deve   consul
  2422. tar    a documentac,a~o  correspondente  ao  seu   KERMIT   em  
  2423. particular.   Alguns exemplos  seriam tamanho  do byte  (ar
  2424. quitetura PDP-10),   comprimento do registro ou  tamanho  do  
  2425. bloco  (sistemas  orientados  para  registros),  me'todos  de 
  2426. detec,a~o de fim de arquivo (microcomputadores).
  2427.  
  2428.      Este   pode  ser  um comando  importanti'ssimo  se  voce^ 
  2429. tentar  transferir arquivos bina'rios mas   e'  desnecessa'rio, 
  2430. normalmente,  para arquivos  de texto.
  2431.  
  2432.  
  2433. .cp5
  2434. SET FLOW-CONTROL
  2435.  
  2436. Sintaxe: SET FLOW-CONTROL opc,a~o
  2437.  
  2438.      Para a  comunicac,a~o  com  sistemas Full  Duplex.   Para  
  2439. o  protocolo KERMIT,   na~o e' necessa'rio controle de fluxo  a 
  2440. ni'vel  de sistema mas seu uso pode ser de alguma valia se  o 
  2441. mesmo  me'todo for disponi'vel nos  dois sistemas.  O tipo  de 
  2442. controle  de  fluxo mais comum em sistemas full duplex  e'  o 
  2443. XON/XOFF.
  2444.  
  2445.  
  2446. .cp5
  2447. SET HANDSHAKE
  2448.  
  2449. Sintaxe: SET HANDSHAKE opc,a~o
  2450.  
  2451.      Para comunicac,a~o com sistemas half duplex,   deixa  que 
  2452. se especifique o caracter de inversa~o  de linha enviado pelo  
  2453. host  em  half  duplex  para indicar  que  ele  terminou  de 
  2454. transmitir e garantir que esta' pronto para receber. Quando o 
  2455. handshake  e' ativado,  o KERMIT so' enviara' um  pacote quando  
  2456. o host em half duplex houver mandado o caracter especificado 
  2457. (ou acontecer um timeout). As opc,o~es sa~o:
  2458.  
  2459. NONE     Sem handshake;
  2460.           (desfaz o efeito de qualquer SET precedente)
  2461.  
  2462. XOFF     CONTROL-S
  2463. XON      CONTROL-Q
  2464. BELL     CONTROL-G
  2465. CR       CONTROL-M (retorno de carro)
  2466. LF       CONTROL-J (line feed)
  2467. ESC      CONTROL-[ (escape)
  2468.  
  2469.  
  2470. .cp5
  2471. SET INCOMPLETE
  2472.  
  2473. Sintaxe: SET INCOMPLETE opc,a~o
  2474.  
  2475.      Especifica  o que  fazer quando  uma transfere^ncia   de 
  2476. arquivo  falhar antes de terminar.   As opc,o~es sa~o   DISCARD 
  2477. (default)  e  KEEP.  Quando  se escolhe  KEEP  e  a   trans
  2478. fere^ncia na~o  se  completar, pode-se  guardar a parte que se 
  2479. chegou a receber.
  2480.  
  2481.  
  2482. .cp5
  2483. SET LINE
  2484.  
  2485. Sintaxe: SET LINE [designac,a~o de terminal]
  2486.  
  2487.      Especifica   a  linha  de terminal a  ser  usada   para 
  2488. transfere^ncia  ou  conexa~o.  Este comando e' encontrado   nos 
  2489. KERMIT's  de sistemas de  grande  porte,   que   normalmente  
  2490. rodam  em modo  remoto,  usando  seus pro'prios controladores 
  2491. de   terminal  para  a transfere^ncia  de  arquivos.   Ao  se 
  2492. especificar   uma linha separada  coloca-se o  programa   em 
  2493. modo  local.  Se linha alguma  for especificada,   volta  ao  
  2494. controlador  de   terminais   do sistema (de volta  ao  modo 
  2495. remoto).
  2496.  
  2497.  
  2498. .cp5
  2499. SET PORT
  2500.  
  2501. Sintaxe: SET PORT designador-de-terminal
  2502.  
  2503.      Especifica a porta de comunicac,a~o para transfere^ncia de 
  2504. arquivos  ou conexa~o.  Este comando e' encontrado em KERMIT's 
  2505. de microcomputadores que rodam em modo  local.  Na~o  muda  o 
  2506. status   remoto/local mas  simplesmente seleciona uma  porta 
  2507. diferente para operac,a~o local.
  2508.  
  2509.  
  2510. .cp5
  2511. SET PARITY
  2512.  
  2513. Sintaxe: SET PARITY palavra-chave
  2514.  
  2515.      Paridade  e' uma te'cnica empregada pelos equipamentos de  
  2516. comunicac,a~o para detetar erros numa base caracter-por-carac
  2517. ter; o oitavo bit de cada caracter age  como um  cheque para  
  2518. os  outros  sete bits.   O KERMIT  usa cheque de bloco  para 
  2519. detetar erros numa base pacote-por-pacote e na~o usa paridade 
  2520. para  caracteres.  Entretanto,  em  alguns sistemas  onde  o  
  2521. KERMIT tambe'm  roda  ou  em equipamentos  atrave's  dos quais  
  2522. esses sistemas se comunicam, a paridade de caracter pode ser 
  2523. usada.  Se o KERMIT na~o souber disso,  os dados que chegarem 
  2524. tera~o  seus   bits modificados e o cheque de bloco  parecera' 
  2525. errado e os pacotes sera~o rejeitados.
  2526.  
  2527.      Se a paridade estiver sendo utilizada numa linha, ambos 
  2528. KERMIT's tem que  ser informados,  de forma que  a  paridade 
  2529. desejada  seja acrescentada aos caracteres que saiam e reti
  2530. radas dos que cheguem.  Este comando  (SET PARITY)  deve ser 
  2531. usado  na  comunicac,a~o   com hosts que  exigem  paridade  de 
  2532. caracteres   (sistemas   IBM  sa~o   exemplos  ti'picos)    ou  
  2533. atrave's   de equipamentos  ou redes  (como a  GTE TELENET, a 
  2534. RCD/TB,  ou   o CIRANDA~O)  que incluem  paridade aos  carac
  2535. teres que passam por eles.   A paridade especificada e' usada  
  2536. tanto para conexa~o de terminal (CONNECT) quanto para  trans
  2537. fere^ncia de arquivos (SEND, RECEIVE, GET).
  2538.  
  2539.      As alternativas para a escolha da paridade sa~o:
  2540.  
  2541. NONE    oito bits de dados, sem paridade (default)
  2542. MARK    sete bits de dados, com bit de paridade ligado
  2543. SPACE   sete bits de dados, com bit de paridade desligado
  2544. EVEN    sete  bits de dados,  com bit de paridade ligado  de 
  2545.         forma a deixar a soma de todos eles um nu'mero par
  2546. ODD     sete  bits de dados,  com bit de paridade ligado  de 
  2547.         forma a deixar a soma de todos eles um nu'mero i'mpar
  2548.  
  2549.      NONE  significa  que nenhum processamento  de  paridade 
  2550. sera'  feito  e o oitavo bit de cada caracter pode  ser usado 
  2551. para dados na  transfere^ncia de arquivos bina'rios.
  2552.  
  2553.      Se informarmos ODD,  EVEN, MARK ou SPACE, verso~es avan
  2554. c,adas do KERMIT exigira~o que arquivos bina'rios  sejam trans
  2555. feridos usando prefixac,a~o  do oitavo  bit.  Se  o KERMIT  do  
  2556. outro  lado sabe  como se faz  isto (e' uma facilidade opcio
  2557. nal  do  protocolo KERMIT e nem todas as  implementac,o~es  de 
  2558. KERMIT  a tem),  arquivos bina'rios  podera~o ser transferidos 
  2559. com sucesso. Se for especificado NONE, a prefixac,a~o na~o sera' 
  2560. exigida.
  2561.  
  2562.  
  2563. .cp5
  2564. SET SEND
  2565.  
  2566. Sintaxe: SET SEND para^metro
  2567.  
  2568. CARACTER DE FIM DE LINHA
  2569.  
  2570.      O  caracter ASCII a ser usado  como terminador de linha 
  2571. nos  pacotes,  se  algum  for exigido,   sendo o   RETURN  o 
  2572. default.  Este  comando so'  e' necessa'rio  para sistemas  que 
  2573. requeiram um terminador de linha diferente do RETURN.
  2574.  
  2575.  
  2576. NU'MERO COM O COMPRIMENTO DO PACOTE
  2577.  
  2578.      Comprimento   ma'ximo  a ser  transmitido;   entre 10  e  
  2579. 94 (decimal). Encurtar os pacotes pode facilitar suas passa
  2580. gens atrave's de linhas  com muito rui'do. Aumenta'-los diminui 
  2581. o  tempo de transmissa~o necessa'rio para uma  transmissa~o  de 
  2582. arquivos numa linha limpa.
  2583.  
  2584.  
  2585. NU'MERO PARA TIMEOUT
  2586.  
  2587.      Quantos  segundos o KERMIT esperara' por um pacote antes 
  2588. de tentar de novo.
  2589.  
  2590.  
  2591. NU'MERO (DECIMAL FRACIONA'RIO) DE PAUSA
  2592.  
  2593.      Quantos  segundos o  KERMIT esperara'  antes de   enviar 
  2594. cada  pacote.  Sendo  um  valor diferente  de  zero,  alguns 
  2595. sistemas particularmente lentos tera~o  tempo suficiente para 
  2596. consolidar  seus pro'prios pacotes antes que um pro'ximo  che
  2597. gue. Normalmente na~o existe pausa entre pacotes.
  2598.  
  2599.  
  2600. NU'MERO DE PREENCHIMENTO, CARACTER DE PREENCHIMENTO
  2601.  
  2602.      Quantos   caracteres de preenchimento devem  ser envia
  2603. dos  antes de um pacote,  se o outro lado necessita disto  e 
  2604. qual caracter usar. O  default e' sem preenchimento e 0 (NUL) 
  2605. como caracter de preenchimento.
  2606.  
  2607.  
  2608. CARACTER DE CITAC,A~O
  2609.  
  2610.      Qual sera'  o  caracter  imprimi'vel  a  ser  usado  para  
  2611. simbolizar  caracteres   de  controle.  O   default   e'  "#"  
  2612. (43).  Na~o ha'  raza~o para alterar isto.
  2613.  
  2614.  
  2615. CARACTER DE INI'CIO DE PACOTE
  2616.  
  2617.      O  caracter  de ini'cio de pacote e' o u'nico caracter  de 
  2618. controle usado "nu"  pelo  protocolo  KERMIT.   Por  default  
  2619. e'  um  CONTROL-A.   Se   o aparecimento  de um CONTROL-A  nu 
  2620. causar problemas para o seu hardware ou software em particu
  2621. lar,  use  este comando para selecionar outro  caracter para  
  2622. indicar  o ini'cio de  um pacote.  O comando  reci'proco  deve 
  2623. ser dado para o KERMIT na outra  ponta (SET RECEIVE  inicio-
  2624. de-pacote), desde  que ele tenha tal comando.
  2625.  
  2626.  
  2627. .cp5
  2628. SET RECEIVE
  2629.  
  2630. Sintaxe: SET RECEIVE para^metro
  2631.  
  2632.      Para^metros  para requisitar ou esperar por pacotes  que 
  2633. chegam:
  2634.  
  2635. CARACTER DE FIM DE LINHA
  2636.  
  2637.      Retorno-de-carro (13) e' o default.
  2638.  
  2639.  
  2640. NU'MERO COM O COMPRIMENTO DO PACOTE
  2641.  
  2642.     Comprimento   ma'ximo   do  pacote  que   o  outro   lado  
  2643. transmitira', em nu'mero decimal inteiro, entre 10 e 94.
  2644.  
  2645.  
  2646. NU'MERO PARA TIMEOUT
  2647.  
  2648.      Quantos   segundos  o outro KERMIT deve esperar por  um 
  2649. pacote.
  2650.  
  2651. NU'MERO (DECIMAL FRACIONA'RIO) DE PAUSA
  2652.  
  2653.      Quantos  segundos   a esperar  antes de   reconhecer  o  
  2654. recebimento  do pacote.  Um valor diferente de zero diminui
  2655. ra'  a taxa em que os pacotes chegam, o  que pode  ser neces
  2656. sa'rio  para sistemas  "sensi'veis" que  na~o conseguem aceitar 
  2657. entrada a altas taxas.
  2658.  
  2659. NU'MERO DE PREENCHIMENTO, CARACTER DE PREENCHIMENTO
  2660.  
  2661.      Quantos  caracteres de  preenchimento exigir  antes  de  
  2662. receber cada pacote, e qual caracter e'. Na~o se sabe de algum 
  2663. KERMIT  que necessite  o preenchimento e se algum  assim  e', 
  2664. pedira'   isto no caso  de voce^ na~o o fizer.  Este comando so' 
  2665. seria necessa'rio sob condic,o~es muito incomuns.
  2666.  
  2667.  
  2668. CARACTER DE CITAC,A~O
  2669.  
  2670.      Qual sera'  o  caracter  imprimi'vel  a  ser  usado  para  
  2671. simbolizar  caracteres   de  controle.  O   default   e'  "#"  
  2672. (43).  Na~o ha'  raza~o para alterar isto.
  2673.  
  2674.  
  2675. CARACTER DE INI'CIO DE PACOTE
  2676.  
  2677.      O caracter de controle para marcar o ini'cio dos pacotes 
  2678. que  chegam.  Normalmente  SOH (CONTROL-A,   ASCII 1).  Veja 
  2679. SET  SEND START-OF-PACKET, acima.
  2680.  
  2681.  
  2682. .cp5
  2683. SET RETRY
  2684.  
  2685. Sintaxe: SET RETRY opc,a~o nu'mero
  2686.  
  2687.      Informa o nu'mero ma'ximo de tentativas permitido para:
  2688.  
  2689. INITIAL-CONNECTION
  2690.      Quantas  vezes  tentar  a conexa~o antes   de  desistir,  
  2691. normalmente algo em torno de 15.
  2692.  
  2693. PACKETS
  2694.      Quantas vezes tentar transmitir um pacote em particular 
  2695. antes  de  desistir.  Se uma  linha contiver  muito   rui'do, 
  2696. podemos  aumentar este nu'mero.
  2697.  
  2698.  
  2699. .cp5
  2700. 4.18. DEFINE
  2701.  
  2702. Sintaxe: DEFINE nome-da-macro [para^metros]
  2703.  
  2704.      Define  um  "macro-SET"  para permitir  uma  associac,a~o 
  2705. conveniente  de  um ou  mais  para^metros  do  SET   com  uma  
  2706. palavra  chave mnemo^nica  de sua escolha.  Os para^metros  do 
  2707. SET  sa~o   uma lista contendo  uma ou mais   das  opc,o~es  do 
  2708. comando  SET,  separadas por vi'rgulas.  Se voce^ usa o KERMIT 
  2709. para  se comunicar com diferentes  tipos de  sistema,   pode 
  2710. preparar uma  macro para cada um, por exemplo:
  2711.  
  2712. DEFINE IBM PARITY MARK, DUPLEX HALF, HANDSHAKE XON,
  2713.                                        SEND PACKET LENGTH 80
  2714.  
  2715.  
  2716. DEFINE UNIX PARITY NONE, DUPLEX FULL, HANDSHAKE NONE
  2717.  
  2718. DEFINE TELENET PARITY MARK, RECEIVE TIMEOUT 20
  2719.  
  2720.  
  2721.      Voce^ pode,  enta~o, teclar "SET IBM", "SET UNIT" ou "SET 
  2722. TELENET" para preparar  todos  os  para^metros  com um  u'nico  
  2723. comando.   E'  conveniente incluir estas definic,o~es  no  seu 
  2724. arquivo KERMIT.INI.
  2725.  
  2726.      Outro  emprego u'til  desta facilidade  e' no sentido  de 
  2727. se   preparar adaptac,o~es ra'pidas a diferentes  condic,o~es  de 
  2728. rui'do de linha:
  2729.  
  2730. DEFINE LIMPA BLOCK-CHECK 1, SEND PACKET-LENGTH 94
  2731. DEFINE SUJA  BLOCK-CHECK 2, SEND PACKET-LENGTH 60,
  2732.                                              RETRY PACKET 10
  2733. DEFINE SUJONA BLOCK 3, SEND PACKET 40, RETRY PACKET 20
  2734.  
  2735.      Voce^   pode  redefinir  uma  macro existente  da  mesma  
  2736. forma  que a definiu.  Pode,   tambe'm,   "des-definir"   uma 
  2737. macro   teclando   um  comando DEFINE vazio  para  ela,  por 
  2738. exemplo:
  2739.  
  2740.      DEFINE IBM
  2741.  
  2742.      Voce^   tambe'm  pode listar  todas suas macros  e   suas 
  2743. definic,o~es com o comando SHOW MACROS.
  2744.  
  2745.  
  2746. .cp5
  2747. 4.19. SHOW
  2748.  
  2749. Sintaxe: SHOW [opc,a~o]
  2750.  
  2751.      O   comando   SHOW mostra  os valores   dos  para^metros  
  2752. aciona'veis  pelo comando SET.  Se  uma opc,a~o  em  particular  
  2753. na~o for  pedida, uma  relac,a~o completa sera' dada.
  2754.  
  2755.  
  2756. .cp3
  2757. 4.20. STATISTICS
  2758.  
  2759.      Da'  estati'sticas acerca da mais recente  transfere^ncia, 
  2760. como o  total de caracteres transmitidos, o baud rate efeti
  2761. vo etc.
  2762.  
  2763.  
  2764. .cp5
  2765. 4.21. LOG
  2766.  
  2767. Sintaxe: LOG [opc,a~o] [especarq]
  2768.  
  2769.      Grava  a  entidade escolhida (opc,a~o) ao arquivo de  log 
  2770. especificado.
  2771.  
  2772. .cp6
  2773. TRANSACTIONS       Direciona  o KERMIT no sentido de  gravar 
  2774.                    transac,o~es,  como   arquivos bem transmi
  2775.                    tidos  ou  recebidos ou aqueles  que  na~o 
  2776.                    foram  ou  chegaram bem.  Muito  u'til  em 
  2777.                    transac,o~es longas,  com transfere^ncias de 
  2778.                    mu'ltiplos arquivos
  2779.  
  2780. SESSION            Cria  uma  transcric,a~o de uma  sessa~o  de 
  2781.                    conexa~o,  quando  rodando um KERMIT local 
  2782.                    conectado a um sistema remoto num arquivo 
  2783.                    especificado,   que sera'  automaticamente 
  2784.                    fechado  se  a  conexa~o  for   encerrada.  
  2785.                    Em  algumas implementac,o~es  este  servic,o  
  2786.                    pode ser desativado ou ativado teclando o 
  2787.                    caracter  de escape seguido por "Q" (QUIT 
  2788.                    LOGGING)  ou   "R" (RESUME   LOGGING)  ou  
  2789.                    comandos  similares  de um  u'nico  carac
  2790.                    ter.  E'  muito u'til para registrar o dia'
  2791.                    logo  com um sistema interativo  e   para 
  2792.                    "capturar"  arquivos de sistemas  que na~o 
  2793.                    tem  KERMIT.  Na~o  se pode  garantir  que 
  2794.                    arquivos  capturados  chegara~o  completos  
  2795.                    ou  certos,  uma  vez  que  na~o  e'  feita 
  2796.                    qualquer checagem de erros.
  2797.  
  2798.  
  2799. .cp5
  2800. 4.22. TRANSMIT
  2801.  
  2802. Sintaxe: TRANSMIT [especarq]
  2803.  
  2804.      Manda o conteu'do do arquivo  especificado para o  outro 
  2805. sistema,   sem protocolo,  pacote, checksum  nem retransmis
  2806. so~es.   Este  comando   e'  u'til para mandar   seque^ncia   de 
  2807. conexa~o   e/ou   identificac,a~o padro~es  e   para  transmitir 
  2808. arquivos para sistemas que na~o tem KERMIT,  como se estive's
  2809. semos teclando, na hora, tais textos.
  2810.  
  2811.  
  2812. .pa
  2813. .he                                    Implementac,o~es do KERMIT
  2814. 5. Implementac,o~es do KERMIT
  2815.  
  2816.      O  KERMIT tem  sido escrito para  uma grande  variedade 
  2817. de sistemas, independentemente de seu porte. Na~o foi escrito 
  2818. numa linguagem porta'vel: cada implementac,a~o foi desenvolvida 
  2819. na linguagem que mais conviesse para cada ma'quina em  parti
  2820. cular.  A especificac,a~o, dada no Manual do Protocolo KERMIT, 
  2821. e' bem geral e permite implementac,a~o em qualquer ma'quina.
  2822.  
  2823.      A   seguir  temos uma  pequena  tabela,  resumindo   as 
  2824. implementac,o~es de KERMIT conhecidas,  no momento desta  edi
  2825. c,a~o.  Esta lista cresce sempre  e podera' estar completamente 
  2826. desatualizada no momento em que voce^ a ler.
  2827.  
  2828.  
  2829. MA'QUINA               SIST.OPERACIONAL LINGUAGEM
  2830.  
  2831. DECSYSTEM-10          TOPS-10          MACRO-10
  2832. DECSYSTEM-20          TOPS-10          MACRO-20
  2833. Se'rie IBM/370         VM/CMS, MTS      ASSEMBLER/370, Pascal
  2834. CDC CYBER 170         NOS              FORTRAN-77
  2835. UNIVAC-1100           EXEC             EXEC ASSEMBLER
  2836. HONEYWELL             MULTICS          PL/I
  2837. PRIME                 PRIMOS           PL/I
  2838. VAX-11                VMS              BLISS-32, MACRO-32
  2839. PDP-11                RT-11            OMSI Pascal
  2840. PDP-11                RSX-11, RSTS/E   MACRO-11
  2841. VAX, PDP-11, SUN etc. UNIX             C
  2842. DATA GENERAL          AOS              RATFOR
  2843. HP3000, UNIVAC etc.   SOFTWARE TOOLS   RATFOR
  2844. TERAK, HP-98XX        UCSD P-SYSTEM    UCSD Pascal, MACRO-11
  2845. 8080, 8085 ou Z80     CP/M-80          DR ASM
  2846. 8086, 8088            PC DOS, MS DOS   MS MASM-86
  2847. 8086, 8088            CP/M-86          CR ASM86
  2848. Apple II 6502         Apple DOS        DEC-10/20 Cross
  2849. Atari Home Computer   DOS              ACTION!
  2850.  
  2851.  
  2852.      Mesmo   esta  e'  uma lista  parcial.   Alguns  sistemas  
  2853. maiores  (como o VAX/VMS) tem mu'ltiplas implementac,o~es;  ou
  2854. tros, menores, foram omitidos.
  2855.  
  2856.      A  versa~o  8080  roda no DEC   VT180,  no  DECMATE   II 
  2857. (CP/M),  no   HEATH/ZENITH-89   &  100,  no  SUPERBRAIN   da 
  2858. INTERTEC,  no  Apple   II com carta~o de Z80  (SOFTCARD),  no  
  2859. TRS-80  II  (CP/M),   no  Osborne,  no   KAYPRO,  no   VETOR 
  2860. GRAPHICS,   no ZORBA  da TELCON e  outros. A  versa~o 8086 MS  
  2861. DOS  roda  no  IBM-PC e assemelhados  (como  o  porta'til  da 
  2862. COMPAC), no HEATH/ZENITH-100, no  HP-150, no TANDY  2000, no 
  2863. Chameleon  da SEEQUA e  no Victor-9000.  A versa~o 8086 CP/M-
  2864. 86 roda no Rainbow-100 da DEC e no APC da NEC.
  2865.  
  2866.      O  resto   deste  Manual e'  voltado  a  descric,o~es   de  
  2867. implementac,o~es selecionadas  de  KERMIT. Se  a descric,a~o  da 
  2868. sua   versa~o  de   KERMIT na~o aparece,  procure ver   se  em  
  2869. algum C.P.D. ao  qual voce^  tenha acesso  e tenha  o  KERMIT  
  2870. implementado, existe  alguma  documentac,a~o disponi'vel. Mesmo 
  2871. que  sua versa~o esteja descrita aqui,  informe-se acerca  de  
  2872. verso~es mais recentes (do programa e da documentac,a~o).
  2873.  
  2874.  
  2875.  
  2876. .pa
  2877. .he                                   KERMIT para IBM VM/CMS
  2878. 6. KERMIT para IBM VM/CMS
  2879.  
  2880. Autor:        Daphne Tzoar, Columbia University
  2881. Versa~o:       (na~o numerada)
  2882. Data:         fevereiro de 1983
  2883.  
  2884.      Escrito   em  linguagem  ASSEMBLY/370  para  rodar  sob 
  2885. VM/CMS em sistemas IBM, se'ries /370 (SYSTEM/370, 303X, 43XX, 
  2886. 308X,...).   Estes  sa~o sistemas half  duplex:  a  linha  de 
  2887. comunicac,a~o   tem que "virar" antes que qualquer dado  possa  
  2888. ser transmitido  para ela.  O  fato de  um pacote  ter  sido 
  2889. recebido  de  um  sistema IBM na~o e' garantia  que  ele  esta' 
  2890. pronto  para uma resposta.  Assim  qualquer  KERMIT  falando 
  2891. com   tais   sistemas  tem  que esperar  pelo  caracter   de 
  2892. virada de  linha (XON) antes  de transmitir o pro'ximo carac
  2893. ter.
  2894.  
  2895.      Os sistemas IBM  falam com  seus terminais atrave's   de 
  2896. um   front-end (IBM  3704/5,   3725,   COMTEN  3670   etc.).  
  2897. Estes  front-end  geralmente insistem em  usar o  oitavo bit  
  2898. de  cada  caracter para  paridade.   Isto significa  que ar
  2899. quivos  bina'rios   (arquivos que conte'm   mais  que  somente 
  2900. letras, di'gitos,  pontuac,a~o e  controles de  impressora) na~o  
  2901. podem   ser transmitidos  ou recebidos corretamente por  es
  2902. ses sistemas com o KERMIT (versa~o 1 do protocolo).
  2903.  
  2904.      O  sistema  IBM sob VM/CMS e' inapto a  interromper  uma 
  2905. leitura de  seu console.   Isto significa que  a versa~o  IBM  
  2906. do KERMIT na~o  pode sair por tempo (timeout). A u'nica  forma 
  2907. de  "timeout" no  KERMIT-CMS e' do  outro  lado:  teclando-se 
  2908. return  para  o  micro faz-se com que  ele  retransmita  seu 
  2909. u'ltimo pacote ou usando-se o KERMIT-20, no DEC-20, que prove 
  2910. um   timeout  automa'tico.   Porisso o KERMIT-CMS  espera  30 
  2911. segundos antes de mandar seu primeiro pacote,  ao transmitir 
  2912. arquivos   do VM/CMS.  Isto da' ao  usua'rio tempo  suficiente 
  2913. para  voltar ao KERMIT local e emitir o comando RECEIVE.  De  
  2914. outra   maneira   um   deadlock  de   protocolo   aparecera',   
  2915. exigindo intervenc,a~o manual do usua'rio.
  2916.  
  2917.      Mas  na~o e' so':  o VM/CMS armazena arquivos como  regis
  2918. tros, ao inve's de uma cadeia de bytes. O KERMIT-CMS  tem que 
  2919. se preocupar em montar  as linhas  que chegam em  registros, 
  2920. tirando  os  returns  e os line-feeds  e,  para   transmitir  
  2921. cada  registro,   tem   que  tirar  os  caracteres   de pre
  2922. enchimento  e inserir os returns e line-feeds,  formando li
  2923. nhas. 
  2924.  
  2925.      A especificac,a~o de arquivos no VM/CMS e' na forma
  2926.  
  2927. FILENAME FILETYPE FILEMODE         (abreviadamente FN FT FM)
  2928.  
  2929.      FM  e' equivalente  a` especificac,a~o de  dispositivo  num  
  2930. DEC  ou num micro (FN FT FM seria FM:FN.FT na sintaxe  CP/M, 
  2931. por  exemplo).  FILENAME e FILEMODE podem ter,  cada um,  no 
  2932. ma'ximo, 8 caracteres e FILEMODE 2.  Quando FM e'  omitido  de  
  2933. uma  especificac,a~o de arquivo,   e' assumido o disco  do pro'
  2934. prio  usua'rio.  O  KERMIT-CMS transmite  somente FILENAME  e 
  2935. FILETYPE,  convertendo o espac,o entre eles em um ponto, para 
  2936. compatibilidade com  a maioria  dos  outros sistemas  opera
  2937. cionais.  A seguir,  os  comandos do KERMIT-CMS.
  2938.  
  2939. .cp3
  2940.  
  2941. 6.1. SEND FN FT [FM]
  2942.  
  2943.      Transmite  o(s) arquivo(s)  especificado(s), usando "*"  
  2944. ou "%" como caracteres coringa ("*" vale qualquer nu'mero  de 
  2945. caracteres  e "%" somente um).   O KERMIT-CMS assume que   o 
  2946. arquivo  esta' no  disco "A" e prepara o FILEMODE como  "A1". 
  2947. Se,  todavia,  o  arquivo estiver em outro disco,  o  FM tem  
  2948. que  ser  explicitado.  Repare que se voce^ usar "*"  para  o 
  2949. FILEMODE, o KERMIT-CMS transmitira' somente o primeiro arqui
  2950. vo que servir.  Exemplos: o  comando SEND  CEN SPSS transmi
  2951. tira'   CEN  SPSS A1;   para transmitir um arquivo  com  este 
  2952. mesmo nome que esteja no disco "B", voce^ tem que mandar SEND  
  2953. CEN  SPSS  B;  SEND  * FORTRAN mandara'  todos   os  arquivos 
  2954. FORTRAN de seu disco "A";   SEND ABC% EXEC  enviara' todos os  
  2955. arquivos  EXEC de  seu disco  "A" cujos FILENAME's tenham  4 
  2956. caracteres  e que comecem com "ABC";  se voce^ tem o  arquivo  
  2957. PLOT SAS no disco "A"  e no disco "B",  o  comando SEND PLOT 
  2958. SAS * transmitira' SEND PLOT SAS A1.
  2959.  
  2960. .cp3
  2961.  
  2962. 6.2. RECEIVE [FN FT [FM]]
  2963.  
  2964.      Recebe   o(s)  arquivo(s)  transmitido(s)  pelo   outro 
  2965. KERMIT.  Se na~o  for inclui'da  uma especificac,a~o de arquivo, 
  2966. o  KERMIT-CMS  usara'  o(s) nome(s) fornecido(s)  pelo  outro 
  2967. KERMIT.  Use  a  especificac,a~o de arquivo para  indicar   um 
  2968. FILENAME diferente  ou um disco  que na~o o  "A" (neste caso, 
  2969. FILENAME  e FILETYPE tem que ser informados,  mesmo  que  da 
  2970. forma  = = FM).  Exemplos:   para receber  arquivos aprovei
  2971. tando os  nomes informados pelo KERMIT do outro  lado,   use 
  2972. RECEIVE;  para  salvar   um arquivo sob um  nome  diferente,  
  2973. especifique RECEIVE ABC FORTRAN; para salvar o arquivo com o 
  2974. mesmo nome mas em outro disco,  entre RECEIVE ABC FORTRAN  B 
  2975. ou RECEIVE  = = B.
  2976.  
  2977.  
  2978. .cp3
  2979. 6.3. SET para^metro valor
  2980.  
  2981.      Arma o para^metro no valor especificado. Os comandos SET 
  2982. va'lidos sa~o:
  2983.  
  2984.     RECFM opc,a~o
  2985.         Denota  o formato de  registro a ser usado  ao criar 
  2986.         um  arquivo.  So'  sa~o permitidos registros  Fixos  e 
  2987.         Varia'veis (default).  Basta a inicial de cada um.
  2988.  
  2989.     LRECL nu'mero-decimal
  2990.         Indica o tamanho lo'gico do registro.  O default e' 80 
  2991.         e o  ma'ximo permitido e' 256.
  2992.  
  2993.     QUOTE nu'mero-decimal
  2994.         E'  o  valor  ASCII do caracter  de prefixo de   con
  2995.         trole que  voce^ quer  usar no lugar do default  "#".  
  2996.         Deve ser um u'nico caracter,  imprimi'vel,  cujo valor 
  2997.         decimal esteja compreendido no  seguinte:  32-62, 96 
  2998.         ou 123-126.
  2999.  
  3000.     END nu'mero-decimal
  3001.         Diz  o  valor ASCII do caracter de fim de linha  que 
  3002.         voce^  escolheu para transmitir.  O default e' CR (13) 
  3003.         mas pode ser de 00 a 31.
  3004.  
  3005.     PAC nu'mero-decimal
  3006.         Permite  ao usua'rio especificar o  tamanho do pacote 
  3007.         que  o   micro deve  usar para  transmissa~o  para  o 
  3008.         KERMIT-CMS. A faixa e' 26-94, onde 94 e' o default.
  3009.  
  3010.  
  3011. .cp3
  3012. 6.4. SHOW [para^metro]
  3013.  
  3014.         Mostra  o  valor corrente de qualquer  varia'vel  que 
  3015.         possa ser  alterada atrave's de um comando SET.
  3016.  
  3017.  
  3018. .cp3
  3019. 6.5. STATUS
  3020.  
  3021.         Devolve   o  status do u'ltimo comando do KERMIT-CMS.  
  3022.         Aparecera'  "KERMIT   COMPLETED SUCCESSFULLY"   ou  o  
  3023.         u'ltimo erro encontrado.
  3024.  
  3025.  
  3026. .cp3
  3027. 6.6. CMS
  3028.  
  3029.         Emite um comando CMS de dentro do KERMIT-CMS.
  3030.  
  3031.  
  3032. .cp3
  3033. 6.7. CP
  3034.  
  3035.         Emite um comando CP de dentro do KERMIT-CMS.
  3036.  
  3037.  
  3038. .cp3
  3039. 6.8. HELP ou ?
  3040.  
  3041.         Lista todos os comandos legais para o KERMIT-CMS.
  3042.  
  3043.  
  3044. .cp3
  3045. 6.9. Fatos Relevantes
  3046.  
  3047.      Esta  e' uma lista de outros fatos relevantes acerca  do 
  3048. KERMIT-CMS:
  3049.  
  3050.      1.   Os  comandos sa~o fornecidos com uma  opc,a~o de  au
  3051.           xi'lio  ou seja:  um ponto de interrogac,a~o pode ser  
  3052.           teclado  para se conseguir o   formato  apropriado  
  3053.           ou  uma lista de opc,o~es.  O ponto de  interrogac,a~o 
  3054.           deve  ser  seguido de  um  return.  O   KERMIT-CMS  
  3055.           respondera' e  recolocara'  o prompt.
  3056.  
  3057.      2.   Ao receber um  arquivo,   se  o  formato  do   re
  3058.           gistro   for  fixo,  qualquer registro maior que o 
  3059.           LRECL  sera' truncado.  Se o formato   do  registro  
  3060.           for  varia'vel,   cada  um   podera'  ter   ate'  256  
  3061.           bytes.  Para transmitir arquivos, o tamanho ma'ximo 
  3062.           de cada registro e' 256.
  3063.  
  3064.      3.   Antes  de  se conectar ao IBM de  outros  sistemas  
  3065.           (como   os  va'rios micros,   DEC-20  etc.),   voce^ 
  3066.           deve  SET IBM ON  de forma  a ativar os para^metros 
  3067.           "paridade", "eco" e "handshake" da forma que o IBM 
  3068.           gosta.
  3069.  
  3070.      4.   Note que "(" e ")" agem como separadores de  pala
  3071.           vras na linha  de entrada.   Assim, se voce^ tentar 
  3072.           armar   o  caracter  de aspas para "(*"  ou  "*(", 
  3073.           somente o primeiro caracter sera' usado. 
  3074.  
  3075.       5.  Uma  vez que alguns KERMIT's na~o mandam um  pacote 
  3076.           de   erro  quando abortam,   nem sempre  o KERMIT-
  3077.           CMS pode  saber que o  micro parou de mandar  suas 
  3078.           informac,o~es.  Assim,  quando voce^ se reconectar ao 
  3079.           IBM,  o KERMIT-CMS  podera', ainda, estar  mandando 
  3080.           pacotes  (eles  aparecera~o na  tela).   O  usua'rio  
  3081.           devera' teclar  return ate'  que o  KERMIT-CMS tenha  
  3082.           mandado  o nu'mero  ma'ximo permitido  de  pacotes e  
  3083.           aborte.  A mensagem de erro, no entanto, na~o indi
  3084.           cara'  que  a  comunicac,a~o  parou porque   o  micro  
  3085.           abortou  mas por  na~o ter encontrado  um  caracter 
  3086.           de ini'cio de header.
  3087.  
  3088.       6.  O  menor  tamanho de pacote de transmissa~o  que  o 
  3089.           KERMIT-CMS permite e' de 26 bytes.  Isto e' necessa'
  3090.           rio  para evitar um erro ao transmitir o  nome  do 
  3091.           arquivo  ou um pacote  de erro.  Se o micro  tenta 
  3092.           armar  tal valor para menos de 26, o KERMIT-CMS se 
  3093.           auto-abortara'  imediatamente com um erro  de  "BAD 
  3094.           SEND-PACKET SIZE".
  3095.  
  3096.  
  3097.       7.  Enquanto  o  front-end  de  comunicac,a~o   do   IBM  
  3098.           traduz  todos  os caracteres  que chegam de termi
  3099.           nais   ASCII para EBCDIC,  o KERMIT-CMS traduz  os  
  3100.           dados  que  ele le^  de volta  para ASCII   (carac
  3101.           teres   na~o representa'veis em ASCII  sa~o  trocados 
  3102.           por um nulo). Na~o so' porque e' mais fa'cil trabalhar 
  3103.           com   caracteres  ASCII,   como porque  mante'm   a 
  3104.           consiste^ncia  com as diversas  verso~es de  KERMIT.  
  3105.           Quando os pacotes sa~o transmitidos para o micro, O 
  3106.           KERMIT-CMS converte todos os  dados de  volta para 
  3107.           EBCDIC.   A tabela de  conversa~o ASCII/EBCDIC pode 
  3108.           ser encontrada no Ape^ndice A.
  3109.  
  3110.       8.  Se uma comunicac,a~o fica maluca,  voce^ pode se  co
  3111.           nectar   de   volta  com o sistema  CMS  e  teclar 
  3112.           return  va'rias vezes (cada um obrigara' ao  KERMIT-
  3113.           CMS  a retransmitir o pacote corrente,  ate' estou
  3114.           rar  o limite de retransmisso~es) e voltar ao ni'vel 
  3115.           de comando "KERMIT-CMS".
  3116.  
  3117.  
  3118. .cp3
  3119. 6.10. Mensagens do Sistema
  3120.  
  3121.      O KERMIT-CMS da',  tanto ao  usua'rio  quanto  ao  micro,  
  3122. diversas  mensagens  de  erro.  Se a execuc,a~o  precisar  ser 
  3123. terminada anormalmente transmite um pacote  de erro  para  o  
  3124. micro antes  de terminar.  Tal mensagem  pode  ser recupera
  3125. da   atrave's do  comando STATUS  quando o KERMIT-CMS retorna 
  3126. e  da'  seu prompt.  Se o KERMIT-CMS se  abortou   por  haver  
  3127. excedido  o  nu'mero ma'ximo de  tentativas (20  para  pacotes 
  3128. de  inicializac,a~o e 5 para  os outros),  a mensagem  de erro 
  3129. mostrara'  o erro  mais recente (isto e':  o u'ltimo NAK que  o 
  3130. KERMIT-CMS  recebeu).  Se a execuc,a~o  parou porque  o  micro  
  3131. desistiu,  a  mensagem de  erro informara'  isto  ao  usua'rio 
  3132. mas   sera'  responsabilidade  do micro apontar o   problema.  
  3133. As mensagens  de  erro do  KERMIT-CMS  sa~o  as seguintes:
  3134.  
  3135.           "BAD SEND-PACKET SIZE"
  3136.               Mandada  quando o micro tenta estabelecer  que 
  3137.               seu  buffer  de recepc,a~o  tem  um  comprimento 
  3138.               menor  que 26 ou maior que 94.  Tambe'm aparece 
  3139.               quando  o KERMIT-CMS tenta mandar  um   pacote 
  3140.               maior que o ma'ximo especificado.
  3141.  
  3142.           "BAD MESSAGE NUMBER" (nu'mero de mensagem inva'lido)
  3143.               Esta  e as mensagens  a seguir mostram  incon
  3144.               siste^ncias  num pacote KERMIT:
  3145.  
  3146.           "ILLEGAL  PACKET TYPE" (tipo inva'lido de pacote)
  3147.               pode ser causada por comandos de servidor.
  3148.  
  3149.           "UNRECOGNIZED STATE" (estado desconhecido)
  3150.           "NO SOH ENCOUNTERED" (na~o veio SOH)
  3151.           "BAD CHECKSUM"  (caracter de  paridade  horizontal 
  3152.               na~o bate)
  3153.           "BAD CHARACTER   COUNT"  (contador  de  caracteres 
  3154.               errado)
  3155.           "MICRO SENT A NACK" (o micro transmitiu um NACK)
  3156.           "LOST A PACKET" (perdi um pacote)
  3157.           "MICRO  ABORTED" (o micro saiu do ar)  - quando  o 
  3158.               micro pa'ra no meio de uma transfere^ncia.
  3159.           "ILLEGAL FILE NAME" (nome inva'lido para arquivo) - 
  3160.               ao  receber  um nome  de arquivo do  micro,  o 
  3161.               KERMIT-CMS espera que seja no formato "FN.FT". 
  3162.               Se  FN,  "."  ou FT  faltarem,  o   KERMIT-CMS 
  3163.               rejeitara'  (NAK) o pacote.  Se FN  ou FT tive
  3164.               rem  mais de 8 caracteres cada,  sera~o trunca
  3165.               dos.
  3166.     "INVALID LRECL"
  3167.               O  KERMIT-CMS  abortara' se  aparecer  qualquer 
  3168.               erro ao tentar ler  um  arquivo a  ser  envia
  3169.               do.   Ele  so'   pode transmitir  arquivos  com  
  3170.               formatos  de registros  fixos  ou   varia'veis; 
  3171.               porisso  os arquivos compactados ou  do WILBUR 
  3172.               EDIT causam erros.
  3173.     "PERMANENT I/O ERROR"
  3174.               Esta mensagem indica que houve  um erro perma
  3175.               nente  de  I/O ao   tentar   ler   um  arquivo   
  3176.               existente.   A  execuc,a~o imediatamente e' abor
  3177.               tada.
  3178.     "DISK IS READ-ONLY"
  3179.               Tentativa de gravac,a~o em um disco onde isto  e' 
  3180.               proibido.
  3181.     "RECFM CONFLICT"
  3182.               Se  surge um  conflito de  FN,  o   KERMIT-CMS 
  3183.               adicionara'  o arquivo  recebido  ao existente,  
  3184.               desde  que  seus formatos sejam iguais;   caso 
  3185.               contra'rio este erro implicara' numa parada. 
  3186.     "DISK IS FULL"
  3187.               Refere-se  a   qualquer   erro   relativo   a`s  
  3188.               limitac,o~es   de  espac,o  de  armazenamento  no  
  3189.               disco do usua'rio. Normalmente quer dizer que o 
  3190.               disco esta' cheio mas o erro tambe'm  pode  sig
  3191.               nificar   que  o nu'mero ma'ximo   permitido  de 
  3192.               arquivos  foi alcanc,ado ou que a memo'ria  vir
  3193.               tual foi excedida.
  3194.     "ERR ALLOCATING SPACE"
  3195.               O  KERMIT-CMS mante'm  uma tabela de  todos  os 
  3196.               arquivos  que foram transmitidos para o micro, 
  3197.               alocando  espac,o extra se mais de 10  arquivos 
  3198.               sa~o mandados de uma vez.  Se houver um erro ao 
  3199.               tentar  alocar esse espac,o,  o  KERMIT-CMS  se 
  3200.               abortara' com esta mensagem.
  3201.  
  3202.  
  3203.     O trabalho no KERMIT para VM/CMS continua.  As melhorias 
  3204. preveem o seguinte:
  3205.  
  3206.     1) Transpare^ncia  de 8 bits para permitir  que  arquivos 
  3207.        bina'rios passem atrave's de front-ends que insistem em 
  3208.        usar o oitavo bit para paridade.
  3209.  
  3210.     2) Capacidade de atuar como um servidor.
  3211.  
  3212.     3) Capacidade de preparar outra linha e,  com isto,  ser 
  3213.        usado em modo local, conectado a outro host, remoto.
  3214.  
  3215.  
  3216. .pa
  3217. .he                                         KERMIT para CP/M-80
  3218. 7. KERMIT para CP/M-80
  3219.  
  3220. Autor:        Bill  Catchings,   Columbia  University,   com 
  3221.               contribuic,o~es   de  Eiben  (DEC),   Nick  Bush 
  3222.               (Stevens),    John    Bray   (University    of 
  3223.               Tennessee),  Bruce Tanner  (Cerritos College),  
  3224.               Greg  Small  (University  of   California   at  
  3225.               Berkeley),    Kimmo     Laaksonen    (Helskini 
  3226.               University of Technology) e muitos outros.
  3227.  
  3228. Linguagem:    8080 ASseMbler ou MAC80
  3229.  
  3230. Versa~o:       3.8
  3231.  
  3232. Data:         fevereiro de 1984
  3233.  
  3234. Documentac,a~o: Frank da Cruz, Columbia University
  3235.  
  3236.  
  3237.  
  3238. 7.1. Suma'rio do CP/M
  3239.  
  3240.     O   CP/M-80 (versa~o  2.2) tem  somente 5  comandos embu
  3241. tidos  e todos com arquivos;   as outras  func,o~es sa~o  leva
  3242. das a  cabo atrave's  de chamados para rodar sob o CP/M.
  3243.  
  3244.     As  especificac,o~es  de  arquivo no  CP/M  sa~o  da  forma 
  3245. D:NNN.TTT, onde
  3246.  
  3247. D:     e' o dispositivo,  normalmente disquetes (A:, B:,...). 
  3248.        Se omitido, o default e' o disquete conectado;
  3249.  
  3250. NNN    e' o nome do arquivo, com, no ma'ximo, 8 caracteres;
  3251.  
  3252.  .TTT   e' o tipo de arquivo, com, no ma'ximo, 3 caracteres.
  3253.  
  3254.      Nomes e  tipos de  arquivos podem  conter letras,   di'
  3255. gitos  e   alguns  especiais,  incluindo   hi'fen,  cifra~o  e  
  3256. sublinhado, na~o sendo o uso de espac,os.
  3257.  
  3258.      O  uso  de  caracteres coringa nas   especificac,o~es  de 
  3259. nome   e  tipo   de arquivo e' permitido  (na~o  em  nome   de 
  3260. dispositivos),   dentro de uma especificac,a~o de arquivo,  um 
  3261. "*" substitui todo um campo,  um "?" substitui um  caracter. 
  3262. Exemplos disso  podem   ser:
  3263.  
  3264.      "*.F??"  especifica  todos   os  arquivos  cujos  tipos 
  3265.               comecem  com "F" e tenham  1,  2 ou  3  carac
  3266.               teres;
  3267.  
  3268.      "F?.*"   especifica  os  arquivos cujos  nomes  comecem 
  3269.               com   "F"  e na~o  tenham mais de 2  caracteres 
  3270.               mas qualquer tipo serve.
  3271.  
  3272.  
  3273.      Os cinco comandos CP/M sa~o:
  3274.  
  3275.           DIR [especificac,a~o]
  3276.                Lista os nomes dos arquivos especificados.  O 
  3277.                default e' "*.*".
  3278.  
  3279.                Exemplo: "DIR B:*.FOR".
  3280.  
  3281.           ERA especificac,a~o
  3282.                Apaga os arquivos especificados.
  3283.  
  3284.           REN novo=velho
  3285.                Troca  o  nome de um arquivo de "velho"  para 
  3286.                "novo".
  3287.  
  3288.           SAVE nu'mero nome
  3289.                Salva  o nu'mero de blocos de  memo'ria  pedido 
  3290.                num arquivo especificado.
  3291.  
  3292.           TYPE arquivo
  3293.                Lista o arquivo especificado.
  3294.  
  3295.  
  3296.      Os programas mais importantes sa~o:
  3297.  
  3298.           STAT
  3299.                Da' estati'sticas sobre uso de disco.
  3300.  
  3301.           PIP
  3302.                Programa  de  Interca^mbio entre  Perife'ricos. 
  3303.                Copia arquivos.
  3304.  
  3305.      Para  maiores informac,o~es a respeito do  CP/M e de seus 
  3306. utilita'rios,  consulte os manuais de seu micro ou um  Manual 
  3307. de CP/M.
  3308.  
  3309.  
  3310.  
  3311. .cp3
  3312. 7.2. Descric,a~o do KERMIT-80
  3313.  
  3314.      Existem  atualmente  implementac,o~es do  KERMIT-80  para 
  3315. o   DEC   VT180  DECMATE  II,   SUPERBRAIN  (da   INTERTEC), 
  3316. HEATH/ZENITH  89 e Z100,  Apple II  com  o carta~o  de   Z80, 
  3317. Osborne,   TRS-80  II com  CP/M,   Zorba (TELCOM),   KAYPRO, 
  3318. VECTOR  GRAPHICS  CP/M SYSTEM e  outros.  Existe tambe'm  uma 
  3319. versa~o  "gene'rica"  que deve rodar na maioria  dos  sistemas 
  3320. compati'veis com o CP/M mas que tem menor performance.
  3321.  
  3322.      Uma   vez  que  o KERMIT-80  roda  sozinho  num  micro,  
  3323. tem  sempre o controle da  tela  -  e'  sempre local.  Assim,  
  3324. sempre  mante'm  a  tela atualizada  com o nome do arquivo  e  
  3325. o nu'mero do pacote,  transmitindo ou recebendo. O  KERMIT-80 
  3326. e'   capaz  de trabalhar  com time-out  sobre  um pedido   de 
  3327. entrada   (apesar  de um  pouco imprecisamente)  e de  "que
  3328. brar" deadlocks automaticamente.  Na maioria dos casos  isto 
  3329. na~o e'  importante,  porque  o KERMIT do outro lado provavel
  3330. mente  sera' melhor do que ele em tratar time-outs.  O trata
  3331. mento  de time-out feito  pelo KERMIT-80 e'  um pouco  "nebu
  3332. loso" porque depende  da velocidade do  processador Z80 e de 
  3333. outros fatores que podem variar de um sistema para outro.
  3334.  
  3335.      Apesar da  capacidade de  time-out, se  uma transmissa~o  
  3336. se   prender (pode-se  notar o fato quando se  percebe  que, 
  3337. de  repente,  a atualizac,a~o das informac,o~es na tela deixaram  
  3338. de ser feitas),  pode-se teclar  RETURN para  forc,ar o micro 
  3339. a  fazer o que ele  faria numa condic,a~o de time-out  (trans
  3340. mitir um NAK  do pacote esperado,   causando uma retransmis
  3341. sa~o   por parte  do host na outra ponta da linha (ou,  se  o 
  3342. micro estiver mandando,  retransmitir  o   u'ltimo   pacote).  
  3343. Transfere^ncias   micro-a-micro   ou micro-a-IBM podem exigir 
  3344. este tipo de intervenc,a~o manual.
  3345.  
  3346.      Transfere^ncias  de arquivos podem ser interrompidas  de 
  3347. va'rias formas:
  3348.  
  3349. CONTROL-C     Devolvera'   voce^  de  volta  para o  ni'vel  de 
  3350.               comando  do KERMIT-80 imediatamente;
  3351.  
  3352. CONTROL-X     Se enviando,  encerra a transmissa~o e avisa ao 
  3353.               outro  KERMIT  para  desprezar o   que  estava  
  3354.               recebendo; se houverem mais arquivos  a  serem  
  3355.               enviados,   reinicia  no  pro'ximo.    Se rece
  3356.               bendo,   pede  ao outro KERMIT  para parar  de 
  3357.               transmitir este arquivo;  se o outro  entender 
  3358.               este pedido (nem  todas as   implementac,o~es de  
  3359.               KERMIT  sa~o  capazes  disto),   ele obedecera', 
  3360.               caso contra'rio o arquivo continuara'  chegando; 
  3361.               de qualquer maneira o KERMIT remoto transmiti
  3362.               ra' o pro'ximo arquivo, se houver.
  3363.  
  3364. CONTROL-Z     Como  o anterior,   com a diferenc,a de abortar 
  3365.               completamente  a transfere^ncia,  mesmo  de  um 
  3366.               grupo.
  3367.  
  3368. RETURN's      Se   voce^  teclar  RETURN   repetidamente,   o 
  3369.               KERMIT-80 tentara' retransmitir o  pacote  cor
  3370.               rente   ate' atingir  seu  nu'mero limite  (algo 
  3371.               em torno de 16) e,  enta~o, se nenhuma resposta 
  3372.               valida aparecer, entrar em ni'vel de comando.
  3373.  
  3374.  
  3375. .cp4
  3376. 7.3. Comandos do KERMIT-80
  3377.  
  3378.      O  KERMIT-80 usa uma linguagem de comandos no estilo do 
  3379. DECSYSTEM-20.  palavra chave pode  ser abreviada a seu   mi'
  3380. nimo u'nico. Um "?"  pode ser teclado para pedir um menu  das 
  3381. opc,o~es disponi'veis a qualquer ponto um comando.  Um ESC pode 
  3382. ser  teclado  a  qualquer ponto num comando para  a  palavra 
  3383. chave corrente ou o nome de um arquivo.  Se ainda na~o tecla
  3384. dos  caracteres suficientes para identificar o  campo   cor
  3385. rente  forma   u'nica,  o   KERMIT-80 fara'  soar  um  BIP   e 
  3386. permitira'  que se continue daquele ponto.
  3387.  
  3388. CONNECT
  3389.      Estabelece   uma  conexa~o   de  "terminal   virtual"  a  
  3390.      qualquer  host  que  possa ser conectado  a  sua  porta  
  3391.      serial,  isto  e':   passar o que  for teclado  para   a 
  3392.      porta   serial  e  mostrar  na tela  tudo o   que  vier 
  3393.      atrave's dela.  Emula,  tambe'm, um VT52 da DEC em termos 
  3394.      de  controle de cursor,    apagamento  de  tela   etc.,  
  3395.      se  "VT52-EMULATION"  estiver acionada (ver abaixo), em 
  3396.      cujo  caso tambe'm se deve avisar a seu host remoto  que 
  3397.      se e' um VT52 (outras verso~es simulam outros terminais). 
  3398.      O  caracter  de  escape difere de   micro  para  micro; 
  3399.      quando se emite  o comando  CONNECT,  o micro dara'  uma 
  3400.      mensagem informando como voltar. Geralmente a seque^ncia 
  3401.      de escape e' um caracter dificilmente  usado,  como, por 
  3402.      exemplo,   CONTROL-\,  ou  CONTROL-],  seguido  por  um 
  3403.      "comando" de uma u'nica letra:
  3404.  
  3405.      C  encerra  (close)  a conexa~o,  voltando  a  ni'vel  de 
  3406.         comando;
  3407.      S mostra o status da conexa~o, mantendo-a;
  3408.      ? mostra esta lista;
  3409.      0 (zero) envia um NUL pela linha;
  3410.      B  manda um sinal de break;  poucos sistemas tem esta 
  3411.         func,a~o;
  3412.     ^] (ou o que for) manda o pro'prio escape para o host.
  3413.  
  3414. SEND especarq
  3415.      Transmite  o(s)  arquivo(s)   especificado(s)  para   o  
  3416.      KERMIT  remoto.   A  especarq  pode  conter  caracteres 
  3417.      coringa.
  3418.  
  3419. RECEIVE
  3420.      Recebe   arquivo(s)  do  KERMIT   remoto.   Armazena-os  
  3421.      com   os   nomes fornecidos  nos headers mandados  pelo 
  3422.      KERMIT remoto.  Se os nomes na~o sa~o legais,  usa tantos 
  3423.      caracteres  do  nome fornecido  quanto   possi'vel  (ver 
  3424.      abaixo  descric,a~o  de "SET  FILE-WARNING").  Se  houver 
  3425.      conflito  e  o  FILE-WARNING estiver  armado,  avisa  o  
  3426.      usua'rio e tenta criar um  nome u'nico para o arquivo.
  3427.  
  3428. GET especarq
  3429.      Quando  o  KERMIT-80  esta' falando   com  um   servidor 
  3430.      KERMIT,  podemos incluir  uma especificac,a~o  de arquivo  
  3431.      para pedir  ao servidor para mandar arquivos, por exem
  3432.      plo, "GET HLP:K*.HLP".
  3433.  
  3434. LOG especarq
  3435.      Quando conectado a um host remoto,  simulando um termi
  3436.      nal  dele,  grava a  sessa~o  de  terminal  no   arquivo  
  3437.      de   disquete  especificado.   A funcionalidade   disto 
  3438.      depende  de  algumas  extenso~es na capacidade  do  host 
  3439.      remoto  em  controlar   seu fluxo com XON/XOFF   e  na~o 
  3440.      garante   uma transcric,a~o  completa.  Este  arquivo   e' 
  3441.      fechado  quando   a conexa~o e' desfeita ao se  teclar  a  
  3442.      seque^ncia de escape  seguida pelo  comando de  caracter 
  3443.      u'nico "C".
  3444.  
  3445. TRANSMIT especarq
  3446.      Transmite  o  arquivo  especificado para  o sistema  do  
  3447.      outro lado  da conexa~o  como se estivesse  sendo tecla
  3448.      do  no  terminal,  uma linha de cada vez.  O  protocolo 
  3449.      KERMIT na~o e' envolvido nisto.  E' necessa'ria a confirma
  3450.      c,a~o   manual de  cada linha.  Isto  e' muito  u'til  para 
  3451.      mandar  arquivos para  sistemas  que na~o   tem   KERMIT 
  3452.      instalado.   Durante  a transmissa~o  e' permitido que se 
  3453.      tecle o caracter de escape,  seguido de um dos comandos 
  3454.      de um u'nico caracter descritos abaixo.
  3455.  
  3456.      C  cessa a transmissa~o.
  3457.      R  retransmite a linha anterior.
  3458.  
  3459. BYE
  3460.      Quando  se esta' falando com um servidor KERMIT  remoto, 
  3461.      este   comando derruba  o  servidor,  emite  um log-out  
  3462.      para  o   host,  volta  para o KERMIT-80  e  sai  dele, 
  3463.      deixando-nos em ni'vel de comando CP/M.
  3464.  
  3465. LOGOUT
  3466.      Similar ao comando BYE mas nos deixa a ni'vel de comando 
  3467.      KERMIT-80.
  3468.  
  3469. FINISH
  3470.      Como  o comando LOGOUT mas na~o emite um log-out para  o 
  3471.      host,  deixando-nos,  no entanto, a ni'vel de comando do 
  3472.      KERMIT-80. Comandos subsequentes de CONNECT nos coloca
  3473.      ra~o de volta ao host, a ni'vel de comando do sistema.
  3474.  
  3475. SET para^metro [valor]
  3476.      Arma  o   para^metro  especificado  com o  valor   dado.  
  3477.      Os  para^metros possi'veis sa~o:
  3478.  
  3479.      WARNING ON/OFF
  3480.           descobrir  um conflito entre o nome de um  arquivo 
  3481.           que chega e um que ja' exista no disquete.
  3482.  
  3483.      VT52-EMULATION ON/OFF
  3484.           Quando  ligado a um host  remoto,  controla  se  o 
  3485.           micro   deve  simular  um VT52  ou rodar  em  modo  
  3486.           "nativo". Isto porque algumas implementac,o~es tem a  
  3487.           possibilidade  de simular  um outro terminal  (VT-
  3488.           100, VT180 ou ADM3A etc.)
  3489.  
  3490.      LOCAL ECHO ON/OFF
  3491.           Se o host remoto e' half-duplex,  mude este para^me
  3492.           tro  para ON, de forma a ter ecoados, em sua tela, 
  3493.           os caracteres que voce^ digitar.
  3494.  
  3495.      ESCAPE
  3496.           Muda o caracter que sera' reconhecido,  durante uma 
  3497.           conexa~o como terminal virtual.   O  KERMIT-80  pe
  3498.           dira',   enta~o,   o  novo caracter,  que devera' ser 
  3499.           teclado literalmente.
  3500.  
  3501.      BAUD
  3502.           Muda  o  baud-rate da porta de  comunicac,a~o.  Este 
  3503.           comando  so' funciona  em  certos  sistemas e   sua  
  3504.           operac,a~o  real pode variar de um para outro. Tecle 
  3505.           "SET BAUD ?" e obedec,a.
  3506.  
  3507.      PARITY
  3508.           Arma a paridade dos  caracteres saintes para NONE,  
  3509.           SPACE,  MARK,   EVEN  ou  ODD.   Para   caracteres  
  3510.           chegantes,  se  a paridade for NONE,  o oitavo bit  
  3511.           e' mantido (como  dado); caso   contra'rio  e'  igno
  3512.           rado   e  retirado.  A  paridade especificada vale  
  3513.           tanto   para  comunicac,a~o  como   terminal  quanto 
  3514.           para transfere^ncia de arquivos.
  3515.  
  3516.      IBM ON/OFF
  3517.           Permite  a  transfere^ncia de  arquivos  DE e  PARA  
  3518.           sistemas  IBM.   Faz  com que  o  KERMIT-80 espere  
  3519.           pelo  caracter de "virada" (turnaround) da  linha, 
  3520.           XON,  ignore  a  paridade  de entrada,   inclua  a 
  3521.           paridade  de   sai'da apropriada e  use  eco  local 
  3522.           durante a conexa~o.
  3523.  
  3524.      BLOCK-CHECK-TYPE
  3525.           As opc,o~es sa~o:
  3526.  
  3527.               1-CHARACTER-CHECKSUM
  3528.                     Normal, default, checksum de 6 bits.
  3529.  
  3530.               2-CHARACTER-CHECKSUM
  3531.                     Checksum de 16 bits.
  3532.  
  3533.               3-CHARACTER-CHECKSUM
  3534.                     Cheque   de redunda'ncia ci'clica  no for
  3535.                     mato de 16  bits  do  CCITT,  codificado  
  3536.                     como tre^s caracteres.
  3537.  
  3538.                As  opc,o~es 2 e 3 somente devem ser usadas sob 
  3539.           extremas condic,o~es de  rui'do  na   linha.   Muitas 
  3540.           implementac,o~es  de KERMIT nem as suportam.
  3541.  
  3542.      FILE-MODE
  3543.           Diz   ao  KERMIT  o  tipo   de  arquivo  que  esta'   
  3544.           sendo transmitido,   de   forma   que   ele   pos
  3545.           sa    determinar  corretamente o fim  de  arquivo. 
  3546.           "SET  FILE  BINARY" significa transmitir   todo  o 
  3547.           u'ltimo bloco; "SET FILE ASCII" e' usado para arqui
  3548.           vos  de texto  (a transmissa~o termina quando   for 
  3549.           encontrado  o primeiro CONTROL-Z).  Se  um arquivo 
  3550.           de  texto  for transferido  como  bina'rio,  alguns 
  3551.           caracteres  estranhos (ate'  127 deles) podem  apa
  3552.           recer  depois do fim de arquivo no sistema alvo.
  3553.  
  3554.      DEFAULT-DISK
  3555.           Permite  que se mude o disco default como fonte ou 
  3556.           destino  para transfere^ncias de arquivos.   Emitir 
  3557.           este comando  nos da'  a chance  de trocar  o disco  
  3558.           especificado e torna'-lo disponi'vel para  gravac,a~o. 
  3559.           O  disco selecionado aparece  no prompt do KERMIT-
  3560.           80, por exemplo: "KERMIT-80 A:>".
  3561.  
  3562.      PORT
  3563.           Permite a troca entre diversas portas de comunica
  3564.           c,a~o. Este comando na~o esta' em todos os sistemas.
  3565.  
  3566.      PRINTER ON/OFF
  3567.  
  3568.           Liga  ou  desliga a impressora como  copiadora  da 
  3569.           sessa~o.  Na~o  bufferiza nem cuida de prova'veis ca
  3570.           racteres de controle.
  3571.  
  3572. DIR [especarq]
  3573.      Prove^  a listagem do direto'rio dos arquivos especifica
  3574.      dos.  Se  nenhum arquivo  for especificado,  todas   as 
  3575.      entradas  de  direto'rio do disco default sera~o   lista
  3576.      das.   Os  tamanhos dos  arquivos,   em  K's,   sa~o in
  3577.      clui'dos.   Como o comando DIR do  CP/M,  permite que se 
  3578.      interrompa  a  listagem a qualquer   momento,  teclando 
  3579.      qualquer  coisa.  A  listagem,  mesmo se  interrompida, 
  3580.      termina  com  uma informac,a~o do total de  espac,o  ainda 
  3581.      disponi'vel no disco.
  3582.  
  3583. ERA [especarq]
  3584.      Funciona exatamente como o comando homo^nimo do CP/M.
  3585.  
  3586.  
  3587. 7.4. O KERMIT-80 gene'rico
  3588.  
  3589.      O    "KERMIT-80  gene'rico"  e'  uma   implementac,a~o   do  
  3590. KERMIT  que,  teoricamente,  deve rodar  em qualquer sistema  
  3591. compati'vel  com o  CP/M-80 sem modificac,o~es ou,  no  ma'ximo, 
  3592. pequenas modificac,o~es.  Diferentemente de outras implementa
  3593. c,o~es  de  KERMIT,  na~o  tem manipulac,o~es de porta  ou   tela 
  3594. dependente de sistema.  Todo I/O e' feito com chamadas padra~o 
  3595. do BIOS e redirecionamento de  I/O usando o  IOBYTE que,  de  
  3596. acordo  com o  "CP/M SYSTEM MANUAL" da Digital  Research,  e' 
  3597. facilidade  opcional de qualquer implementac,a~o  de CP/M   em  
  3598. particular.  Se  o seu  sistema  na~o trabalha com IOBYTE,  o 
  3599. KERMIT gene'rico  na~o vai  funcionar;  alia's, nem os sistemas 
  3600. que usam o IOBYTE, o fazem de forma padronizada.
  3601.  
  3602.      A  raza~o  pela  qual nem  todas as  implementac,o~es   do 
  3603. KERMIT-80   serem gene'ricas e' que boa  parte da velocidade e'  
  3604. sacrificada  ao fazer tudo atrave's do  sistema  operacional. 
  3605. Enquanto  uma implementac,a~o especi'fica do KERMIT-80 pode ser 
  3606. capaz de  operar a 300,  120,  2400,  4800,  9600  ou  mesmo 
  3607. 19200 baud,  o KERMIT gene'rico na~o  conseguira' trabalhar, em  
  3608. certos sistemas, em  taxas que excedam 1200 baud.
  3609.  
  3610.      O  KERMIT gene'rico tambe'm difere das outras implementa
  3611. c,o~es  de KERMIT na medida em que na~o consegue fazer um  con
  3612. trole bonito da tela durante  uma transfere^ncia de arquivos. 
  3613. Simplesmente  vai  dando os nomes de  arquivos,  nu'meros  de  
  3614. pacotes  e  mensagens  tela  abaixo.  Na~o  faz  emulac,a~o  de 
  3615. terminal  age como um terminal "burro",  dependendo das fun
  3616. c,o~es embutidas para fazer controle de cursor,  independente
  3617. mente do programa KERMIT.
  3618.  
  3619.      Note que os KERMIT para VT180 e DECMATE-II sa~o  simples 
  3620. adaptac,o~es  do KERMIT gene'rico  que fazem  controle de  tela 
  3621. do   tipo  do   VT100 (ANSI) durante  uma  transfere^ncia  de 
  3622. arquivo.
  3623.  
  3624.  
  3625. .cp3
  3626. 7.5. Instalac,a~o
  3627.  
  3628.      O KERMIT-80 foi originalmente escrito para o SUPERBRAIN 
  3629. da  INTERTEC,  em  assembly standard (ASM),  sem  macros  ou 
  3630. instruc,o~es  avanc,adas,  de  modo a poder  ser   montado   em  
  3631. qualquer  sistema  CP/M.  Foi,  desde enta~o, modificado para 
  3632. rodar  em outros sistemas.  O KERMIT-80 deve ser  capaz   de 
  3633. rodar em qualquer micro baseado nos 8080,  8085 ou Z80,  sob 
  3634. CP/M, com um mi'nimo de alterac,o~es (ver abaixo).
  3635.  
  3636.      Todas  as verso~es do KERMIT-80 sa~o montadas a partir do 
  3637. mesmo  fonte,  com as depende^ncias  de sistema tratadas  por 
  3638. condicionais   em tempo de montagem.  As depende^ncias   mais 
  3639. importantes sa~o  a emulac,a~o de  terminal (quando conectado a  
  3640. um  host  remoto)  e o manuseio  da  tela,  facilmente  para 
  3641. outros sistemas por estarem em tabelas. As rotinas  de porta 
  3642. sa~o melhor feitas,  somente com chamadas ao BDOS mas  alguns 
  3643. sistemas na~o permitem isto, principalmente porque as rotinas 
  3644. do  BDOS tiram o  bit de paridade  durante o  I/O na   porta 
  3645. (ele   e' usado  como dados  ao se transferir arquivos  bina'
  3646. rios). Ale'm disso, usando chamadas ao BDOS,  na~o ha' jeito de  
  3647. se fazer poll na porta serial:  fica-se preso ate' que chegue 
  3648. algum caracter.
  3649.  
  3650.      As  rotinas de I/O do KERMIT-80 devem  checar o  status 
  3651. da  porta  e ir fazer outra coisa se na~o for  necessario  um 
  3652. manuseio imediato da porta.  Isto permite conexa~o  de termi
  3653. nal  virtual,   interrupc,a~o pelo teclado   das  transmisso~es 
  3654. trancadas etc.  Em sistemas onde existe total  implementac,a~o 
  3655. de redirecionamento  de  I/O atrave's  do  IOBYTE, isto  pode  
  3656. ser   feito ligando a  definic,a~o  do  IOBYTE.   Em   outros,  
  3657. no  entanto,  instruc,o~es de IN e OUT referenciando os regis
  3658. tradores da porta devem ser usados.
  3659.  
  3660.      O  KERMIT-80,  versa~o  3.8  e  superiores,  incluem  um 
  3661. "relo'gio  nebuloso" que torna disponi'vel um time-out a  cada 
  3662. intervalo entre 5 e 20  segundos (dependendo da   velocidade  
  3663. do   processador  e  das  rotinas  do  sistema  operacional) 
  3664. durante  a espera das entradas esperadas que na~o aparecem na 
  3665. porta. Neste  caso,  automaticamente,  ocorre  uma  retrans
  3666. missa~o.   De  qualquer modo pode-se teclar  RETURN   durante  
  3667. uma  transmissa~o  para simular um time-out,  quando a trans
  3668. fere^ncia parecer parada.
  3669.  
  3670.  
  3671. .cp3
  3672. 7.5.1. Baixando o KERMIT-80
  3673.  
  3674.      Se  voce^  ja' tem uma  versa~o do KERMIT no  seu micro  e 
  3675. quer  instalar uma nova, use a velha para conseguir a  nova. 
  3676. Se for um arquivo do tipo .COM, pode usa'-lo;  se for do tipo  
  3677.  .HEX, use o comando LOAD para produzir um arquivo .COM.
  3678.  
  3679.      Se  voce^ ainda na~o tem uma co'pia do KERMIT no seu micro 
  3680. nem  consegue  uma  emprestada  e  sua   u'nica   maneira  de  
  3681. conseguir  uma  e' se conectando ao host  de  um  C.P.D.  que 
  3682. distribua o  KERMIT, deve ler esta sec,a~o.
  3683.  
  3684.      Existem  va'rias  formas   de se  pegar   uma  co'pia  do  
  3685. KERMIT  de um  host o seu micro.  A mais fa'cil  e' "baixar" o 
  3686. arquivo .HEX pre'-compilado para a memo'ria de seu micro para, 
  3687. depois,  salva'-lo em disco. O  procedimento a seguir, embora 
  3688. longe de  ser a` prova de  erro humano,  deve permitir a voce^ 
  3689. conseguir uma co'pia do KERMIT  para o seu micro.  Depende do  
  3690. prompt  seu host ou,  pelo menos,  do  primeiro caracter  do 
  3691. prompt  dele,  sendo caracter que na~o aparec,a   num  arquivo 
  3692.  .HEX  (os  caracteres   va'lidos em um arquivo  .HEX  sa~o  os 
  3693. di'gitos de 0 a 9,  as letras maiu'sculas de A Z,  ":", RETURN  
  3694. e  line-feed's). Assim  que qualquer  outro  caracter apare
  3695. cer,  a  transfere^ncia termina.  Se o seu host na~o manda  um 
  3696. prompt que se enquadre neste esquema,  voce^ pode conseguir o 
  3697. mesmo efeito  incluindo "@" depois do fim  do seu arquivo no  
  3698. host,  antes de transmiti'-lo.  O programa abaixo procura por 
  3699. um  "@" (o prompt normal  do DEC-20,  hex 40).  O DEC-10 usa 
  3700. um ".", hex 2E.
  3701.  
  3702.      Procure   o arquivo .HEX apropriado  na a'rea  onde,  no 
  3703. host que voce^ tem acesso,  eata~o os mo'dulos do KERMIT. O que 
  3704. voce^ procura sera' algo do tipo  CPMROBIN.HEX,  CPMHEATH.HEX, 
  3705. CPMOSBOR.HEX etc.  Se na~o encontra'-lo,  procure  um do  tipo 
  3706.  .ASM ou  .M80 e  construa um .HEX usando um  cross-assembler 
  3707. (abaixo uma explicac,a~o de como fazer isto num IBM ou DEC-20) 
  3708. ou  enta~o traga o pro'prio fonte para o seu micro e  trabalhe 
  3709. nele.
  3710.  
  3711.      Conecte-se  ao  seu host  usando  um terminal   ou  uma  
  3712. facilidade   de emulac,a~o  de terminal.  Assegure-se que  seu  
  3713. host  na~o tem seu terminal em "page mode".  Por exemplo:  no 
  3714. DEC-20, de^ o comando
  3715.  
  3716.           EXEC TERMINAL NO PAUSE END-OF-PAGE
  3717.  
  3718.      Diga  ao host para mostrar o arquivo em hexadecimal  no 
  3719. seu terminal. Por exemplo, no DEC, de^ o comando
  3720.  
  3721.           TYPE KERMIT.HEX             (sem um RETURN  final)
  3722.  
  3723.      Volte  ao  seu micro.   Conecte-se  a um  disquete  com  
  3724. muito  espac,o.  Assegure-se que seu IOBYTE esta' com  RDR:  e 
  3725. PUN:  correspondendo   a  porta de I/O conectada  ao  DEC-20 
  3726. (normalmente  este  sera'  o caso).  Rode o DDT  e  entre   o 
  3727. seguinte  (os comenta'rios  na~o devem  ser  teclados;   esta~o 
  3728. aqui somente para explicar a voce^ o que esta' acontecendo):
  3729.  
  3730. -IKERMIT.HEX        ;arma o FCB para o arquivo KERMIT.HEX.
  3731. -A100               ;comec,a a entrar Assembly a partir de 100.
  3732. 0100  LXI     H,FFE ;onde colocar o arquivo hexa.
  3733. 0103  SHLD    300   ;salva o enderec,o.
  3734. 0106  MVI     E,D   ;pega um RETURN.
  3735. 0108  MVI     C,4   ;func,a~o de sai'da.
  3736. 010A  CALL    5
  3737. 010D  MVI     C,3   ;func,a~o de entrada.
  3738. 010F  CALL    5
  3739. 0112  ANI     7F    ;desliga a paridade.
  3740. 0114  CPI     40    ;e' o prompt do DEC-20?
  3741. 0116  JZ      124   ;sim: temos todo o arquivo.
  3742. 0119  LHLD    300   ;pega o pointer.
  3743. 011C  MOV     M,A   ;na~o: guarda o caracter.
  3744. 011D  INX     H     ;incrementa o pointer.
  3745. 011E  SHLD    300   ;salva o pointer.
  3746. 0121  JMP     10D   ;volta.
  3747. 0124  MVI     A,1A  ;pega um CONTROL-Z.
  3748. 0126  LHLD    300   ;pega o pointer.
  3749. 0129  MOV     M,A   ;guarda o caracter.
  3750. 012A  SHLD    300   ;salva o pointer.
  3751. 012D  LXI     H,1000;pointer no arquivo.
  3752. 0130  SHLD    310   ;salva o pointer.
  3753. 0133  MVI     C,16  ;max file.
  3754. 0135  LXI     D,5C
  3755. 0138  CALL    5
  3756. 013B  LHLD    310   ;pega o pointer do arquivo.
  3757. 013E  XCHG          ;poe em DE.
  3758. 013F  MVI     C,1A  ;arma DMA.
  3759. 0141  CALL    5
  3760. 0144  MVI     C,15  ;grava DMA no arquivo.
  3761. 0146  LXI     D,5C
  3762. 0149  CALL    5
  3763. 014C  LHLD    310   ;pega pointer do arquivo.
  3764. 014F  LXI     D,80  ;tamanho do DMA.
  3765. 0152  DAD     D     ;ajusta o pointer do arquivo.
  3766. 0153  SHLD    310   ;salva-o.
  3767. 0156  LDA     301   ;pega o byte de mais alta ordem.
  3768. 0159  CMP     H     ;passamos do fim?
  3769. 015A  JM      170   ;sim.
  3770. 015D  JZ      163   ;talvez...
  3771. 0160  JMP     13B   ;na~o.
  3772. 0163  LDA     300   ;pega o byte de mais baixa ordem.
  3773. 0166  CMP     L     ;passamos do fim??
  3774. 0167  JM      170   ;sim!
  3775. 016A  JZ      170   ;sim!
  3776. 016D  JMP     13B   ;ainda na~o.
  3777. 0170  MVI     C,10  ;close.
  3778. 0172  LXI     D,5C
  3779. 0175  CALL    5
  3780. 0178  RET
  3781. 0179
  3782. -G100,179           ;executando o programa...
  3783. -                   ;                       ... re-boot.
  3784.  
  3785.      Agora  deve  haver um arquivo  KERMIT.HEX no  seu  dis
  3786. quete.   Carregue-o  usando  o comando LOAD para produzir  o 
  3787. arquivo  KERMIT.COM,  que deve ser uma versa~o executa'vel  do  
  3788. KERMIT.   Observe  que  os   arquivos  .HEX  do   CP/M   tem  
  3789. checksums   em  cada  linha.  Se  houve  qualquer  erro   de 
  3790. transmissa~o  durante o processo  de baixa'-lo,  o  loader  do 
  3791. CP/M   notara'  um   checksum inva'lido  e dara'  uma  mensagem  
  3792. tipo  "ILLEGAL FORMAT".  Se  for este o seu caso,  repita  o 
  3793. processo ou ajeite as coisas localmente.
  3794.  
  3795.      VOCE^ DEVE TER, AGORA, UMA VERSA~O FUNCIONANDO DO KERMIT. 
  3796.  
  3797.      PARABE'NS!
  3798.      ---------
  3799.  
  3800.  
  3801.  
  3802. .cp3
  3803. 7.5.2. Construindo um KERMIT
  3804.  
  3805.      O   fonte para  o KERMIT-80  deve estar  disponi'vel  no  
  3806. seu host.  Foi escrito usando-se  mneumo^nicos de   Assembler 
  3807. 8080,   porisso  podera'  ser montado na maioria dos 8080's e 
  3808. Z80's  usando-se o montador fornecido com o sistema   opera
  3809. cional,  armando   as chaves  de montagem   desejadas   como 
  3810. explicado  abaixo.  Se voce^ na~o o tem,  tente pega'-lo de seu 
  3811. host atrave's do procedimento explicado acima.
  3812.  
  3813.      Um  cross-assembler fornecido roda no DEC-10 e  DEC-20, 
  3814. chamado MAC80, de  Bruce  Tanner (Cerritos  College)  e pode  
  3815. ser   usado  para   montar o KERMIT-80 como  mostrado  neste 
  3816. exemplo (para TOPS-10):
  3817.  
  3818.      Copie  o fonte  do KERMIT para  o seu  direto'rio   como 
  3819. KERMIT.M80.   As regras  para atribuic,a~o  de nomes do  TOPS-
  3820. 10  tem  que  ser obedecidas.  O fonte tem um nome  do  tipo 
  3821. CPMK38.M80 (KERMIT para CP/M, versa~o 3.8).
  3822.  
  3823.      Edite  o  KERMIT.M80  para armar a  chave  de  montagem 
  3824. condicional para a sua  ma'quina. Elas esta~o bem no princi'pio  
  3825. do  arquivo.  A que se refere a sua ma'quina deve ser  armada 
  3826. para TRUE e todas as outras para FALSE. As chaves atualmente 
  3827. disponi'veis sa~o:
  3828.  
  3829. BRAIN  SUPERBRAIN (INTERTEC)
  3830. HEATH  H89 (HEATH/ZENITH)
  3831. Z100   Z100 (ZENITH), rodando sob CP/M
  3832. OSI    OHIO SCIENTIFIC
  3833. ROBIN  "ROBIN" (VT18X, da DEC)
  3834. DMII   DECMATE II WORD PROCESSOR, sob CP/M
  3835. VECTOR VECTOR GRAPHICS
  3836. GENER  qualquer sistema CP/M que implemente o IOBYTE
  3837. APPLE  Apple II, com Z80-SOFTCARD e MICROMODEM II, da HAYES
  3838. TRS80  TRS-80 II, sob o CP/M 2.25 da LIFEBOAT
  3839. OSBRN1 OSBORNE-1
  3840. TELCON ZORBA (TELCON)
  3841. KPII   KAYPRO-II
  3842. CPM3   CP/M Plus (3.0)
  3843.  
  3844.      Leia  o fonte.  Podem  haver novas  chaves,   inclui'das 
  3845. depois que  este manual ficou pronto.
  3846.  
  3847.      A armac,a~o do "IBM-FLAG" depende da instalac,a~o.  Na ver
  3848. sa~o  distribui'da  pela  CUCCA,  arma  "half  duplex",  "line 
  3849. handshaking"  (usando CONTROL-Q  como caracter de virada  da 
  3850. linha) liga o eco local e a paridade em MARK.  Fac,a as alte
  3851. rac,o~es adequadas para o seu uso.
  3852.  
  3853.      O default  para os arquivos  e'  ASCII.  Isto  significa  
  3854. que   quando  arquivos   de  texto   sa~o   transmitidos   de  
  3855. sistemas   CP/M,   na~o  sera~o transmitidos caracteres extras 
  3856. depois da marca de fim de arquivo mas  os arquivos  bina'rios 
  3857. podem  ser truncados erroneamente  se o usua'rio na~o se  lem
  3858. brar  de armar (com o  comando SET FILE) para   bina'rio,  de 
  3859. modo a  na~o perder  dados ao transmitir  este tipo de arqui
  3860. vo  (mas arquivos de texto normalmente tera~o lixo depois  do 
  3861. fim, ainda no u'ltimo bloco).
  3862.  
  3863.      Rode o MAC80:
  3864.  
  3865.      @MAC80
  3866.      *KERMIT,=KERMIT
  3867.      *^Z
  3868.  
  3869.      Como resultado, voce^ tera' KERMIT.HEX no seu direto'rio.
  3870.  
  3871.      Use   o  KERMIT  para  transferir KERMIT.HEX   para   o  
  3872. seu  micro (ou baixe-o, usando o programa listado acima.
  3873.  
  3874.      No micro,  de^ o  comando CP/M: "A>LOAD KERMIT"  e tera', 
  3875. pronto  para ser executado, o KERMIT.COM.
  3876.  
  3877.  
  3878. .cp3
  3879. 7.5.3 O KERMIT-80 gene'rico
  3880.  
  3881.      Se  o  seu sistema CP/M implementa redirecionamento  de 
  3882. I/O atrave's  do mecanismo  (opcional)  de  IOBYTE, provavel
  3883. mente   voce^   podera'  rodar o  KERMIT  gene'rico  nele,  com 
  3884. poucas  ou  nenhuma alterac,a~o.  O IOBYTE standard do CP/M  e' 
  3885. armado como descrito abaixo.
  3886.  
  3887.  
  3888. .cp9
  3889. Associac,o~es feitas atrave's do I/O Byte
  3890. (4 campos de 2 bits, enderec,o 3)
  3891.  
  3892. bits 6 e 7    (LIST)
  3893. ----------
  3894.          0    TTY:
  3895.          1    CRT:
  3896.          2    LPT:
  3897.          3    UL1:
  3898.  
  3899. .cp6
  3900. bits 4 e 5    (PUNCH)
  3901. ----------
  3902.          0    TTY:
  3903.          1    PUN:
  3904.          2    UP1:
  3905.          3    UP2:
  3906.  
  3907. .cp6
  3908. bits 2 e 3    (READER)
  3909. ----------
  3910.          0    TTY:
  3911.          1    RDR:
  3912.          2    UR1:
  3913.          3    UR2:
  3914.  
  3915. .cp6
  3916. bits 0 e 1    (CONSOLE)
  3917. ----------
  3918.          0    TTY:
  3919.          1    CRT:
  3920.          2    BAT: (use reader=input, list=output)
  3921.          3    UC1:
  3922.  
  3923. (Aqui, o bit 0 e' o menos significativo, "direita".)
  3924.  
  3925.      O  redirecionamento  de  I/O e'  conseguido  trocando  o 
  3926. IOBYTE entre dois valores:  "BATCH I/O"  e "NORMAL  I/O". No  
  3927. modo  "normal",   o teclado e' definido como sendo o console; 
  3928. no  modo  "batch",  o console sera' a   porta  serial.   Este  
  3929. chaveamento  e'   necessa'rio porque  o  console  e'   o  u'nico 
  3930. dispositivo  que pode  ser testado  para se  saber se  algum 
  3931. input  esta' disponi'vel  mas o KERMIT  deve mudar de  um para 
  3932. outro  (teclado e porta serial) para procurar inputs.   Aqui 
  3933. esta~o as definic,o~es  de modo de  I/O default e batch  usadas 
  3934. no KERMIT-80 gene'rico "padra~o":
  3935.  
  3936. DEFIO   EQU    095H  ;I/O BYTE CON=CRT, LIST=LPT, READER=RDR
  3937. BATIO   EQU    056   ;I/O BYTE CON=BAT, LIST=CRT, READER=RDR
  3938.  
  3939.      Outros sistemas podem  ter outros dispositivos  lo'gicos 
  3940. que   apontem para  a  porta  serial.  Em  tais  casos  voce^  
  3941. precisara'   redefinir tais si'mbolos para  que apontem   para 
  3942. os   dispositivos  certos  e re-montar  o programa   (com  a 
  3943. chave  de montagem GENER armada em TRUE,  todas as outras em 
  3944. FALSE).
  3945. .pa
  3946. .he                              O conjunto de caracteres ASCII
  3947. Ape^ndice A: O conjunto de caracteres ASCII (ANSI X3.4-1968)
  3948.  
  3949.      Existem   128 caracteres no ASCII   (American  national 
  3950. Standard  Code for Information Interchange).  Os  caracteres 
  3951. esta~o  listados  em  ordem  dos valores  ASCII;  as  colunas 
  3952. aparecem indicando:
  3953.  
  3954.    ASCII (DEC/OCT/HEX) com as representac,o~es decimal,  octal 
  3955.               e hexadecimal;
  3956.    EBCDIC HEX equivalente EBCDIC para a conversa~o do KERMIT
  3957.    CHAR       nome ou representac,a~o gra'fica do caracter
  3958.    OBS.       descric,a~o do caracter
  3959.  
  3960.      O    primeiro   grupo  consiste   de    caracteres   de  
  3961. controle,  na~o imprimi'veis:
  3962.  
  3963. .....ASCII.....   EBCDIC
  3964. DEC   OCT   HEX    HEX     CHAR   OBS.
  3965.  
  3966. 000   000    00     00     NUL    ^@, NULL, IDLE
  3967. 001   001    01     01     SOH    ^A, START OF HEADING
  3968. 002   002    02     02     STX    ^B, START OF TEXT
  3969. 003   003    03     03     ETX    ^C, END OF TEXT
  3970. 004   004    04     37     EDT    ^D, END OF TRANSM.
  3971. 005   005    05     2D     ENQ    ^E, ENQUIRY
  3972. 006   006    06     2E     ACK    ^F, ACKNOWLEDGE
  3973. 007   007    07     2F     BEL    ^G, BELL
  3974. 008   010    08     16     BS     ^H, BACK-SPACE
  3975. 009   011    09     05     HT     ^I, HORIZONTAL TAB
  3976. 010   012    0A     25     LF     ^J, LINE-FEED
  3977. 011   013    0B     0B     VT     ^K, VERTICAL TAB
  3978. 012   014    0C     0C     FF     ^L, FORM-FEED
  3979. 013   015    0D     0D     CR     ^M, CARRIAGE RETURN
  3980. 014   016    0E     0E     SO     ^N, SHIFT-OUT
  3981. 015   017    0F     0F     SI     ^O, SHIFT-IN
  3982. 016   020    10     10     DLE    ^P, DATA LINK ESCAPE
  3983. 017   021    11     11     DC1    ^Q, DEV. CNTRL 1,XON
  3984. 018   022    12     12     DC2    ^R, DEV. CNTRL 2
  3985. 019   023    13     13     DC3    ^S, DEV. CNTRL 3,XOF
  3986. 020   024    14     3C     DC4    ^T, DEV. CNTRL 4
  3987. 021   025    15     3D     NAK    ^U, NEGATIVE ACK.
  3988. 022   026    16     32     SYN    ^V, SYNCHRONOUS IDLE
  3989. 023   027    17     26     ETB    ^W, END OF TX BLOCK
  3990. 024   030    18     18     CAN    ^X, CANCEL
  3991. 025   031    19     19     EM     ^Y, END OF MEDIUM
  3992. 026   032    1A     3F     SUB    ^Z, SUBSTITUTE
  3993. 027   033    1B     27     ESC    ^[, ESCAPE, PREFIX
  3994. 028   034    1C     1C     FS     ^\, FILE SEPARATOR
  3995. 029   035    1D     1D     GS     ^], GROUP SEPARATOR
  3996. 030   036    1E     1E     RS     ^^, RECORD SEPARATOR
  3997. 031   037    1F     1F     US     ^_, UNIT SEPARATOR
  3998.  
  3999.       Os quatro u'ltimos  sa~o normalmente  associados com  as 
  4000. verso~es   de  controle  de   barra-inversa,  fecha-colchete,  
  4001. circunflexo  e sublinhado, respectivamente mas alguns termi
  4002. nais  na~o transmitem tais caracteres  de controle.
  4003.       Os caracteres a seguir sa~o imprimi'veis:
  4004.  
  4005.  
  4006. em primeiro lugar, alguns caracteres de pontuac,a~o:
  4007.  
  4008. .....ASCII.....   EBCDIC
  4009. DEC   OCT   HEX    HEX     CHAR   OBS.
  4010.  
  4011. 032   040    20     40     SP     espac,o
  4012. 033   041    21     5A     !
  4013. 034   042    22     7F     "
  4014. 035   043    23     7B     #
  4015. 036   044    24     5B     $
  4016. 037   045    25     6C     %
  4017. 038   046    26     50     &
  4018. 039   047    27     7D     '
  4019. 040   050    28     4D     (
  4020. 041   051    29     5D     )
  4021. 042   052    2A     5C     *
  4022. 043   053    2B     4E     +
  4023. 044   054    2C     6B     ,
  4024. 045   055    2D     60     -
  4025. 046   056    2E     4B     .
  4026. 047   057    2F     61     /
  4027.  
  4028.  
  4029. e, agora, os caracteres nume'ricos:
  4030.  
  4031. .....ASCII.....   EBCDIC
  4032. DEC   OCT   HEX    HEX     CHAR   OBS.
  4033.  
  4034. 048   060    30     F0     0
  4035. 049   061    31     F1     1
  4036. 050   062    32     F2     2
  4037. 051   063    33     F3     3
  4038. 052   064    34     F4     4
  4039. 053   065    35     F5     5
  4040. 054   066    36     F6     6
  4041. 055   067    37     F7     7
  4042. 056   070    38     F8     8
  4043. 057   071    39     F9     9
  4044.  
  4045.  
  4046. mais caracteres de pontuac,a~o:
  4047.  
  4048. .....ASCII.....   EBCDIC
  4049. DEC   OCT   HEX    HEX     CHAR   OBS.
  4050.  
  4051. 058   072    3A     7A     :
  4052. 059   073    3B     5E     ;
  4053. 060   074    3C     4C     <
  4054. 061   075    3D     7E     =
  4055. 062   076    3E     6E     >
  4056. 063   077    3F     6F     ?
  4057. 064   100    40     7C     @
  4058.  
  4059.  
  4060.  
  4061. caracteres alfabe'ticos maiu'sculos:
  4062.  
  4063. .....ASCII.....   EBCDIC
  4064. DEC   OCT   HEX    HEX     CHAR   OBS.
  4065.  
  4066. 065   101    41     C1     A
  4067. 066   102    42     C2     B
  4068. 067   103    43     C3     C
  4069. 068   104    44     C4     D
  4070. 069   105    45     C5     E
  4071. 070   106    46     C6     F
  4072. 071   107    47     C7     G
  4073. 072   110    48     C8     H
  4074. 073   111    49     C9     I
  4075. 074   112    4A     D1     J
  4076. 075   113    4B     D2     K
  4077. 076   114    4C     D3     L
  4078. 077   115    4D     D4     M
  4079. 078   116    4E     D5     N
  4080. 079   117    4F     D6     O
  4081. 080   120    50     D7     P
  4082. 081   121    51     D8     Q
  4083. 082   122    52     D9     R
  4084. 083   123    53     E2     S
  4085. 084   124    54     E3     Q
  4086. 085   125    55     E4     U
  4087. 086   126    56     E5     V
  4088. 087   127    57     E6     W
  4089. 088   130    58     E7     X
  4090. 089   131    59     E8     Y
  4091. 090   132    5A     E9     Z
  4092.  
  4093.  
  4094. mais caracteres de pontuac,a~o:
  4095.  
  4096. .....ASCII.....   EBCDIC
  4097. DEC   OCT   HEX    HEX     CHAR   OBS.
  4098.  
  4099. 091   133    5B     AD     [      abre-colchete
  4100. 092   134    5C     E0     \      barra-invertida
  4101. 093   135    5D     BD     ]      fecha-colchete
  4102. 094   136    5E     5F     ^      circunflexo
  4103. 095   137    5F     6D     _      sublinhado
  4104. 096   140    60     79     `      acento grave
  4105. .pa
  4106. caracteres alfabe'ticos minu'sculos:
  4107.  
  4108. .....ASCII.....   EBCDIC
  4109. DEC   OCT   HEX    HEX     CHAR   OBS.
  4110.  
  4111. 097   141    61     81     a
  4112. 098   142    62     82     b
  4113. 099   143    63     83     c
  4114. 100   144    64     84     d
  4115. 101   145    65     85     e
  4116. 102   146    66     86     f
  4117. 103   147    67     87     g
  4118. 104   150    68     88     h
  4119. 105   151    69     89     i
  4120. 106   152    6A     91     j
  4121. 107   153    6B     92     k
  4122. 108   154    6C     93     l
  4123. 109   155    6D     94     m
  4124. 110   156    6E     95     n
  4125. 111   157    6F     96     o
  4126. 112   160    70     97     p
  4127. 113   161    71     98     q
  4128. 114   162    72     99     r
  4129. 115   163    73     A2     s
  4130. 116   164    74     A3     t
  4131. 117   165    75     A4     u
  4132. 118   166    76     A5     v
  4133. 119   167    77     A6     w
  4134. 120   170    78     A7     x
  4135. 121   171    79     A8     y
  4136. 122   172    7A     A9     z
  4137.  
  4138.  
  4139. mais pontuac,a~o:
  4140.  
  4141. .....ASCII.....   EBCDIC
  4142. DEC   OCT   HEX    HEX     CHAR   OBS.
  4143.  
  4144. 123   173    7B     C0     {      abre-chave
  4145. 124   174    7C     4F     |      barra vertical
  4146. 125   175    7D     D0     }      fecha-chave
  4147. 126   176    7E     7E     ~      til
  4148.  
  4149.  
  4150. e, finalmente, mais um caracter na~o imprimi'vel
  4151.  
  4152. .....ASCII.....   EBCDIC
  4153. DEC   OCT   HEX    HEX     CHAR   OBS.
  4154.  
  4155. 127   177    7F     07     DEL    delete, rubout
  4156. 
  4157.