ZeroDevice.cpp 542 B

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