Console.cpp 682 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "Console.h"
  2. #include "VGA.h"
  3. static Console* s_the;
  4. Console& Console::the()
  5. {
  6. return *s_the;
  7. }
  8. Console::Console()
  9. {
  10. s_the = this;
  11. }
  12. Console::~Console()
  13. {
  14. }
  15. ssize_t Console::read(byte* buffer, size_t bufferSize)
  16. {
  17. // FIXME: Implement reading from the console.
  18. // Maybe we could use a ring buffer for this device?
  19. // A generalized ring buffer would probably be useful.
  20. return 0;
  21. }
  22. extern int kprintfFromConsole(const char*, ...);
  23. ssize_t Console::write(const byte* data, size_t size)
  24. {
  25. if (!size)
  26. return 0;
  27. for (size_t i = 0; i < size; ++i) {
  28. kprintfFromConsole("%c", data[i]);
  29. }
  30. return 0;
  31. }