ZeroDevice.cpp 516 B

1234567891011121314151617181920212223242526272829
  1. #include "ZeroDevice.h"
  2. #include <AK/StdLibExtras.h>
  3. #include <AK/kstdio.h>
  4. ZeroDevice::ZeroDevice()
  5. : CharacterDevice(1, 5)
  6. {
  7. }
  8. ZeroDevice::~ZeroDevice()
  9. {
  10. }
  11. bool ZeroDevice::can_read(FileDescription&) const
  12. {
  13. return true;
  14. }
  15. ssize_t ZeroDevice::read(FileDescription&, u8* buffer, ssize_t size)
  16. {
  17. ssize_t count = min(PAGE_SIZE, size);
  18. memset(buffer, 0, (size_t)count);
  19. return count;
  20. }
  21. ssize_t ZeroDevice::write(FileDescription&, const u8*, ssize_t size)
  22. {
  23. return min(PAGE_SIZE, size);
  24. }