CeDOS - kernel/drivers/serial_console.c

kernel/drivers/serial_console.c (view raw)

#include <stddef.h>

#include "assembly.h"
#include "drivers/console.h"

#define SERIAL_PORT (0x3F8)

int serial_con_init(void);
void serial_con_write_c(const char);
void serial_con_write_n(const char *, uint32_t);

CON_DRIVER serial_con = {
	.name = "Serial console",
	.init = serial_con_init,
	.write_c = serial_con_write_c,
	.write_n = serial_con_write_n
};

int serial_con_init(void) {
	return 0;
}

void serial_con_write_c(const char c) {
	outb(c, SERIAL_PORT);
}

void serial_con_write_n(const char *string, uint32_t num) {
	for (size_t i = 0; i < num; i++) {
		outb(string[i], SERIAL_PORT);
	}
}