45 lines
800 B
C
45 lines
800 B
C
// console.c
|
|
// Author: Josh Holtrop
|
|
// Date: 08/02/04
|
|
|
|
#include "char/console.h"
|
|
#include "hos_defines.h"
|
|
#include "fs/devices.h"
|
|
|
|
console_t *consoles[256];
|
|
|
|
int console_new(minor_t minor)
|
|
{
|
|
if (consoles[minor])
|
|
return -1; // minor already taken
|
|
if ( consoles[minor] = kmalloc(sizeof(console_t)) )
|
|
{
|
|
consoles[minor]->cursorPosition = 0;
|
|
consoles[minor]->width = 80;
|
|
consoles[minor]->height = 25;
|
|
consoles[minor]->attribute = 0x07;
|
|
if (consoles[minor]->buffer = kmalloc(4000))
|
|
{
|
|
memsetw(consoles[minor]->buffer, 0, 2000);
|
|
}
|
|
else
|
|
{
|
|
kfree (consoles[minor]);
|
|
consoles[minor] = 0;
|
|
return -3; // couldn't allocate memory
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
else
|
|
return -2; // couldn't allocate memory
|
|
}
|
|
|
|
void console_outb(minor_t id, int c)
|
|
{
|
|
if (!consoles[minor])
|
|
return;
|
|
|
|
}
|
|
|