00001 00002 #ifndef TTY_SRV_HH 00003 #define TTY_SRV_HH 00004 00005 #include "cms_srv.hh" /* class CMS_SERVER_REMOTE_PORT */ 00006 #include "linklist.hh" /* class RCS_LINKED_LIST */ 00007 #include "rcs_defs.hh" /* EXTERN_C_STD_HEADERS */ 00008 #include "sokintrf.h" // fd_set, sockaddr_in, timeval 00009 #include "ttyintf.hh" 00010 #include "rem_msg.hh" 00011 00012 #ifdef EXTERN_C_STD_HEADERS 00013 extern "C" 00014 { 00015 #endif 00016 00017 #include <string.h> /* memset(), strerror() */ 00018 00019 #ifndef UNDER_CE 00020 #include <errno.h> /* errno */ 00021 #include <signal.h> // SIGPIPE, signal() 00022 #endif 00023 00024 #ifdef EXTERN_C_STD_HEADERS 00025 } 00026 #endif 00027 00028 #include "dbg_mem.h" /* DEBUG_FREE,DEBUG_MALLOC,DEBUG_CALLOC */ 00029 00030 #define MAX_TTY_BUFFER_SIZE 16 00031 class CLIENT_TTY_PORT; 00032 00033 class CMS_SERVER_REMOTE_TTY_PORT:public CMS_SERVER_REMOTE_PORT 00034 { 00035 public: 00036 CMS_SERVER_REMOTE_TTY_PORT (CMS_SERVER * _cms_server); 00037 virtual ~ CMS_SERVER_REMOTE_TTY_PORT (); 00038 int accept_local_port_cms (CMS *); 00039 void run (); 00040 void register_port (); 00041 void unregister_port (); 00042 double dtimeout; 00043 protected: 00044 RCS_SERIAL_PORT_HANDLE handle; 00045 void handle_request (); 00046 REMOTE_CMS_REQUEST *request; 00047 char temp_buffer[0x2000]; 00048 char devName[80]; 00049 int serial_number; 00050 rcs_serial_port_setting settings; 00051 }; 00052 00053 00054 class CLIENT_TTY_PORT 00055 { 00056 public: 00057 CLIENT_TTY_PORT (); 00058 ~CLIENT_TTY_PORT (); 00059 long serial_number; 00060 int errors, max_errors; 00061 }; 00062 00063 00064 #endif /* TTY_SRV_HH */