Main Page   Class Hierarchy   Compound List   File List   Compound Members  

posix_qextserialport.h

00001 #ifndef _POSIX_QEXTSERIALPORT_H_
00002 #define _POSIX_QEXTSERIALPORT_H_
00003 
00004 #include <stdio.h>
00005 #include <termios.h>
00006 #include <errno.h>
00007 #include <unistd.h>
00008 #include <sys/time.h>
00009 #include <sys/ioctl.h>
00010 #include <sys/select.h>
00011 #include "qextserialbase.h"
00012 
00013 /*ensure handling of CRTSCTS constant*/
00014 #ifdef CNEW_RTSCTS
00015 #ifndef CRTSCTS
00016 #define CRTSCTS CNEW_RTSCTS
00017 #endif  //CRTSCTS
00018 #else 
00019 #ifndef CRTSCTS
00020 #define CRTSCTS     0
00021 #endif  //CRTSCTS
00022 #endif  //CNEW_RTSCTS
00023 
00024 //weird scoping issue with gcc 2.95 - this should fix it
00025 #ifdef QT_LARGE_FILE_SUPPORT
00026     typedef off_t Offset;
00027 #else
00028     typedef Q_ULONG Offset;
00029 #endif
00030 
00031 class Posix_QextSerialPort:public QextSerialBase {
00032 public:
00033     Posix_QextSerialPort();           
00034     Posix_QextSerialPort(const Posix_QextSerialPort& s);
00035     Posix_QextSerialPort(const char* name);
00036     Posix_QextSerialPort(const PortSettings& settings);
00037     Posix_QextSerialPort(const char* name, const PortSettings& settings);
00038     Posix_QextSerialPort& operator=(const Posix_QextSerialPort& s);
00039     virtual ~Posix_QextSerialPort();
00040     virtual bool open(int mode=0);
00041     virtual void close();
00042     virtual void flush();
00043     virtual Offset size() const;
00044     virtual int getch();
00045     virtual int putch(int);
00046     virtual int ungetch(int);
00047     virtual void setFlowControl(FlowType);
00048     virtual void setParity(ParityType);
00049     virtual void setDataBits(DataBitsType);
00050     virtual void setStopBits(StopBitsType);
00051     virtual void setBaudRate(BaudRateType);
00052     virtual void setDtr(bool set=true);
00053     virtual void setRts(bool set=true);
00054     virtual unsigned long lineStatus(void);
00055     virtual int bytesWaiting();
00056     virtual void translateError(unsigned long);
00057     virtual void setTimeout(unsigned long=0, unsigned long=0);
00058 
00059 #ifdef QTVER_PRE_30
00060     virtual Q_LONG readBlock(char *data, uint maxlen);
00061     virtual Q_LONG writeBlock(const char *data, uint len);
00062 #else
00063     virtual Q_LONG readBlock(char *data, unsigned long maxlen);
00064     virtual Q_LONG writeBlock(const char *data, unsigned long len);
00065 #endif
00066 
00067 protected:
00068     struct timeval Posix_Timeout;
00069     struct timeval Posix_Copy_Timeout;
00070     QFile* Posix_File;
00071     struct termios Posix_CommConfig;
00072     void construct(void);
00073 };
00074 
00075 #endif

Generated on Sat Jun 15 15:43:04 2002 for QextSerialPort by doxygen1.2.13.1 written by Dimitri van Heesch, © 1997-2001