The Pedigree Project
0.1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
system
kernel
machine
mach_pc
kernel/machine/mach_pc/Serial.h
1
/*
2
* Copyright (c) 2008-2014, Pedigree Developers
3
*
4
* Please see the CONTRIB file in the root of the source tree for a full
5
* list of contributors.
6
*
7
* Permission to use, copy, modify, and distribute this software for any
8
* purpose with or without fee is hereby granted, provided that the above
9
* copyright notice and this permission notice appear in all copies.
10
*
11
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18
*/
19
20
#ifndef MACHINE_X86_SERIAL_H
21
#define MACHINE_X86_SERIAL_H
22
23
#include "pedigree/kernel/machine/Serial.h"
24
#include "pedigree/kernel/processor/IoPort.h"
25
#include "pedigree/kernel/processor/types.h"
26
27
namespace
serial
28
{
29
const
int
rxtx = 0;
30
const
int
inten = 1;
31
const
int
iififo = 2;
32
const
int
lctrl = 3;
33
const
int
mctrl = 4;
34
const
int
lstat = 5;
35
const
int
mstat = 6;
36
const
int
scratch = 7;
37
}
// namespace serial
38
42
class
X86Serial
:
public
Serial
43
{
44
public
:
45
X86Serial
();
46
virtual
void
setBase(uintptr_t nBaseAddr);
47
virtual
~
X86Serial
();
48
49
virtual
char
read();
50
virtual
char
readNonBlock();
51
virtual
void
write(
char
c);
52
53
private
:
54
bool
isConnected();
55
IoPort
m_Port;
56
};
57
58
#endif
X86Serial
Definition:
kernel/machine/mach_pc/Serial.h:42
serial
Definition:
kernel/machine/mach_pc/Serial.h:27
IoPort
I/O port range.
Definition:
IoPort.h:34
Serial
Definition:
include/pedigree/kernel/machine/Serial.h:29
Generated on Fri Jan 24 2020 06:46:15 for The Pedigree Project by
1.8.11