⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1043.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 4 页
字号:
      data.  In this case, field size is the data string length.  The
      data string is terminated by the GO-AHEAD or any DET subcommand,
      except the REPEAT subcommand.

      There are no restrictions on attribute combinations that might be
      applied to a field even though some combinations may not be
      supported by terminal hardware.  The terminal implementation
      should display the field with a "reasonable" combination of
      attributes.  There is an error code that might be returned when an
      "unsupported combination of format attributes" is detected.  It is
      not clear what the application should do about the error.  In any
      event, this condition should not provoke session termination.

      Field contents (data) are restricted to printable ASCII characters
      and "BELL" (codes 32 through 126 and 7 decimal).  It is the
      responsibility of the application implementation to properly
      translate carriage returns, line feeds, tabs, etc.  to the
      appropriate DET subcommands.

      The maximum number of fields a screen might contain is the screen



Yasuda & Thompson                                              [Page 20]

RFC 1043              Data Entry Terminal - DODIIS         February 1988


      size in characters (the product of characters per line and lines
      per screen).

      Fields may not overlap.  That is, a new field may not start or end
      within a previously defined field.  However, overwriting of a
      field to change its attributes or contents is permitted.

      There are no restrictions on the order in which a form is built
      (e.g., left-to-right and top-to-bottom); the terminal
      implementation must be prepared to handle any order.  Terminal
      implementations are encouraged to display data as it arrives to
      accommodate applications that persist in displaying status updates
      on the task(s) they are performing.

      If an application elects to modify a user edited form, it must
      properly position the cursor making no assumptions about where the
      user might have left the cursor.  Further it must exactly
      overwrite the existing fields.

      When form construction is complete, the application indicates its
      response requirements by sending the appropriate transmit
      subcommand.  It may send TRANSMIT-SCREEN, TRANSMIT-UNPROTECTED, or
      TRANSMIT-MODIFIED to request data and/or it may send READ-CURSOR
      to request cursor position.  TRANSMIT-MODIFIED should be used
      whenever possible to minimize the volume of data transmitted
      between user and server hosts.

   Form response

      A form response is generated by the terminal implementation when
      the user signals "form-complete" or enters an enabled function
      key.  The data returned are determined by the application through
      the transmit subcommands.  If no transmit subcommand was sent the
      Modified and Protection attributes are used to determine an
      implied transmit subcommand.  If the Modified attribute has been
      negotiated, assume TRANSMIT-MODIFIED.  If the Protection attribute
      has been negotiated but the Modified has not, assume
      TRANSMITUNPROTECTED.  If neither has been negotiated, assume
      TRANSMITSCREEN.  (The intent is to achieve transmission efficiency
      by returning the smallest amount of data permitted by the in-force
      DET attributes.)

                                   CAUTION:

              With TRANSMIT-MODIFIED the terminal implementation
              must return all fields marked with the Modified
              attribute in addition to fields actually modified by
              the terminal user.



Yasuda & Thompson                                              [Page 21]

RFC 1043              Data Entry Terminal - DODIIS         February 1988


      Returned fields are identified and delimited using the
      DATATRANSMIT and/or FIELD-SEPARATOR subcommands.  The DATA-
      TRANSMIT subcommand indicates the cursor address of the field that
      follows it and there are no restrictions on the order in which
      fields are returned.  The FIELD-SEPARATOR subcommand conveys
      left-to-right and top-to-bottom field ordering.  Data not preceded
      by one of these subcommands is assumed to be the first unprotected
      field in the form.  A FIELD-SEPARATOR followed by FIELD-SEPARATOR
      indicates a field was unchanged and not returned.

      Unless otherwise restricted by Numeric-only or Alphabetic-only
      attributes, data entered into unprotected fields is restricted to
      the printable ASCII characters and "BELL" (codes 32 through 126
      and 7 decimal); no other characters are permitted.

   Function keys

      By general agreement, DODIIS terminal implementations will support
      64 function keys (key values 0 through 63).  Information on
      mapping function keys to application functions is the
      responsibility of the application and should be provided to the
      terminal user in the form of user documentation.

      The application enables and disables the function keys and
      indicates its form response requirements by sending the
      ENABLEFUNCTION-KEY subcommand.  The terminal implementation
      validates function key selections based on information received in
      the ENABLE-FUNCTION-KEY bitmap.  When an enabled function key is
      entered, the terminal returns a form response (if indicated in the
      bitmap), a FUNCTION-KEY subcommand, and the GO-AHEAD.

      Virtual function keys are part of the DET's virtual keyboard and
      are "locked" when the application has the GO-AHEAD.  Since the
      terminal sends the GO-AHEAD when a function key is entered,
      entering a function key "re-locks" all function keys until the
      GO-AHEAD is returned.

   Field selection

      Any character within a field having the Selectable attribute is a
      candidate for selection.  When selection is made, the terminal
      returns a SELECTED-FIELD subcommand identifying the character
      position selected.  Multiple selections are permitted; however,
      the ordering of the selections need not be preserved.  Field
      selection does not cause the GO-AHEAD to be sent.  The GO-AHEAD
      must be sent as a result of another user action such as a function
      key entry or "form-complete" indication.  Field selection is
      disabled when the application has the GO-AHEAD.



Yasuda & Thompson                                              [Page 22]

