The Pedigree Project 0.1
Public Member Functions | List of all members
Serial Class Referenceabstract

#include <Serial.h>

+ Inheritance diagram for Serial:
+ Collaboration diagram for Serial:

Public Member Functions

virtual void setBase (uintptr_t nBaseAddr)=0
 
virtual bool hasData ()=0
 
virtual char read ()=0
 
virtual char readNonBlock ()=0
 
virtual void write (char c)=0
 
virtual void write_str (const char *c)
 
virtual void write_str (const char *c, size_t len)
 
virtual void write_str (const Cord &cord)
 
template<unsigned int N>
void write_str (const StaticCord< N > &cord)
 
template<unsigned int N>
void write_str (const char(&c)[N])
 
template<unsigned int N>
void write_str (const StaticString< N >(&c))
 

Detailed Description

Serial device abstraction.

Definition at line 32 of file include/pedigree/kernel/machine/Serial.h.

Member Function Documentation

◆ setBase()

virtual void Serial::setBase ( uintptr_t  nBaseAddr)
pure virtual
Todo:
make this generic for Mmaped and port IO.

Implemented in VirtSerial, FtdiSerialDevice, HostedSerial, and X86Serial.

◆ write_str() [1/6]

void Serial::write_str ( const char *  c)
virtual

Definition at line 24 of file Serial.cc.

◆ write_str() [2/6]

void Serial::write_str ( const char *  c,
size_t  len 
)
virtual

Definition at line 29 of file Serial.cc.

◆ write_str() [3/6]

template<unsigned int N>
void Serial::write_str ( const char(&)  c[N])
inline

Definition at line 55 of file include/pedigree/kernel/machine/Serial.h.

◆ write_str() [4/6]

void Serial::write_str ( const Cord &  cord)
virtual

Definition at line 34 of file Serial.cc.

◆ write_str() [5/6]

template<unsigned int N>
void Serial::write_str ( const StaticCord< N > &  cord)
inline

Definition at line 47 of file include/pedigree/kernel/machine/Serial.h.

◆ write_str() [6/6]

template<unsigned int N>
void Serial::write_str ( const StaticString< N > &  c)
inline

Definition at line 60 of file include/pedigree/kernel/machine/Serial.h.


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