NullDevice.cpp 554 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "NullDevice.h"
  2. #include <AK/StdLibExtras.h>
  3. #include <AK/kstdio.h>
  4. static NullDevice* s_the;
  5. NullDevice& NullDevice::the()
  6. {
  7. ASSERT(s_the);
  8. return *s_the;
  9. }
  10. NullDevice::NullDevice()
  11. : CharacterDevice(1, 3)
  12. {
  13. s_the = this;
  14. }
  15. NullDevice::~NullDevice()
  16. {
  17. }
  18. bool NullDevice::can_read(FileDescriptor&) const
  19. {
  20. return true;
  21. }
  22. ssize_t NullDevice::read(FileDescriptor&, byte*, ssize_t)
  23. {
  24. return 0;
  25. }
  26. ssize_t NullDevice::write(FileDescriptor&, const byte*, ssize_t buffer_size)
  27. {
  28. return min(PAGE_SIZE, buffer_size);
  29. }