RFC 1043              Data Entry Terminal - DODIIS         February 1988


   Out-of-context data

      The out-of-context-data subcommands identify data that is clearly
      not in the context of the form interaction.  It is a convenient
      not in the mechanism for sending ARE-YOU-THERE responses or host
      advisory messages to the user without disturbing the DET's virtual
      screen or altering the context of the form interaction.

      The application may send out-of-context data at anytime.  The data
      must be preceded by the START-OUT-OF-CONTEXT-DATA subcommand and
      followed immediately by the END-OUT-OF-CONTEXT-DATA subcommand.
      The out-of-context data should contain carriage returns and line
      feeds to facilitate formatting.  The sender should limit the
      amount of data sent, since most terminal implementations must
      buffer the data prior to displaying it.  The terminal
      implementation should display the data to the user in a timely
      fashion.  The data is for display only, no user response is
      required, and there is no mechanism for user response.

   Line Discipline

      The subject of DET and line discipline (controlling the connection
      using the GO-AHEAD) causes a bit of confusion.  The following
      rules apply to GO-AHEAD and the DET option:

         When DET is negotiated, the application assumes the GO-AHEAD.
         GO-AHEAD is never passed implicitly; it is always passed
         explicitly.

         When the application has the GO-AHEAD, the terminal
         implementation may send TELNET commands (INTERRUPT-PROCESS,
         ABORT-OUTPUT, BREAK, and ARE-YOU-THERE).  Nothing else is
         valid.

         When the terminal has the GO-AHEAD, the application may send
         out-of-context data or MOVE-CURSOR and FORMAT-DATA subcommands
         to update protected fields.  Nothing else is valid.  (The
         terminal implementation must display the out-of-context data
         and the field updates as soon as convenient.)

         The terminal implementation sends the GO-AHEAD, without further
         action on the part of the terminal user, when an enabled
         function key or a "form-complete" is entered.

      Since the terminal user must take explicit action to return the
      GO-AHEAD to the application, instances will occur when the user
      has the GO-AHEAD but the application needs it to display a new
      form.  (This is most likely to occur when the user enters an



Yasuda & Thompson                                              [Page 23]

RFC 1043              Data Entry Terminal - DODIIS         February 1988


      INTERRUPT PROCESS.)  When it does occur, the application should
      send an out-of-context-context message requesting the user to
      enter a "form-complete".  If the user cooperates, the application
      can ignore any associated form response and regain control of the
      connection to display its form.

      The line discipline described here is more rigorous than that
      described for NVT in MIL-STD-1782.  These rules apply only when
      operating in DET mode.  At other times, the descriptions contained
      in MIL-STD-1782 apply.  This distinction is necessary to ensure
      interoperability with non-DET implementations of TELNET.

   Standard TELNET control functions

      The TELNET control functions, ERASE CHARACTER and ERASE LINE, are
      NOT required and should not be sent in DET mode.

   Other implementation notes

      a. The DODIIS DET conceptual model does not support character
         editors or basic scrolling applications.

      b. Implementors are cautioned that DET subcommand parameters
         (e.g., facilities maps) may take on the value of the IAC
         character and must be replicated if they are to be properly
         interpreted.

      c. Principle of Robustness:  "Be conservative in what you send; be
         liberal in what you accept from others."






















Yasuda & Thompson                                              [Page 24]

RFC 1043              Data Entry Terminal - DODIIS         February 1988


APPENDIX 1 - DET OPCODES AND SUBCOMMAND SYNTAX.

             OPCODE    SUBCOMMAND SYNTAX
             ------    -----------------

              1     EDIT-FACILITIES <facility map>
              2     ERASE-FACILITIES <facility map>
              3     TRANSMIT-FACILITIES <facility map>
              4     FORMAT-FACILITIES <facility map 1><facility map 2>
              5     MOVE-CURSOR <x><y>
             12     HOME-CURSOR
             17     READ-CURSOR
             18     CURSOR-POSITION <x><y>
             20     TRANSMIT-SCREEN
             21     TRANSMIT-UNPROTECTED
             27     TRANSMIT-MODIFIED
             28     DATA-TRANSMIT <x><y>
             29     ERASE-SCREEN
             35     ERASE-UNPROTECTED
             36     FORMAT-DATA <format map><count>
             37     REPEAT <count><character>
             39     FIELD-SEPARATOR
             40     FUNCTION-KEY <code>
             41     ERROR <cmd><error code>
             42     START-OUT-OF-CONTEXT-DATA
             43     END-OUT-OF-CONTEXT-DATA
             44     ENABLE-FUNCTION-KEYS <key-map>
             45     SELECTED-FIELD <x><y>























Yasuda & Thompson                                              [Page 25]

RFC 1043              Data Entry Terminal - DODIIS         February 1988


APPENDIX 2 - DET ERROR CODES

              1        Facility not previously negotiated.

              2        Illegal subcommand code.

              3        Cursor Address Out of Bounds.

              4        Undefined FUNCTION-KEY value.

              5        Can't negotiate acceptable line width.

              6        Can't negotiate acceptable page length.

              7        Illegal parameter in subcommand.

              8        Syntax error in parsing subcommand.

              9        Too many parameters in subcommand.

             10        Too few parameters in subcommand.

             11        Undefined parameter value.

             12        Unsupported combination of Format Attributes.

             13        Invalid field - overlap detected.
























Yasuda & Thompson                                              [Page 26]


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -