Rudiments
|
00001 // Copyright (c) 2004 David Muse 00002 // See the COPYING file for more information. 00003 00004 #ifndef RUDIMENTS_SERIALPORT_H 00005 #define RUDIMENTS_SERIALPORT_H 00006 00007 #include <rudiments/private/serialportincludes.h> 00008 00009 #ifdef RUDIMENTS_NAMESPACE 00010 namespace rudiments { 00011 #endif 00012 00013 class serialportprivate; 00014 00020 class RUDIMENTS_DLLSPEC serialport : public filedescriptor { 00021 public: 00022 00024 serialport(); 00025 00028 serialport(const serialport &s); 00029 00032 serialport &operator=(const serialport &s); 00033 00035 virtual ~serialport(); 00036 00039 bool setProfileNow(serialportprofile *profile); 00040 00043 bool setProfileOnDrain(serialportprofile *profile); 00044 00048 bool setProfileOnFlush(serialportprofile *profile); 00049 00051 bool getProfile(serialportprofile *profile); 00052 00055 bool drain(); 00056 00059 bool flush(); 00060 00062 bool flushInput(); 00063 00066 bool flushOutput(); 00067 00071 bool suspendOutput(); 00072 00075 bool restartOutput(); 00076 00080 bool transmitStop(); 00081 00084 bool transmitStart(); 00085 00095 bool sendBreak(int32_t duration); 00096 00097 #include <rudiments/private/serialport.h> 00098 }; 00099 00100 #ifdef RUDIMENTS_NAMESPACE 00101 } 00102 #endif 00103 00104 #endif