libcsdbg  1.28
C++ exception (and generic) stack trace debug library
csdbg::sttybuf Class Reference

A buffered output stream for serial interfaces. More...

#include <sttybuf.hpp>

+ Inheritance diagram for csdbg::sttybuf:
+ Collaboration diagram for csdbg::sttybuf:

Public Member Functions

 sttybuf (const i8 *, u32=9600)
 Object constructor. More...
 
 sttybuf (const sttybuf &)
 Object copy constructor. More...
 
virtual ~sttybuf ()
 Object destructor. More...
 
virtual sttybufclone () const
 Object virtual copy constructor. More...
 
virtual const i8devnode () const
 Get the path of the serial interface device node. More...
 
virtual u32 baud () const
 Get the baud rate. More...
 
virtual sttybufset_baud (u32)
 Set the baud rate. More...
 
virtual sttybufoperator= (const sttybuf &)
 Assignment operator. More...
 
virtual bool is_tty () const
 Check if the device node is a terminal. More...
 
virtual sttybufopen ()
 Open the serial interface for output. More...
 
virtual sttybufopen (bool)
 Open the serial interface for output. More...
 
virtual sttybufflush ()
 Flush the buffered data to the serial interface. More...
 
virtual sttybufsync () const
 Commit cached data to the serial interface line. More...
 
virtual sttybufdiscard () const
 Discard the data cached in the serial interface (in-kernel) buffers. More...
 
- Public Member Functions inherited from csdbg::streambuf
 streambuf ()
 Object default constructor. More...
 
 streambuf (const streambuf &)
 Object copy constructor. More...
 
virtual ~streambuf ()=0
 To be implemented. More...
 
virtual i32 handle () const
 Get the handle. More...
 
virtual bool is_opened () const
 Check if the stream is opened for output. More...
 
virtual streambufoperator= (const streambuf &)
 Assignment operator. More...
 
virtual streambufclose ()
 Close the stream. More...
 
virtual streambuflock () const
 Lock the stream (exclusively) More...
 
virtual streambufunlock () const
 Unlock the stream. More...
 
virtual streambufheader ()
 Append LDP headers to the buffer. More...
 
- Public Member Functions inherited from csdbg::string
 string (u32=0)
 Object constructor. More...
 
 string (const i8 *,...)
 Object constructor. More...
 
 string (const string &)
 Object copy constructor. More...
 
virtual ~string ()
 Object destructor. More...
 
virtual const i8cstr () const
 Get the C-string equivalent. More...
 
virtual u32 length () const
 Get the character count. More...
 
virtual u32 bufsize () const
 Get the buffer size. More...
 
virtual i8at (u32)
 Get/set the character at an offset. More...
 
virtual stringset (const i8 *,...)
 Fill with a printf-style format C-string expanded with the values of a variable argument list. More...
 
virtual stringset (const string &)
 Copy a string. More...
 
virtual stringoperator= (const string &)
 Assignment operator. More...
 
virtual stringoperator+= (const string &)
 Compound addition-assignment operator (append) More...
 
virtual i8operator[] (u32)
 Subscript operator. More...
 
virtual u32 available () const
 Get the available buffer size, the number of characters that can be appended without reallocation. More...
 
virtual stringshred (u8=0)
 Fill the whole buffer with a constant byte. More...
 
virtual stringclear ()
 Clear contents. More...
 
virtual stringappend (const string &)
 Append a string. More...
 
virtual stringappend (const i8 *,...)
 Append a printf-style format C-string expanded with the values of a variable argument list. More...
 
virtual stringappend (i8)
 Append a character. More...
 
virtual i32 cmp (const string &, bool=false) const
 Compare to another string. More...
 
virtual bool match (const string &, bool=false) const
 Match against a POSIX extended regular expression. More...
 
virtual stringtrim (i32=0)
 Remove leading and/or trailing whitespace characters. More...
 
virtual stringinsert (u32, const string &)
 Insert a string at a specified position. More...
 
virtual stringinsert (u32, const i8 *,...)
 Insert a printf-style format C-string expanded with the values of a variable argument list, at a specified position. More...
 
virtual chain< string > * split (const string &, bool=true, bool=false) const
 Tokenize using a POSIX extended regular expression. More...
 
- Public Member Functions inherited from csdbg::object
virtual ~object ()=0
 To be implemented. More...
 
virtual const i8class_name () const
 Query the class name of an object descending from csdbg::object. More...
 

Static Public Member Functions

static u32 translate_baud (u32)
 Translate a number to a baud rate as defined in termios.h. More...
 

Protected Member Functions

virtual sttybufconfig () const
 Configure the serial interface. More...
 
- Protected Member Functions inherited from csdbg::string
virtual stringmemalign (u32, bool=false)
 Allocate aligned memory, mandate a minimum buffer size. More...
 
virtual stringformat (const i8 *, va_list)
 Fill with a printf-style format C-string expanded with the values of a variable argument list. More...
 

Protected Attributes

i8m_devnode
 Device node file (devfs) More...
 
u32 m_baud
 Baud rate. More...
 
- Protected Attributes inherited from csdbg::streambuf
i32 m_handle
 Stream handle (descriptor) More...
 
- Protected Attributes inherited from csdbg::string
i8m_data
 String data. More...
 
u32 m_length
 Character count. More...
 
u32 m_size
 Buffer size. More...
 

Detailed Description

A buffered output stream for serial interfaces.

An sttybuf object is a buffered output stream used to output LDP or generic data to any type of serial interface. The interfaces are configured for 8N1 transmition, the baud rate is configurable (throughout a session). The class is not thread safe, the caller must implement thread synchronization. Basic stream locking methods are inherited from csdbg::streambuf

See Also
5.4 LDP (Libcsdbg Debug Protocol)
5.5.3 Using csdbg::sttybuf
Test:
Test all class and streambuf superclass methods

Definition at line 28 of file sttybuf.hpp.


The documentation for this class was generated from the following files: