docs: def input_waiting(self):
          """Query the number of bytes waiting to be read from the serial port.
  
          Returns:
              int: number of bytes waiting to be read.
  
          Raises:
              SerialError: if an I/O or OS error occurs.
  
          """
          # Get input waiting
          buf = array.array('I', [0])
          try:
              fcntl.ioctl(self._fd, termios.TIOCINQ, buf, True)
          except OSError as e:
              raise SerialError(e.errno, "Querying input waiting: " + e.strerror)
  
          return buf[0]