OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [tools/] [src/] [librw11/] [Rw11VirtTermTcp.hpp] - Diff between revs 19 and 20

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 19 Rev 20
Line 1... Line 1...
// $Id: Rw11VirtTermTcp.hpp 504 2013-04-13 15:37:24Z mueller $
// $Id: Rw11VirtTermTcp.hpp 508 2013-04-20 18:43:28Z mueller $
//
//
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
//
//
// This program is free software; you may redistribute and/or modify it under
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
// the terms of the GNU General Public License as published by the Free
Line 11... Line 11...
// or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
// for complete details.
// for complete details.
// 
// 
// Revision History: 
// Revision History: 
// Date         Rev Version  Comment
// Date         Rev Version  Comment
 
// 2013-04-20   508   1.0.1  add fSndPreConQue handling
// 2013-03-06   495   1.0    Initial version
// 2013-03-06   495   1.0    Initial version
// 2013-02-13   488   0.1    First draft
// 2013-02-13   488   0.1    First draft
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
 
 
 
 
/*!
/*!
  \file
  \file
  \version $Id: Rw11VirtTermTcp.hpp 504 2013-04-13 15:37:24Z mueller $
  \version $Id: Rw11VirtTermTcp.hpp 508 2013-04-20 18:43:28Z mueller $
  \brief   Declaration of class Rw11VirtTermTcp.
  \brief   Declaration of class Rw11VirtTermTcp.
*/
*/
 
 
#ifndef included_Retro_Rw11VirtTermTcp
#ifndef included_Retro_Rw11VirtTermTcp
#define included_Retro_Rw11VirtTermTcp 1
#define included_Retro_Rw11VirtTermTcp 1
 
 
 
#include <deque>
 
 
#include "Rw11VirtTerm.hpp"
#include "Rw11VirtTerm.hpp"
 
 
namespace Retro {
namespace Retro {
 
 
  class Rw11VirtTermTcp : public Rw11VirtTerm {
  class Rw11VirtTermTcp : public Rw11VirtTerm {
Line 43... Line 46...
 
 
      virtual void  Dump(std::ostream& os, int ind=0, const char* text=0) const;
      virtual void  Dump(std::ostream& os, int ind=0, const char* text=0) const;
 
 
    // statistics counter indices
    // statistics counter indices
      enum stats {
      enum stats {
        kStatNVTListenPoll = Rw11VirtTerm::kDimStat,
        kStatNVTPreConSave = Rw11VirtTerm::kDimStat,
 
        kStatNVTPreConDrop,
 
        kStatNVTListenPoll,
        kStatNVTAccept,
        kStatNVTAccept,
        kStatNVTRcvRaw,
        kStatNVTRcvRaw,
        kStatNVTSndRaw,
        kStatNVTSndRaw,
        kDimStat
        kDimStat
      };
      };
 
 
    protected:
    protected:
 
 
 
      bool          Connected() const;
      int           ListenPollHandler(const pollfd& pfd);
      int           ListenPollHandler(const pollfd& pfd);
      int           RcvPollHandler(const pollfd& pfd);
      int           RcvPollHandler(const pollfd& pfd);
 
 
    // some constants (also defined in cpp)
    // some constants (also defined in cpp)
      static const uint8_t  kCode_NULL =   0;
      static const uint8_t  kCode_NULL =   0;
Line 77... Line 83...
      static const uint8_t  kOpt_ECHO  =   1;
      static const uint8_t  kOpt_ECHO  =   1;
      static const uint8_t  kOpt_SGA   =   3;
      static const uint8_t  kOpt_SGA   =   3;
      static const uint8_t  kOpt_TTYP  =  24;
      static const uint8_t  kOpt_TTYP  =  24;
      static const uint8_t  kOpt_LINE  =  34;
      static const uint8_t  kOpt_LINE  =  34;
 
 
 
      static const size_t   kPreConQue_limit = 65536;
 
 
      enum telnet_state {
      enum telnet_state {
        ts_Closed = 0,
        ts_Closed = 0,
        ts_Listen,
        ts_Listen,
        ts_Stream,
        ts_Stream,
        ts_Iac,
        ts_Iac,
Line 92... Line 100...
    protected:
    protected:
      int           fFdListen;
      int           fFdListen;
      int           fFd;
      int           fFd;
      telnet_state  fState;
      telnet_state  fState;
      bool          fTcpTrace;
      bool          fTcpTrace;
 
      std::deque<uint8_t> fSndPreConQue;
  };
  };
 
 
} // end namespace Retro
} // end namespace Retro
 
 
//#include "Rw11VirtTermTcp.ipp"
#include "Rw11VirtTermTcp.ipp"
 
 
#endif
#endif
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.