anchor.diff:  (defgeneric send-text    (nvt text)
     (:documentation "Send the ASCII text.
   NVT:  a NETWORK-VIRTUAL-TERMINAL instance.
  -TEXT: a string containing only printable ASCII characters and #\newline."))
  +TEXT: a string containing only printable ASCII characters and #\newline,
  +      or a vector of (unsigned-byte 7) containing only codes
  +      between 32 and 126, or (char-code #\newline).
  +When the TEXT is a string, it's encoded into an ASCII code sequence.
  +When the TEXT is a vector of bytes, it's transmitted as is
  +(its content is still checked, to be conservative).
  +"))
   
   (defgeneric send-control (nvt control)
     (:documentation "Send a function control code.
  
positive.code:             The defaults are for START 0 and for END nil."))
  
  (defgeneric receive-text    (up-sender text)
    (:documentation "Receive some ASCII text
  TEXT: a string containing only printable ASCII characters and #\newline."))
  
  (defgeneric receive-control (up-sender control)
    (:documentation "Receive a function code.
  
negative.code:                      (telnet-error-nvt condition)))))
  
  
  ;; Up interface:
  
  ;; By default the telnet module decodes received ASCII texts.
  ;; However, clients may find it less than optimal.  So we have the
  ;; option to disable this decoding.  In that case, receive-text is
  ;; passed a byte vector instead of a string.
  ;;
  ;; The client may choose to pass strings or byte vectors to SEND-TEXT,
  ;; and the telnet module will encode automatically strings.
  
  ;; Up interface (from up):
  
  (defgeneric send-binary  (nvt bytes)
  